(57)【要約】【課題】  クランク角度センサのセンサ出力に基づくエンジン状態パラメータの算出精度を高めること。【解決手段】  エンジン状態パラメータ算出装置は、エンジンのクランクシャフトに対して設けられるクランク角度センサのセンサ出力の複数時点でのサンプリング値を取得する取得部と、センサ出力が上昇又は下降する区間内の２時点でのサンプリング値に基づいて、センサ出力が所定基準値となる時点である基準時点を算出する基準時点算出部と、基準時点算出部により算出される基準時点に基づいて、エンジンの状態を表すパラメータを算出するパラメータ算出部とを含む。【選択図】図７
2017193991.tif 000002
【特許請求の範囲】
【請求項１】
エンジンのクランクシャフトに対して設けられるクランク角度センサのセンサ出力の複数時点でのサンプリング値を取得する取得部と、
前記センサ出力が上昇又は下降する区間内の２時点での前記サンプリング値に基づいて、前記センサ出力が所定基準値となる時点である基準時点を算出する基準時点算出部と、
前記基準時点算出部により算出される基準時点に基づいて、エンジンの状態を表すパラメータを算出するパラメータ算出部とを含む、エンジン状態パラメータ算出装置。
【請求項２】
前記パラメータは、クランク角度、クランク角速度、クランク角加速度、及びエンジントルクのうちの少なくともいずれか１つを含む、請求項１に記載のエンジン状態パラメータ算出装置。
【請求項３】
前記基準時点算出部は、前記２時点での前記サンプリング値間の差分と、前記２時点間の時間とに基づいて、前記２時点間での前記センサ出力の時間変化率を算出し、前記時間変化率に基づいて、前記基準時点を算出する、請求項１又は２に記載のエンジン状態パラメータ算出装置。
【請求項４】
前記基準時点算出部は、前記２時点のうちの一方の時点での前記サンプリング値と前記所定基準値との差分を前記時間変化率で割ることで得られる時間が、前記一方の時点及び前記基準時点間の時間に一致するように、前記基準時点を算出する、請求項３に記載のエンジン状態パラメータ算出装置。
【請求項５】
前記２時点での前記サンプリング値は、所定値を挟み、前記所定値は、前記センサ出力の最大値未満且つ前記センサ出力の最小値よりも大きい、請求項１〜４のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
【請求項６】
前記所定値は、前記所定基準値と等しい、請求項５に記載のエンジン状態パラメータ算出装置。
【請求項７】
前記基準時点算出部は、前記２時点を含む前記区間内の３時点以上での前記サンプリング値に基づいて、前記基準時点を算出する、請求項１又は２に記載のエンジン状態パラメータ算出装置。
【請求項８】
前記基準時点算出部は、前記３時点以上の前記サンプリング値に基づいて、前記区間内の前記センサ出力の近似曲線又は近似直線を導出し、前記近似曲線又は近似直線に基づいて、前記基準時点を算出する、請求項７に記載のエンジン状態パラメータ算出装置。
【請求項９】
前記基準時点算出部により算出される前記基準時点は、前記センサ出力が上昇する上り区間における第１基準時点、及び、前記センサ出力が下降する下り区間における第２基準時点のうちの少なくともいずれか一方である、請求項１〜８のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
【請求項１０】
前記基準時点算出部により算出される前記基準時点は、前記第１基準時点及び前記第２基準時点を含み、
前記パラメータは、前記第１基準時点に基づく第１クランク角速度と、前記第２基準時点に基づく第２クランク角速度とを含む、請求項９に記載のエンジン状態パラメータ算出装置。
【請求項１１】
エンジンのクランクシャフトに対して設けられるクランク角度センサのセンサ出力の複数時点でのサンプリング値を取得し、
前記センサ出力が上昇又は下降する区間内の２時点での前記サンプリング値に基づいて、前記センサ出力が所定基準値となる時点である基準時点を算出し、
前記基準時点に基づいて、エンジンの状態を表すパラメータを算出することを含む、コンピュータにより実行されるエンジン状態パラメータ算出方法。
【請求項１２】
エンジンと、
エンジンのクランクシャフトに対して設けられるクランク角度センサと、
前記クランク角度センサのセンサ出力の複数時点でのサンプリング値を取得する取得部と、
前記センサ出力が上昇又は下降する区間内の２時点での前記サンプリング値に基づいて、前記センサ出力が所定基準値となる時点である基準時点を算出する基準時点算出部と、
前記基準時点算出部により算出される基準時点に基づいて、エンジンを制御するエンジン制御部とを含む、エンジン制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、エンジン状態パラメータ算出装置、エンジン制御システム及びエンジン状態パラメータ算出方法に関する。
【背景技術】
【０００２】
クランク角度センサのクランク角信号の立ち上がりエッジの時間間隔を計測することでエンジン回転数（クランク角速度と等価のエンジン状態パラメータ）を算出する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2002-89346号公報
【特許文献２】特開2010-59883号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、クランク角度センサのセンサ出力をサンプリングする際のサンプリングレートの限界等に起因して、クランク角信号の立ち上がりエッジを精度良く生成することは難しい。従って、従来技術では、クランク角速度のような、エンジンの状態を表すパラメータの算出精度を高めることが難しい。
【０００５】
そこで、１つの側面では、本発明は、クランク角度センサのセンサ出力に基づくエンジン状態パラメータの算出精度を高めることを目的とする。
【課題を解決するための手段】
【０００６】
一局面によれば、エンジンのクランクシャフトに対して設けられるクランク角度センサのセンサ出力の複数時点でのサンプリング値を取得する取得部と、
前記センサ出力が上昇又は下降する区間内の２時点での前記サンプリング値に基づいて、前記センサ出力が所定基準値となる時点である基準時点を算出する基準時点算出部と、
前記基準時点算出部により算出される基準時点に基づいて、エンジンの状態を表すパラメータを算出するパラメータ算出部とを含む、エンジン状態パラメータ算出装置が提供される。
【発明の効果】
【０００７】
クランク角度センサのセンサ出力に基づくエンジン状態パラメータの算出精度を高めることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施例１によるエンジントルク算出システムの一例を示す構成図である。
【図２】クランク角度センサの一例を示す斜視図である。
【図３】クランクロータの一例を示す平面図である。
【図４】クランクロータの外周の形状特徴とクランク角度センサのセンサ出力との関係の説明図である。
【図５】クランク角度センサのセンサ出力と所定基準値Ｖｒｅｆとの関係を示す図である。
【図６】エンジントルク算出装置のハードウェア構成の一例を示す図である。
【図７】実施例１によるエンジントルク算出装置の機能ブロック図である。
【図８】クロス時点算出部によるクロス時点の算出方法の説明図である。
【図９】クロス時点とクランク角度との関係の説明図である。
【図１０】クランク角加速度の算出方法の説明図である。
【図１１】２算出周期でそれぞれ算出されるクロス時点の例を示す図である。
【図１２】比較例による図示トルクの算出精度の説明図である。
【図１３】実施例１による図示トルクの算出精度の説明図である。
【図１４】実施例１によるエンジントルク算出処理の一例を示すフローチャートである。
【図１５】エンジントルク算出装置を含むエンジン制御システムの一例を示す図である。
【図１６】実施例２によるエンジントルク算出装置の機能ブロック図である。
【図１７】最大到達時点算出部による最大到達時点の算出方法の説明図である。
【図１８】実施例２によるエンジントルク算出処理の一例を示すフローチャートである。
【図１９】実施例３によるエンジントルク算出装置の機能ブロック図である。
【図２０】第１クランク角速度及び第２クランク角速度の説明図である。
【図２１】第１クランク角速度及び第２クランク角速度の説明図である。
【図２２】実施例３によるエンジントルク算出装置により実行されるエンジントルク算出処理の一例を示すフローチャートである。
【図２３】電磁ピックアップ式のクランク角度センサの説明図である。
【図２４】電磁ピックアップ式のクランク角度センサのセンサ出力の波形の一例を示す図である。
【図２５】実施例４によるエンジントルク算出装置の機能ブロック図である。
【図２６】実施例４によるクロス時点の算出方法の説明図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら各実施例について詳細に説明する。
【００１０】
図１は、実施例１によるエンジントルク算出システム１の一例を示す構成図である。
【００１１】
エンジントルク算出システム１は、エンジン（図示せず）を備える車両に搭載される。車両は、エンジンのみを駆動源とする車両であってもよいし、電気モータとエンジンの双方を駆動源とするハイブリッド車であってもよい。エンジンの種類は任意であり、例えば、ガソリンエンジンであってもよいし、ディーゼルエンジンであってもよい。
【００１２】
エンジントルク算出システム１は、クランク角度センサ４と、エンジントルク算出装置１０を含む。
【００１３】
クランク角度センサ４は、エンジンに取り付けられる。クランク角度センサ４は、エンジンのクランクシャフト６（図２参照）の回転角度であるクランク角度を表すセンサ出力を生成する。例えば、クランク角度センサ４は、クランクシャフトに固定されるクランクロータ（シグナルロータ）５と協動して、センサ出力を生成する。クランクロータ５は、図２及び図３に示すように、外周に、所定クランク角ピッチ角Δθ（例えば６ＣＡピッチ）（以下、「ピッチ角Δθ」と称する）に対応したピッチで突起（歯）５ｂを有しつつ、上死点検出用に欠歯部５ａを有してもよい。尚、"ＣＡ"とはクランク角を表す。
実施例１では、一例として、クランク角度センサ４は、磁気抵抗素子を含むＭＲＥ（magneto resistive effect）センサである。図４は、クランクロータ５の外周の形状特徴とクランク角度センサ４のセンサ出力との関係の説明図である。図４には、上側には、クランクロータ５の外周を直線状に展開した状態が示され、下側には、上側に図示するクランクロータ５の外周の形状特徴に対応したクランク角度センサ４のセンサ出力が示されている。図５は、クランク角度センサ４のセンサ出力と所定基準値（判定基準電圧）との関係を示す図である。
【００１４】
クランクロータ５が回転すると、クランクロータ５の歯５ｂがクランク角度センサ４に近づいたり離れたりすることを繰り返す。クランク角度センサ４は、クランクロータ５の歯５ｂによる磁界変化を検知することで、クランクロータ５の歯５ｂの有無に応じて、パルス状の信号を出力する。このとき、パルス状の信号のピッチθ２がクランクロータ５のピッチ角Δθに相当する。
【００１５】
クランク角度センサ４がクランクロータ５の欠歯部５ａに対向する区間では、磁界変化が起こらないため、センサ出力も変化しない。即ち、クランク角度センサ４は、クランクロータ５の欠歯部５ａに対向する間は、クランクロータ５が角度θ１だけ回転する時間分、新たな立ち上がりパルスを出力しない。角度θ１は、（欠歯本数+1）×Δθに相当する。以下、センサ出力における欠歯部５ａに起因した区間（角度θ１分の区間）を、「欠歯区間」と称する。
【００１６】
センサ出力は、クランク角度センサ４がクランクロータ５の欠歯部５ａ以外に対向する区間では、図５に示すように、クランクシャフトの回転に伴い周期的に所定基準値Ｖｒｅｆをクロスする。具体的には、センサ出力は、クランクシャフトの回転に伴いピッチ角Δθ毎に所定基準値を上下に計２回クロスする。このように、センサ出力は、クランク角度0〜720ＣＡの区間において、クランクシャフトの回転に伴いピッチ角Δθ毎に所定基準値を上下に計２回クロスする区間と、上死点検出用の欠歯区間とを含む。以下、クランクシャフトの回転に伴いピッチ角Δθ毎に所定基準値Ｖｒｅｆを上下に計２回クロスする区間を、「非欠歯区間」とも称する。尚、非欠歯区間においては、センサ出力が０Ｖを負から正の方向（上り）にクロスする毎に（図５の○印参照）、クランク角度がピッチ角Δθ分だけ進角することになる。実施例１では、一例として、センサ出力は、所定基準値Ｖｒｅｆを基準とした振幅が一定であるものとする。即ち、図５に示すように、センサ出力は、固定の最大電圧ＶＭＡＸと固定の最少電圧ＶＭＩＮとの間を周期的に上下し、所定基準値Ｖｒｅｆ＝（ＶＭＡＸ＋ＶＭＩＮ）／２である。
【００１７】
図６は、エンジントルク算出装置１０のハードウェア構成の一例を示す図である。エンジントルク算出装置１０のハードウェアは、例えば、マイクロコンピューターや、ＦＰＧＡ（Field Programmable Gate Array）、ＰＬＣ（Programmable Logic Controller）等を含んでよい。
【００１８】
図６に示す例では、エンジントルク算出装置１０は、制御部１０１、主記憶部１０２、補助記憶部１０３、及び、ハードウェアＩ／Ｆ部１０６を含む。
【００１９】
制御部１０１は、主記憶部１０２や補助記憶部１０３に記憶されたプログラムを実行する演算装置であり、記憶装置からデータを受け取り、演算、加工した上で、記憶装置などに出力する。制御部１０１は、例えばＣＰＵ(Central Processing Unit)やタイマカウンタ等を含んでよい。
【００２０】
主記憶部１０２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部１０１が実行するアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００２１】
補助記憶部１０３は、ＥＥＰＲＯＭ（Electric-Erasable Programmable Read-Only Memory）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【００２２】
ハードウェアＩ／Ｆ部１０６は、有線及び／又は無線回線などで接続された車両ネットワーク（例えば、CAN（Controller Area Network）等）やエンジンの周辺機器（例えば、クランク角度センサ４等）とのインターフェースである。
【００２３】
図７は、実施例１によるエンジントルク算出装置１０の機能ブロック図である。エンジントルク算出装置１０は、Ａ／Ｄコンバータ（Analog-to-Digital）１１０と、サンプル値取得部１１１（取得部の一例）と、サンプル値記憶部１１４とを含む。また、エンジントルク算出装置１０は、クロス時点算出部１２０（基準時点算出部の一例）と、クランク角度算出部１２１と、クロス時点記憶部１２２とを含む。また、エンジントルク算出装置１０は、クランク角速度算出部１２３と、クランク角速度記憶部１２４と、クランク角加速度算出部１３０と、エンジントルク算出部１６０（パラメータ算出部の一例）とを含む。各部１１１、１２０、１２１、１２３、１３０、及び１６０は、制御部１０１が主記憶部１０２内のプログラムを実行することにより実現できる。また、サンプル値記憶部１１４、クロス時点記憶部１２２、及びクランク角速度記憶部１２４は、例えば主記憶部１０２のＲＡＭにより実現できる。
【００２４】
Ａ／Ｄコンバータ１１０は、クランク角度センサ４のセンサ出力に係るアナログ入力を量子化出力に変換する。
【００２５】
サンプル値取得部１１１は、Ａ／Ｄコンバータ１１０を介して、クランク角度センサ４のセンサ出力の複数時点でのサンプリング値を取得する。例えば、サンプル値取得部１１１は、Ａ／Ｄコンバータ１１０を介して、所定のサンプリングレートでセンサ出力をサンプリングする。所定のサンプリングレートは、後述の上り区間内で少なくとも２時点以上でのサンプリング値が取得できるように設定される。所定のサンプリングレートは、一定であってもよいし、例えばエンジン回転数等に応じて可変であってもよい。サンプル値取得部１１１は、取得したサンプリング値をサンプル値記憶部１１４に記憶する。
【００２６】
サンプル値記憶部１１４は、サンプル値取得部１１１により取得されたサンプリング値を記憶する記憶領域を有する。記憶領域は、例えば最新の所定数以上のサンプリング値を記憶する容量を備える。サンプル値記憶部１１４は、例えばリングバッファであり、最新の所定数以上のサンプリング値を、ＦＩＦＯ（first-in, first-out）形式で保持する。所定数は、クロス時点算出部１２０で用いられるサンプリング値の数以上であり、例えば２である。
【００２７】
クロス時点算出部１２０は、センサ出力が上昇する区間（以下、「上り区間」とも称する」内の２時点でのサンプリング値に基づいて、センサ出力が所定基準値Ｖｒｅｆとなる時点を算出する。上り区間とは、センサ出力が、最少電圧ＶＭＩＮから立ち上がり始めた以後であって最大電圧ＶＭＡＸに至る以前の区間を指す。
【００２８】
実施例１では、一例として、クロス時点算出部１２０は、センサ出力の上り区間内の、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値に基づいて、センサ出力が所定基準値Ｖｒｅｆをクロスする時点（以下、「クロス時点」とも称する）を算出する。例えば、クロス時点算出部１２０は、サンプル値記憶部１１４に直近に記憶されるサンプリング値が、所定基準値Ｖｒｅｆ未満である状態から所定基準値Ｖｒｅｆを超えたときに、サンプル値記憶部１１４内の直近の２時点のサンプリング値を取り出す。そして、クロス時点算出部１２０は、取り出した２時点のサンプリング値に基づいて、クロス時点を算出する。クロス時点算出部１２０は、算出したクロス時点をクロス時点記憶部１２２に記憶する。
【００２９】
図８は、クロス時点算出部１２０によるクロス時点の算出方法の説明図である。図８には、横軸に時間を取り、縦軸に電圧を取り、センサ出力の波形７０が示されている。図８には、サンプリング周期ｉ（＝ｎ−３〜ｎ＋２）で得られたサンプリング点ｓ（ｎ−３）〜ｓ（ｎ＋２）が○印で示される。尚、サンプリング点（及び後述のクロス点）とは、電圧情報と時間情報とで２次元位置（図８に示すような２軸の座標系内での位置）が定まる点に対応する。
【００３０】
図８に示す例では、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値は、サンプリング点ｓ（ｎ−１）での電圧値ｖ（ｎ−１）及びサンプリング点ｓ（ｎ）での電圧値ｖ（ｎ）である。また、２時点は、時点ｔ（ｎ−１）及び時点ｔ（ｎ）であり、時点ｔｃがクロス時点である。尚、時点とは、時間軸上の１点であり、時間とは、時間軸上の長さを表す。以下では、一例として、時点ｔ（ｎ−１）、時点ｔ（ｎ）、及びクロス時点ｔｃは、共通の開始時点（例えば図８の時間軸の原点に相当するタイミング）からの時間でそれぞれで表される。
【００３１】
具体的には、クロス時点算出部１２０は、２時点でのサンプリング値間の差分ΔＶと、２時点間の時間ｄｔとに基づいて、２時点間でのセンサ出力の時間変化率βを算出する。図８では、２時点でのサンプリング値間の差分は、ΔＶであり、ΔＶ＝ｖ（ｎ）−ｖ（ｎ−１）である。２時点間の時間ｄｔは、サンプリングレートに対応する。従って、２時点間でのセンサ出力の時間変化率βは、β＝ΔＶ／ｄｔ＝（ｖ（ｎ）−ｖ（ｎ−１））／ｄｔである。そして、クロス時点算出部１２０は、算出した時間変化率βに基づいて、クロス時点ｔｃを算出する。例えば、クロス時点ｔｃは、時点ｔ（ｎ−１）を基準として、以下の通り算出できる。
ｔｃ＝（Ｖｒｅｆ−ｖ（ｎ−１））／β＋ｔ（ｎ−１）
或いは、クロス時点ｔｃは、時点ｔ（ｎ）を基準として、以下の通り算出できる。
ｔｃ＝ｔ（ｎ）−（ｖ（ｎ）−Ｖｒｅｆ）／β
この算出方法は、センサ出力が、図８に示すように、最大電圧ＶＭＡＸ及び最少電圧ＶＭＩＮ間で線形的に変化する場合に好適である。換言すると、この算出方法は、センサ出力が最大電圧ＶＭＡＸ及び最少電圧ＶＭＩＮ間で一定の時間変化率で変化すると仮定して、センサ出力が所定基準値Ｖｒｅｆとなるクロス点Ｐｃ（図８参照）を求めるものである。従って、クロス時点ｔｃに係るクロス点Ｐｃは、サンプリング点ｓ（ｎ−１）とサンプリング点ｓ（ｎ）とを結んだ直線（傾きはβ）と、所定基準値Ｖｒｅｆを表す直線（傾きは０）との交点である。
【００３２】
クランク角度算出部１２１は、クロス時点算出部１２０により算出されたクロス時点に基づいて、クロス時点でのクランク角度を算出する。実施例１では、一例として、クロス時点は、図９に示すように、クランク角度がピッチ角Δθ分だけ進角するタイミングとされる。従って、今回のクロス時点でのクランク角度は、前回のクロス時点でのクランク角度に対してピッチ角Δθ分を加算することで算出できる。図９には、３つの連続した算出周期（ｋ−１、ｋ、ｋ＋１）で算出される各クランク角度ＣＡ（ｋ−１）、ＣＡ（ｋ）、及びＣＡ（ｋ＋１）が示される。ｔｃ（ｋ−１）、ｔｃ（ｋ）、及びｔｃ（ｋ＋１）は、それぞれ、各算出周期（ｋ−１、ｋ、ｋ＋１）に係るクロス時点ｔｃである。尚、時間軸上で隣接する２つのクロス時点間の時間は、クランク角速度に応じて異なる。例えば、算出周期ｋ−１に係るクロス時点ｔｃ（ｋ−１）と算出周期ｋに係るクロス時点ｔｃ（ｋ）との間の時間Δｔ（ｋ−１）は、算出周期ｋに係るクロス時点ｔｃ（ｋ）と算出周期ｋ＋１に係るクロス時点ｔｃ（ｋ＋１）との間の時間Δｔ（ｋ）とは異なり得る。尚、欠歯区間においては、クランク角度算出部１２１は、ピッチ角Δθに代えて、角度θ１（図４参照）だけ進角させることで、クランク角度を算出してよい。
【００３３】
クロス時点記憶部１２２は、クロス時点算出部１２０により算出されたクロス時点を記憶する記憶領域を有する。記憶領域は、例えば最新の所定数以上のクロス時点を記憶する容量を備える。クロス時点記憶部１２２は、例えばリングバッファであり、最新の所定数以上のクロス時点を、ＦＩＦＯ形式で保持する。所定数は、クランク角速度算出部１２３やクランク角加速度算出部１３０での算出方法に依存するが、例えば２である。
【００３４】
クランク角速度算出部１２３は、クロス時点算出部１２０により算出されたクロス時点に基づいて、クランク角速度を算出する。具体的には、クランク角速度算出部１２３は、非欠歯区間において、時間軸上で隣接する２つのクロス時点間の時間と、ピッチ角Δθとに基づいて、クランク角速度を算出する。即ち、算出周期ｋにおけるクランク角速度ω（ｋ）は、例えば以下のとおりである。
【００３５】
【数１】
2017193991.tif 000003
ここで、ｔｃ（ｋ）は、算出周期ｋに係るクロス時点ｔｃであり（図５及び図９参照）、算出周期ｋの直近に算出されたクロス時点ｔｃである。尚、欠歯区間においては、クランク角速度算出部１２３は、ピッチ角Δθに代えて、角度θ１（図４参照）を用いて、クランク角速度を算出してよい。以下では、特に言及しない限り、非欠歯区間における算出方法について説明していく。
【００３６】
クランク角速度算出部１２３は、例えばクロス時点算出部１２０により新たなクロス時点が算出される毎に、クロス時点記憶部１２２から直近の２つのクロス時点（今回新たに算出されたクロス時点を含む）を取り出す。そして、クランク角速度算出部１２３は、取り出した直近の２つのクロス時点と、ピッチ角Δθ（既知）とに基づいて、クランク角速度を算出し、算出したクランク角速度をクランク角速度記憶部１２４に記憶する。
【００３７】
クランク角速度記憶部１２４は、クランク角速度算出部１２３により算出されたクランク角速度を記憶する記憶領域を有する。記憶領域は、例えば最新の所定数以上の算出周期分のクランク角速度を記憶する容量を備える。クランク角速度記憶部１２４は、例えばリングバッファであり、最新の所定数以上の算出周期分のクランク角速度を、ＦＩＦＯ形式で保持する。所定数は、クランク角加速度算出部１３０のクランク角加速度算出処理に必要な算出周期分の数以上であり、クランク角加速度算出方法に依存する。例えば、クランク角加速度算出部１３０が直近の２時点のクランク角速度に基づいてクランク角加速度を算出する場合は、所定数は、例えば２である。
【００３８】
クランク角加速度算出部１３０は、クランク角速度算出部１２３より算出されたクランク角速度に基づいて、クランク角加速度を算出する。例えば、クランク角加速度算出部１３０は、クランク角速度算出部１２３により新たなクランク角速度が算出される毎に、クランク角速度記憶部１２４から直近の２算出周期分のクランク角速度と、クロス時点記憶部１２２から直近の２つのクロス時点とを取り出す。そして、クランク角加速度算出部１３０は、取り出した直近の２算出周期分のクランク角速度と、直近の２つのクロス時点とに基づいて、クランク角加速度を算出する（図１０参照）。算出周期ｋにおけるクランク角加速度α（ｋ）は、例えば以下の通り算出できる。
【００３９】
【数２】
2017193991.tif 000004
或いは、算出周期ｋにおけるクランク角加速度α（ｋ）は、例えば以下の通り算出されてもよい。
【００４０】
【数３】
2017193991.tif 000005
尚、この場合は、算出周期ｋにおけるクランク角加速度α（ｋ）は、次の算出周期ｋ＋１のクランク角速度ω（ｋ＋１）等を利用して算出されることになる。
【００４１】
エンジントルク算出部１６０は、クランク角加速度算出部１３０により算出されたクランク角加速度に基づいて、エンジントルクを算出する。実施例１では、一例として、エンジントルク算出部１６０は、図示トルクを算出する。算出周期ｋにおける図示トルクτ（ｋ）は、例えば以下の通り算出できる。
【００４２】
【数４】
2017193991.tif 000006
ここで、Jは慣性モーメントを表す。
【００４３】
次に、図１１乃至図１３を参照して、比較例と対比しつつ、上述した実施例１による効果を説明する。
【００４４】
図１１は、２算出周期でそれぞれ算出されるクロス時点の例を示す図である。図１１には、算出周期ｋ−１に係るクロス時点ｔｃ（ｋ−１）と、算出周期ｋに係るクロス時点ｔｃ（ｋ）とが示される。
【００４５】
算出周期ｋ−１では、図１１の左側に示すように、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値は、サンプリング点ｓ（ｍ−１）での電圧値ｖ（ｍ−１）及びサンプリング点ｓ（ｍ）での電圧値ｖ（ｍ）である。また、２時点は、時点ｔ（ｍ−１）及び時点ｔ（ｍ）である。従って、算出周期ｋ−１に係るクロス時点ｔｃ（ｋ−１）は、上述のように次のとおりである。
ｔｃ（ｋ−１）＝（Ｖｒｅｆ−ｖ（ｍ−１））／β（ｋ−１）＋ｔ（ｍ−１）
但し、β（ｋ−１）＝（ｖ（ｍ）−ｖ（ｍ−１））／ｄｔ
算出周期ｋでは、図１１の右側に示すように、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値は、サンプリング点ｓ（ｎ−１）での電圧値ｖ（ｎ−１）及びサンプリング点ｓ（ｎ）での電圧値ｖ（ｎ）である。また、２時点は、時点ｔ（ｎ−１）及び時点ｔ（ｎ）である。従って、算出周期ｋに係るクロス時点ｔｃ（ｋ）は、上述のように次のとおりである。
ｔｃ（ｋ）＝（Ｖｒｅｆ−ｖ（ｎ−１））／β（ｋ）＋ｔ（ｎ−１）
但し、β（ｋ）＝（ｖ（ｎ）−ｖ（ｎ−１））／ｄｔ
ここで、次の比較例を想定する。比較例では、所定基準値Ｖｒｅｆよりも大きいサンプリング値がサンプリングされた時点が、「クロス時点」として扱われる。従って、比較例では、算出周期ｋにおけるクランク角速度ω（ｋ）は、以下のとおりである。
【００４６】
【数５】
2017193991.tif 000007
【００４７】
ところで、センサ出力をサンプリングする際のサンプリングレートの限界等に起因して、クランク角度をピッチ角Δθ分だけ進角させるタイミングを、センサ出力が所定基準値Ｖｒｅｆをちょうどクロスする時点に正確に同期させることは難しい。換言すると、センサ出力が所定基準値Ｖｒｅｆとなる実際の時点を「真値」とすると、算出周期間で、真値に対するクロス時点のずれを一定にすることは難しい。例えば、真値は、実施例１によるクロス時点算出部１２０により算出されるクロス時点と一致するものとすると、比較例では、図１１に模式的に示すように、真値に対するクロス時点のずれが、算出周期間で比較的に大きく変動しうる。具体的には、算出周期ｋ−１での、真値に対するクロス時点のずれΔｔｒ（ｋ−１）と、算出周期ｋでの、真値に対するクロス時点のずれΔｔｒ（ｋ）とが有意に異なる。真値に対するクロス時点のずれが算出周期間で比較的に大きく変動するということは、実質的に、クランク角速度の算出に用いるセンサ出力の判定基準電圧が算出周期間で比較的に大きく変動していることと等価である。クランク角速度の算出に用いるセンサ出力の判定基準電圧が算出周期間で変動すると、当然ながら、クランク角速度の精度の悪化を招く。従って、比較例では、クランク角速度の算出精度を高めることが難しい。
【００４８】
これに対して、実施例１によれば、真値に対するクロス時点（クロス時点算出部１２０により算出されるクロス時点）のずれが、算出周期間で比較的に大きく変動することを抑制できる。具体的には、実施例１によれば、上述のように、算出周期毎に、上り区間内の２時点でのサンプリング値に基づいて、クロス時点が算出される。クロス時点は、上述のように上り区間内の２時点間でのセンサ出力の時間変化率βに基づいて算出されるので、算出周期毎に、真値に高い精度で一致する。この結果、真値に対するクロス時点のずれが、算出周期間で比較的に大きく変動することを抑制できる。よって、実施例１によれば、比較例に比べて、クランク角速度の算出精度を高めることができる。
【００４９】
図１２は、比較例による図示トルクの算出精度の説明図である。図１２には、上から、センサ出力から計算されるクランク角度の時系列、クランク角速度から計算されるクランク角加速度の時系列、及びクランク角加速度から計算される図示トルクの時系列Ｌ１が示される。計算による図示トルクの時系列Ｌ１には、実測値による図示トルクの時系列Ｌ２が併せて示される。尚、実測値による図示トルクは、筒内圧センサから得られるシリンダ内の圧力変化とクランク角度変化から得られるシリンダ容積の変化を基に算出されている。図１３は、実施例１による図示トルクの算出精度の説明図である。図１３には、図１２と同様の各時系列が示される。尚、本試験に用いたクランクロータ５の仕様は、歯の本数が60本（ピッチ角Δθ＝6ＣＡ）であり、欠歯本数が4本である。エンジンの仕様は、気筒数が4個であり、クランクシャフト2回転（720ＣＡ）で全気筒が1回燃焼する。
【００５０】
比較例では、図１２に示すように、実測値による図示トルクに対する算出誤差が大きい（波形が乱れている）。比較例の算出結果の根平均二乗誤差（RMSE：Root Mean Squared Error）は143.77であった。これに対して、実施例１によれば、図１３に示すように、実測値による図示トルクに対する算出誤差が小さい（波形の乱れが小さくなっている）。実施例１によれば、RMSEは117.42であり、比較例に比べてRMSEを約28％低減できている。
【００５１】
次に、図１４を参照して、エンジントルク算出装置１０の動作例について説明する。
【００５２】
図１４は、エンジントルク算出装置１０により実行されるエンジントルク算出処理の一例を示すフローチャートである。図１４に示す処理は、例えばサンプル値取得部１１１のサンプリングレート毎に実行されてよい。尚、図１４に示す処理中は、エンジントルク算出装置１０にはクランク角度センサ４のセンサ出力が入力され続ける。
【００５３】
ステップＳ１００では、サンプル値取得部１１１は、センサ出力に対する今回のサンプリング周期のサンプリング値を取得し、サンプル値記憶部１１４に記憶する。
【００５４】
ステップＳ１０２では、クロス時点算出部１２０は、ステップＳ１００でサンプル値取得部１１１が取得したサンプリング値が所定基準値Ｖｒｅｆを正の方向にクロスしたか否かを判定する。例えば、クロス時点算出部１２０は、前回のサンプリング値が所定基準値Ｖｒｅｆ未満であるが、今回のサンプリング値が所定基準値Ｖｒｅｆよりも大きい場合は、サンプリング値が所定基準値Ｖｒｅｆを正の方向にクロスしたと判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ１０４に進み、判定結果が"ＮＯ"の場合は、今回周期の処理はそのまま終了する。
【００５５】
ステップＳ１０４では、クロス時点算出部１２０は、サンプル値記憶部１１４内の直近の２時点のサンプリング値を取り出し、取り出した２時点のサンプリング値に基づいて、クロス時点を算出する。クロス時点の算出方法は、上述のとおりである。クロス時点算出部１２０は、算出したクロス時点をクロス時点記憶部１２２に記憶する。
【００５６】
ステップＳ１０６では、クランク角速度算出部１２３は、クロス時点記憶部１２２から直近の２つのクロス時点を取り出し、取り出した直近の２つのクロス時点と、ピッチ角Δθ（既知）とに基づいて、クランク角速度を算出する。クランク角速度の算出方法は、上述のとおりである。クランク角速度算出部１２３は、算出したクランク角速度をクランク角速度記憶部１２４に記憶する。
【００５７】
ステップＳ１０８では、クランク角加速度算出部１３０は、クランク角速度記憶部１２４内の直近の２算出周期分のクランク角速度と、クロス時点記憶部１２２内の直近の２つのクロス時点とに基づいて、クランク角加速度を算出する。クランク角加速度の算出方法は、上述のとおりである。
【００５８】
ステップＳ１１０では、エンジントルク算出部１６０は、ステップＳ１０８で算出されたクランク角加速度に基づいて、図示トルクを算出する。図示トルクの算出方法は、上述のとおりである。
【００５９】
このようにして図１４に示す処理によれば、センサ出力が所定基準値Ｖｒｅｆを超える毎に（即ちクロス時点が発生する毎に）、現在の図示トルクを精度良く算出できる。このようなエンジントルク算出装置１０は、リアルタイムで図示トルクを精度良く算出できるので、エンジン制御システムの高性能化に有効に利用できる。
【００６０】
ところで、トルクベース制御のエンジン制御システムでは、一般的にドライバーのアクセル操作などから必要な正味トルクが決まり、その正味トルクをもたらす図示トルクの目標値が設定される。このとき、実車では、車両の駆動トルクを目標値通りにフィードバック制御するために、筒内圧センサを用いて現在の図示トルクを測定することが考えられる。しかしながら、筒内圧センサの設置は、コスト、耐久性、及び保守性の問題を引き起こすことから現状困難となっている。
【００６１】
この点、実施例１によれば、筒内圧センサを設置することなく、エンジントルク算出装置１０により図示トルクを高精度に算出できるので、エンジントルク算出装置１０をエンジン制御システムの高性能化に有効に利用できる。
【００６２】
尚、実施例１では、上述したように、クロス時点算出部１２０は、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値に基づいて、クロス時点を算出するが、これに限られない。例えば、クロス時点算出部１２０は、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値に、他のサンプリング値を加えた３時点以上でのサンプリング値に基づいて、クロス時点を算出してもよい。この場合、クロス時点算出部１２０は、例えば最小二乗法等により、３時点以上でのサンプリング点に対する近似直線を求め、該近似直線と所定基準値Ｖｒｅｆを表す直線（傾き０）との交点に基づいて、クロス時点を算出してもよい。この場合、近似直線の算出に用いられる３時点以上でのサンプリング点としては、好ましくは、上り区間内のサンプリング点である。これは、最少電圧ＶＭＩＮから立ち上がる前のセンサ出力のサンプリング値や最大電圧ＶＭＡＸに至った後のセンサ出力のサンプリング値は、センサ出力が実質的に変化していないときのサンプリング値であり、時間変化率βの算出精度を悪化させるためである。
【００６３】
また、実施例１では、上述したように、クロス時点算出部１２０は、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値として、所定基準値Ｖｒｅｆを超える直前と直後の各サンプリング値を用いるが、これに限られない。例えば、クロス時点の算出に用いられる２時点でのサンプリング値は、上り区間内の２時点でのサンプリング値である限り、任意である。従って、例えば、クロス時点の算出に用いられる２時点でのサンプリング値は、センサ出力が最少電圧ＶＭＩＮから立ち上がった後であって所定基準値Ｖｒｅｆを超える前における任意の２時点でのサンプリング値であってもよい。同様に、クロス時点の算出に用いられる２時点でのサンプリング値は、センサ出力が所定基準値Ｖｒｅｆを超えた後であって最大電圧ＶＭＡＸに至る前における任意の２時点でのサンプリング値であってもよい。
【００６４】
また、実施例１では、上述したように、クロス時点算出部１２０は、上り区間内の２時点でのサンプリング値に基づいて、クロス時点を算出するが、これに限られない。即ち、クロス時点算出部１２０は、センサ出力が下降する区間（以下、「下り区間」とも称する）内の２時点でのサンプリング値に基づいて、クロス時点を算出してもよい。下り区間内とは、センサ出力が、最大電圧ＶＭＡＸから立ち下がり始めた以後であって最少電圧ＶＭＩＮに至る以前の区間を指す。例えば、クロス時点算出部１２０は、下り区間内の２時点でのサンプリング値であって、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値に基づいて、クロス時点を算出してもよい。
【００６５】
また、実施例１では、上述したように、所定基準値Ｖｒｅｆ＝（ＶＭＡＸ＋ＶＭＩＮ）／２であるが、これに限られない。例えば、所定基準値Ｖｒｅｆは、ＶＭＩＮ＜Ｖｒｅｆ＜ＶＭＡＸの関係を満たす限り、任意である。尚、所定基準値Ｖｒｅｆ＝ＶＭＡＸ（又はＶｒｅｆ＝ＶＭＩＮ）であってもよく、かかる実施例について、後述の実施例２として説明する。
【００６６】
また、実施例１では、上述したように、クロス時点と、クランク角度がピッチ角Δθ分だけ進角するタイミングとが同じであるが、これらが同期している限り、これに限られない。例えば、クロス時点に対して固定の所定時間前又は後の時点と、クランク角度がピッチ角Δθ分だけ進角するタイミングとが同じであってもよい。
【００６７】
図１５は、エンジントルク算出装置１０を含むエンジン制御システムの一例を示す図である。
【００６８】
エンジン制御システム２は、車両に搭載される。車両は、上述のように、エンジンのみを駆動源とする車両であってもよいし、ハイブリッド車であってもよい。エンジン制御システム２は、センサ群８と、エンジン制御装置３０（エンジン制御部の一例）と、エンジン８０と、クランク角度センサ４と、エンジントルク算出装置１０とを含む。
【００６９】
センサ群８は、クランク角度センサ４以外の各種車載センサとして、例えば、アクセル開度センサ、車速センサ、レーダセンサ、画像センサ等を含む。
【００７０】
エンジン制御装置３０は、エンジン８０を電子制御する。尚、エンジン８０の電子制御は、例えば、図示しないが、エンジン８０の吸気マニホールド内に配置されるスロットルバルブの開度（即ち、スロットル開度）を電子制御することを含んでよい。その他、エンジン８０の電子制御は、例えば、エンジン８０の燃焼室に噴射される燃料の量や点火時期を電子制御することや、バルブ開閉タイミングを調整するインテークカムシャフトの位相を電子制御することを含んでよい。
【００７１】
エンジン制御装置３０は、電子制御ユニット（ＥＣＵ：Electronic Control Unit）により形成され、例えば図２に示したようなハードウェア構成を有してよい。エンジン制御装置３０は、図１５に示すように、運転者要求駆動力算出部３１と、運転者支援駆動力算出部３２と、目標駆動力調停部３３と、フィードバック制御部３４とを含む。運転者要求駆動力算出部３１、運転者支援駆動力算出部３２、目標駆動力調停部３３、及びフィードバック制御部３４は、電子制御ユニットのＣＰＵがプログラムを実行することで実現できる。
【００７２】
運転者要求駆動力算出部３１は、車速センサ及びアクセル開度センサからの情報に基づいて、車速及びアクセル開度に応じた運転者要求駆動力（以下、「第１要求駆動力」と称する）を算出する。
【００７３】
運転者支援駆動力算出部３２は、レーダセンサ等からの情報に基づいて、運転者による車両の運転を支援するための要求駆動力（以下、「第２要求駆動力」と称する）を算出する。第２要求駆動力は、例えば所定車速で走行するために必要な駆動力、先行車に追従するために必要な駆動力、制限車速を超えないように車速を制限するための駆動力等であってよい。
【００７４】
目標駆動力調停部３３は、所定の規則に従って、第１要求駆動力及び第２要求駆動力のいずれかを選択する。例えば、ＡＣＣ（Adaptive Cruse Control）の実行中は、目標駆動力調停部３３は、第１要求駆動力が０である間、第２要求駆動力を選択し、第１要求駆動力が所定閾値より大きくなると、第１要求駆動力を選択する。目標駆動力調停部３３は、選択した要求駆動力を、トルク表現［N・ｍ］に変換し、要求駆動トルクとしてフィードバック制御部３４に与える。
【００７５】
フィードバック制御部３４は、例えば、目標駆動力調停部３３から与えられる要求駆動トルクと、エンジントルク算出装置１０から与えられる図示トルクの算出値との差分に基づいて、要求駆動トルクが実現されるようにエンジン８０の制御目標値を決定してもよい。エンジンの制御目標値は、例えばスロットル開度の目標値や燃料の噴射量の目標値等であってよい。尚、等価的に、図示トルクの算出値に代えて、該図示トルクの算出値に基づく正味トルクの算出値が用いられてもよい。例えば、正味トルクは、図示トルクの算出値からエンジンのフリクショントルクを減算することで算出できる。また、エンジンのフリクショントルクは、例えば、エンジンの回転数および負荷に基づいて算出できる。また、フィードバック制御部３４は、エンジントルク算出装置１０から与えられる図示トルクの算出値に基づいて、エンジンの制御目標値として点火時期の目標値を決定してもよい。フィードバック制御部３４は、決定した制御目標値が実現されるように、エンジン８０を制御する。
【００７６】
図１５に示すエンジン制御システム２によれば、エンジントルク算出装置１０を備え、要求駆動力と図示トルクの算出値との差分に基づいてエンジン８０をフィードバック制御できる。上述のようにエンジントルク算出装置１０からの図示トルクの算出値の算出精度が高いため、エンジン８０の駆動トルクを精度良く制御できる。これにより、例えば過剰に筒内に燃料を噴射する必要がなくなり、エンジン性能が向上し、燃費やドライバビリティが改善される。このようにして、エンジントルク算出装置１０をエンジン制御システムの高性能化に有効に利用できる。
【００７７】
尚、図１５に示す例では、エンジントルク算出装置１０は、エンジン制御装置３０とは別に設けられるが、これに限られない。エンジントルク算出装置１０の機能の一部又は全部は、エンジン制御装置３０により実現されてもよい。
【００７８】
また、図１５に示す例では、エンジン制御システム２は、エンジントルク算出装置１０による算出結果を用いて制御する対象は、エンジン８０であるが、これに限られない。例えば、エンジントルク算出装置１０による算出結果は、エンジン８０以外の車両駆動装置（例えば、トランスミッション、電気モータ、クラッチ等）の制御にも用いることができる。エンジン８０以外の車両駆動装置の制御目標値（例えばトランスミッションの目標ギア段）は、エンジン８０の制御目標値に関連する場合があるためである。
【００７９】
また、図１５に示す例では、エンジン制御システム２は、運転者支援駆動力算出部３２を備えるが、運転者支援駆動力算出部３２は省略されてもよい。この場合、目標駆動力調停部３３も不要となり、フィードバック制御部３４は、運転者要求駆動力算出部３１からの第１要求駆動力を常時用いてよい。
【００８０】
［実施例２］
実施例２は、所定基準値Ｖｒｅｆが最大電圧ＶＭＡＸである点が、上述した実施例１と異なる。実施例２によるエンジントルク算出装置１０Ａは、上述した実施例１によるエンジントルク算出装置１０に対して、ハードウェア構成自体は同じであってよいが、機能が、以下の通り異なる。
【００８１】
図１６は、エンジントルク算出装置１０Ａの機能ブロック図である。実施例２によるエンジントルク算出装置１０Ａは、上述した実施例１によるエンジントルク算出装置１０に対して、以下の点が主に異なる。クロス時点算出部１２０及びクロス時点記憶部１２２がそれぞれ最大到達時点算出部１４０（基準時点算出部の一例）及び最大到達時点記憶部１４１で置換される。また、クランク角度算出部１２１、クランク角速度算出部１２３、及びクランク角加速度算出部１３０が、それぞれ、クランク角度算出部１２１Ａ、クランク角速度算出部１２３Ａ、及びクランク角加速度算出部１３０Ａで置換される。他の構成要素は、上述した実施例１によるエンジントルク算出装置１０と実質的に同様であってよく、図１６において、同一の参照符号を付して説明を省略する。最大到達時点算出部１４０、クランク角度算出部１２１Ａ、クランク角速度算出部１２３Ａ、及びクランク角加速度算出部１３０Ａは、制御部１０１が主記憶部１０２内のプログラムを実行することにより実現できる。また、最大到達時点記憶部１４１は、例えば主記憶部１０２のＲＡＭにより実現できる。
【００８２】
最大到達時点算出部１４０は、上り区間内の２時点でのサンプリング値に基づいて、センサ出力が所定基準値Ｖｒｅｆ（＝最大電圧ＶＭＡＸ）となる時点である最大到達時点（立ち上がりエッジの時点）を算出する。最大到達時点算出部１４０は、算出した最大到達時点を最大到達時点記憶部１４１に記憶する。
【００８３】
実施例２では、一例として、最大到達時点算出部１４０は、上り区間内の２時点でのサンプリング値であって、中間値（＝（ＶＭＡＸ＋ＶＭＩＮ）／２）を挟む２時点でのサンプリング値に基づいて、最大到達時点を算出する。例えば、最大到達時点算出部１４０は、サンプル値記憶部１１４に直近に記憶されるサンプリング値が、中間値未満である状態から中間値を超えたときに、サンプル値記憶部１１４内の直近の２時点のサンプリング値を取り出す。そして、最大到達時点算出部１４０は、取り出した２時点のサンプリング値に基づいて、最大到達時点を算出する。
【００８４】
図１７は、最大到達時点算出部１４０による最大到達時点の算出方法の説明図である。図１７には、横軸に時間を取り、縦軸に電圧を取り、センサ出力の波形７０が示されている。図１７には、周期ｉ（＝ｎ−３〜ｎ＋２）で得られたサンプリング点ｓ（ｎ−３）〜ｓ（ｎ＋２）が○印で示される。
【００８５】
具体的には、最大到達時点算出部１４０は、２時点でのサンプリング値間の差分ΔＶと、２時点間の時間ｄｔとに基づいて、２時点間でのセンサ出力の時間変化率βを算出する。図１７では、２時点でのサンプリング値間の差分は、ΔＶであり、ΔＶ＝ｖ（ｎ）−ｖ（ｎ−１）である。２時点間の時間ｄｔは、サンプリングレートに対応する。従って、２時点間でのセンサ出力の時間変化率βは、β＝ΔＶ／ｄｔ＝（ｖ（ｎ）−ｖ（ｎ−１））／ｄｔである。そして、最大到達時点算出部１４０は、算出した時間変化率βに基づいて、最大到達時点ｔｐを算出する。例えば、最大到達時点ｔｐは、時点ｔ（ｎ−１）を基準として、以下の通り算出できる。
ｔｐ＝（Ｖｒｅｆ−ｖ（ｎ−１））／β＋ｔ（ｎ−１）
或いは、最大到達時点ｔｐは、時点ｔ（ｎ）を基準として、以下の通り算出できる。
ｔｐ＝（Ｖｒｅｆ−ｖ（ｎ））／β＋ｔ（ｎ）
この算出方法は、センサ出力が、図１７に示すように、最大電圧ＶＭＡＸ及び最少電圧ＶＭＩＮ間で線形的に変化する場合に好適である。換言すると、この算出方法は、センサ出力が最大電圧ＶＭＡＸ及び最少電圧ＶＭＩＮ間で一定の時間変化率で変化すると仮定して、センサ出力が所定基準値Ｖｒｅｆとなる立ち上がりエッジ点Ｐ２（図１７参照）を求めるものである。従って、最大到達時点ｔｐに係る立ち上がりエッジ点Ｐ２は、サンプリング点ｓ（ｎ−１）とサンプリング点ｓ（ｎ）とを結んだ直線（傾きはβ）と、所定基準値Ｖｒｅｆ（＝最大電圧ＶＭＡＸ）を表す直線（傾きは０）との交点である。
【００８６】
尚、最大到達時点は、上述した実施例１におけるクロス時点と同様、クランク角度がピッチ角Δθ分だけ進角するタイミングと同期される。
【００８７】
最大到達時点記憶部１４１は、最大到達時点算出部１４０により算出された最大到達時点を記憶する記憶領域を有する。記憶領域は、例えば最新の所定数以上の最大到達時点を記憶する容量を備える。最大到達時点記憶部１４１は、例えばリングバッファであり、最新の所定数以上の最大到達時点を、ＦＩＦＯ形式で保持する。所定数は、クランク角速度算出部１２３やクランク角加速度算出部１３０での算出方法に依存するが、例えば２である。
【００８８】
クランク角度算出部１２１Ａは、最大到達時点算出部１４０により算出された最大到達時点に基づいて、最大到達時点でのクランク角度を算出する。実施例２では、一例として、最大到達時点は、クランク角度がピッチ角Δθ分だけ進角するタイミングとされる。従って、今回の最大到達時点でのクランク角度は、前回の最大到達時点でのクランク角度に対してピッチ角Δθ分を加算することで算出できる。
【００８９】
クランク角速度算出部１２３Ａは、最大到達時点算出部１４０により算出された最大到達時点に基づいて、クランク角速度を算出する。尚、クランク角速度の算出方法は、「クロス時点」を「最大到達時点」で置換した以外は、実質的に上述した実施例１によるクランク角速度算出部１２３による同算出方法と同じであり、更なる説明を省略する。
【００９０】
クランク角加速度算出部１３０Ａは、最大到達時点算出部１４０により算出された最大到達時点と、クランク角速度算出部１２３Ａにより算出されたクランク角速度とに基づいて、クランク角加速度を算出する。尚、クランク角加速度の算出方法は、「クロス時点」を「最大到達時点」で置換した以外は、実質的に上述した実施例１によるクランク角加速度算出部１３０による同算出方法と同じであり、更なる説明を省略する。
【００９１】
実施例２によっても、上述した実施例１と同様の効果が得られる。即ち、センサ出力が所定基準値Ｖｒｅｆとなる実際の時点を「真値」とすると、実施例２によれば、真値に対する最大到達時点（最大到達時点算出部１４０により算出される最大到達時点）のずれが、算出周期間で比較的に大きく変動することを抑制できる。具体的には、実施例２によれば、上述のように、算出周期毎に、上り区間内の２時点でのサンプリング値に基づいて、最大到達時点が算出される。最大到達時点は、上述のように上り区間内の２時点間でのセンサ出力の時間変化率βに基づいて算出されるので、算出周期毎に、真値に高い精度で一致する。この結果、真値に対する最大到達時点のずれが、算出周期間で比較的に大きく変動することを抑制できる。よって、実施例２によれば、クランク角速度の算出精度を高めることができる。
【００９２】
次に、図１８を参照して、エンジントルク算出装置１０Ａの動作例について説明する。
【００９３】
図１８は、エンジントルク算出装置１０Ａにより実行されるエンジントルク算出処理の一例を示すフローチャートである。図１８に示す処理は、例えばサンプル値取得部１１１のサンプリングレート毎に実行されてよい。尚、図１８に示す処理中は、エンジントルク算出装置１０Ａにはクランク角度センサ４のセンサ出力が入力され続ける。
【００９４】
ステップＳ２００及びステップＳ２１０は、上述の図１４のステップＳ１００及びステップＳ１１０とそれぞれ同様であってよく、説明を省略する。
【００９５】
ステップＳ２０２では、最大到達時点算出部１４０は、ステップＳ２００でサンプル値取得部１１１が取得したサンプリング値が中間値（＝（ＶＭＡＸ＋ＶＭＩＮ）／２）を超えたか否かを判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ２０４に進み、判定結果が"ＮＯ"の場合は、今回周期の処理はそのまま終了する。
【００９６】
ステップＳ２０４では、最大到達時点算出部１４０は、サンプル値記憶部１１４内の直近の２時点のサンプリング値を取り出し、取り出した２時点のサンプリング値に基づいて、最大到達時点を算出する。最大到達時点の算出方法は、上述のとおりである。最大到達時点算出部１４０は、算出した最大到達時点を最大到達時点記憶部１４１に記憶する。
【００９７】
ステップＳ２０６では、クランク角速度算出部１２３Ａは、最大到達時点記憶部１４１から直近の２つの最大到達時点を取り出し、取り出した直近の２つの最大到達時点と、ピッチ角Δθ（既知）とに基づいて、クランク角速度を算出する。クランク角速度の算出方法は、上述のとおりである。クランク角速度算出部１２３Ａは、算出したクランク角速度をクランク角速度記憶部１２４に記憶する。
【００９８】
ステップＳ２０８では、クランク角加速度算出部１３０Ａは、クランク角速度記憶部１２４内の直近の２算出周期分のクランク角速度と、最大到達時点記憶部１４１内の直近の２つの最大到達時点とに基づいて、クランク角加速度を算出する。クランク角加速度の算出方法は、上述のとおりである。
【００９９】
このようにして図１８に示す処理によれば、センサ出力が中間値を超える毎に（即ち上り区間が発生する毎に）、現在の図示トルクを精度良く算出できる。このようなエンジントルク算出装置１０Ａは、リアルタイムで図示トルクを精度良く算出できるので、エンジン制御システムの高性能化に有効に利用できる。例えば、実施例２によるエンジントルク算出装置１０Ａは、図１５に示したエンジン制御システム２のエンジントルク算出装置１０（実施例１によるエンジントルク算出装置１０）に代えて同様に機能できる。
【０１００】
尚、実施例２では、上述したように、最大到達時点算出部１４０は、中間値を挟む２時点でのサンプリング値に基づいて、最大到達時点を算出するが、これに限られない。例えば、最大到達時点算出部１４０は、中間値を挟む２時点でのサンプリング値に、他のサンプリング値を加えた３時点以上でのサンプリング値に基づいて、最大到達時点を算出してもよい。この場合、最大到達時点算出部１４０は、例えば最小二乗法等により、３時点以上でのサンプリング点に対する近似直線を求め、該近似直線と所定基準値Ｖｒｅｆ（＝最大電圧ＶＭＡＸ）を表す直線（傾き０）との交点に基づいて、最大到達時点を算出してもよい。この場合、近似直線の算出に用いられる３時点以上でのサンプリング点としては、好ましくは、上り区間内のサンプリング点である。
【０１０１】
また、実施例２では、上述したように、最大到達時点算出部１４０は、中間値を挟む２時点でのサンプリング値として、中間値を超える直前と直後の各サンプリング値を用いるが、これに限られない。例えば、最大到達時点の算出に用いられる２時点でのサンプリング値は、上り区間内の２時点でのサンプリング値である限り、任意である。従って、例えば、最大到達時点の算出に用いられる２時点でのサンプリング値は、センサ出力が最少電圧ＶＭＩＮから立ち上がった後であって中間値を超える前における任意の２時点でのサンプリング値であってもよい。同様に、最大到達時点の算出に用いられる２時点でのサンプリング値は、センサ出力が中間値を超えた後であって最大電圧ＶＭＡＸに至る前における任意の２時点でのサンプリング値であってもよい。
【０１０２】
また、実施例２では、上述したように、所定基準値Ｖｒｅｆが最大電圧ＶＭＡＸであるが、これに限られない。即ち、所定基準値Ｖｒｅｆが最小電圧ＶＭＩＮであってもよい。この場合、最大到達時点算出部１４０は、最大到達時点に代えて、下り区間内の２時点でのサンプリング値に基づいて、センサ出力が所定基準値Ｖｒｅｆ（＝最小電圧ＶＭＩＮ）となる時点である最小到達時点を算出してよい。例えば、最大到達時点算出部１４０は、下り区間内の２時点でのサンプリング値であって、中間値を挟む２時点でのサンプリング値に基づいて、最小到達時点を算出してもよい。
【０１０３】
また、実施例２では、上述したように、中間値＝（ＶＭＡＸ＋ＶＭＩＮ）／２が用いられるが、これに限られない。例えば、中間値に代えて、ＶＭＩＮ＜Ｖｔｈ＜ＶＭＡＸの関係を満たす他の所定値が使用されてもよい。
【０１０４】
また、実施例２では、上述したように、最大到達時点と、クランク角度がピッチ角Δθ分だけ進角するタイミングとが同じであるが、これらが同期している限り、これに限られない。例えば、最大到達時点に対して固定の所定時間前又は後の時点と、クランク角度がピッチ角Δθ分だけ進角するタイミングとが同じであってもよい。
【０１０５】
［実施例３］
実施例３は、上り区間と下り区間の双方で算出したクロス時点に基づいてクランク角速度を算出する点が、上述した実施例１と異なる。実施例３によるエンジントルク算出装置１０Ｂは、上述した実施例１によるエンジントルク算出装置１０に対して、ハードウェア構成自体は同じであってよいが、機能が、以下の通り異なる。
【０１０６】
図１９は、エンジントルク算出装置１０Ｂの機能ブロック図である。実施例３によるエンジントルク算出装置１０Ｂは、上述した実施例１によるエンジントルク算出装置１０に対して、以下の点が主に異なる。第２クロス時点算出部１４２が追加される。また、クランク角速度算出部１２３、クランク角加速度算出部１３０、及びエンジントルク算出部１６０が、それぞれクランク角速度算出部１２３Ｂ、クランク角加速度算出部１３０Ｂ、及びエンジントルク算出部１６０Ｂで置換される。他の構成要素は、上述した実施例１によるエンジントルク算出装置１０と実質的に同様であってよく、図１９において、同一の参照符号を付して説明を省略する。第２クロス時点算出部１４２、クロス時点記憶部１２２Ｂ、クランク角速度算出部１２３Ｂ、及びクランク角加速度算出部１３０Ｂは、制御部１０１が主記憶部１０２内のプログラムを実行することにより実現できる。尚、実施例３においては、クロス時点算出部１２０及び第２クロス時点算出部１４２が、基準時点算出部の一例を形成する。
【０１０７】
第２クロス時点算出部１４２は、下り区間内の２時点でのサンプリング値に基づいて、センサ出力が所定基準値Ｖｒｅｆとなる時点を算出する。
【０１０８】
実施例３では、一例として、第２クロス時点算出部１４２は、下り区間内の２時点でのサンプリング値であって、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値に基づいて、センサ出力が所定基準値Ｖｒｅｆをクロスする時点であるクロス時点を算出する。以下、区別するときには、クロス時点算出部１２０により上述のように算出されるクロス時点を、「上りクロス時点」と称し、第２クロス時点算出部１４２により算出されるクロス時点を、「下りクロス時点」と称する。尚、実施例３では、一例として、所定基準値Ｖｒｅｆは、上述した実施例１と同様、所定基準値Ｖｒｅｆ＝（ＶＭＡＸ＋ＶＭＩＮ）／２である。
【０１０９】
例えば、第２クロス時点算出部１４２は、サンプル値記憶部１１４に直近に記憶されるサンプリング値が、所定基準値Ｖｒｅｆよりも大きい状態から所定基準値Ｖｒｅｆを下回るときに、サンプル値記憶部１１４内の直近の２時点のサンプリング値を取り出す。そして、第２クロス時点算出部１４２は、取り出した２時点のサンプリング値に基づいて、下りクロス時点を算出する。第２クロス時点算出部１４２は、算出した下りクロス時点をクロス時点記憶部１２２に記憶する。
【０１１０】
クランク角速度算出部１２３Ｂは、クロス時点算出部１２０により算出された上りクロス時点に基づいて、クランク角速度を算出すると共に、第２クロス時点算出部１４２により算出された下りクロス時点に基づいて、クランク角速度を算出する。上りクロス時点に基づいてクランク角速度を算出する方法は、上述のとおりである。また、下りクロス時点に基づいてクランク角速度を算出する方法は、上りクロス時点に基づいてクランク角速度を算出する方法と実質的に同様であるので、説明を簡略化する。具体的には、クランク角速度算出部１２３Ｂは、非欠歯区間において、時間軸上で隣接する２つの下りクロス時点間の時間と、ピッチ角Δθとに基づいて、クランク角速度を算出する。以下、区別するときには、上りクロス時点に基づき算出されるクランク角速度を、「第１クランク角速度」と称し、下りクロス時点に基づき算出されるクランク角速度を、「第２クランク角速度」と称する。
【０１１１】
図２０及び図２１は、クランク角速度算出部１２３Ｂによる算出される第１クランク角速度及び第２クランク角速度の説明図である。図２０では、上りクロス時点ｔｕ１〜ｔｕ５と、それぞれに対応して算出される第１クランク角速度ωｕ１〜ωｕ５とが、センサ出力７０の上側に示される。また、図２０では、下りクロス時点ｔｄ１〜ｔｄ５と、それぞれに対応して算出される第２クランク角速度ωｄ１〜ωｄ５とが、センサ出力７０の下側に示される。図２１には、横軸に時間を取り、縦軸にクランク角速度を取り、第１クランク角速度及び第２クランク角速度の各算出結果の時系列が示される。具体的には、上りクロス時点ｔｕ２〜ｔｕ８と、それぞれに対応して算出される第１クランク角速度ωｕ２〜ωｕ８と、下りクロス時点ｔｄ２〜ｔｄ８と、それぞれに対応して算出される第２クランク角速度ωｄ２〜ωｄ８とが示される。
【０１１２】
クランク角加速度算出部１３０Ｂは、クランク角速度算出部１２３Ｂより算出されたクランク角速度に基づいて、クランク角加速度を算出する。クランク角加速度算出部１３０Ｂは、クランク角速度記憶部１２４から直近の２算出周期分の第１クランク角速度と、クロス時点記憶部１２２から直近の２つの上りクロス時点とに基づいて、クランク角加速度を算出する。また、クランク角加速度算出部１３０Ｂは、クランク角速度記憶部１２４から直近の２算出周期分の第２クランク角速度と、クロス時点記憶部１２２から直近の２つの下りクロス時点とに基づいて、クランク角加速度を算出する。クランク角加速度を算出する方法は、上述のとおりである。以下、区別するときには、上りクロス時点に基づき算出されるクランク角加速度を、「第１クランク角加速度」と称し、下りクロス時点に基づき算出されるクランク角加速度を、「第２クランク角加速度」と称する。
【０１１３】
エンジントルク算出部１６０Ｂは、クランク角加速度算出部１３０Ｂにより算出されたクランク角加速度に基づいて、エンジントルクを算出する。具体的には、エンジントルク算出部１６０Ｂは、クランク角速度算出部１２３Ｂより第１クランク角加速度が算出されると、該第１クランク角加速度に基づいて、図示トルクを算出する。また、エンジントルク算出部１６０Ｂは、クランク角速度算出部１２３Ｂより第２クランク角加速度が算出されると、該第２クランク角加速度に基づいて、図示トルクを算出する。クランク角加速度から図示トルクを算出する方法は、上述のとおりである。
【０１１４】
図２２は、エンジントルク算出装置１０Ｂにより実行されるエンジントルク算出処理の一例を示すフローチャートである。図２２に示す処理は、例えばサンプル値取得部１１１のサンプリングレート毎に実行されてよい。尚、図２２に示す処理中は、エンジントルク算出装置１０Ｂにはクランク角度センサ４のセンサ出力が入力され続ける。
【０１１５】
ステップＳ１００〜ステップＳ１１０の処理は、図１４で説明した通りである。但し、ステップＳ１０２において、判定結果が"ＹＥＳ"の場合は、ステップＳ１０４に進み、判定結果が"ＮＯ"の場合は、ステップＳ３０２に進む。
【０１１６】
ステップＳ３０２では、第２クロス時点算出部１４２は、ステップＳ１００でサンプル値取得部１１１が取得したサンプリング値が所定基準値Ｖｒｅｆを負の方向にクロスしたか否かを判定する。例えば、第２クロス時点算出部１４２は、前回のサンプリング値が所定基準値Ｖｒｅｆよりも大きいが、今回のサンプリング値が所定基準値Ｖｒｅｆ未満である場合は、サンプリング値が所定基準値Ｖｒｅｆを負の方向にクロスしたと判定する。判定結果が"ＹＥＳ"の場合は、ステップＳ３０４に進み、判定結果が"ＮＯ"の場合は、今回周期の処理はそのまま終了する。
【０１１７】
ステップＳ３０４では、第２クロス時点算出部１４２は、サンプル値記憶部１１４内の直近の２時点のサンプリング値を取り出し、取り出した２時点のサンプリング値に基づいて、下りクロス時点を算出する。下りクロス時点の算出方法は、上述のとおりである。第２クロス時点算出部１４２は、算出した下りクロス時点をクロス時点記憶部１２２に記憶する。
【０１１８】
ステップＳ３０６では、クランク角速度算出部１２３Ｂは、クロス時点記憶部１２２から直近の２つの下りクロス時点を取り出し、取り出した直近の２つの下りクロス時点と、ピッチ角Δθ（既知）とに基づいて、第２クランク角速度を算出する。第２クランク角速度の算出方法は、上述のとおりである。クランク角速度算出部１２３Ｂは、算出した第２クランク角速度をクランク角速度記憶部１２４に記憶する。
【０１１９】
ステップＳ３０８では、クランク角加速度算出部１３０Ｂは、クランク角速度記憶部１２４内の直近の２算出周期分の第２クランク角速度と、クロス時点記憶部１２２内の直近の２つの下りクロス時点とに基づいて、第２クランク角加速度を算出する。第２クランク角加速度の算出方法は、上述のとおりである。
【０１２０】
ステップＳ３１０では、エンジントルク算出部１６０Ｂは、ステップＳ３０８で算出された第２クランク角加速度に基づいて、図示トルクを算出する。図示トルクの算出方法は、上述のとおりである。
【０１２１】
このようにして図２２に示す処理によれば、センサ出力が所定基準値Ｖｒｅｆを超える毎に（即ち上りクロス時点が発生する毎に）、及び、センサ出力が所定基準値Ｖｒｅｆを下回る毎に（即ち下りクロス時点が発生する毎に）、現在の図示トルクを精度良く算出できる。これにより、例えばサンプリングレートを必要以上に高めることなく、リアルタイムに短い周期で図示トルクを精度良く算出できる。このようなエンジントルク算出装置１０は、リアルタイムで図示トルクを精度良く算出できるので、エンジン制御システムの高性能化に有効に利用できる。例えば、実施例３によるエンジントルク算出装置１０Ｂは、図１５に示したエンジン制御システム２のエンジントルク算出装置１０（実施例１によるエンジントルク算出装置１０）に代えて同様に機能できる。
【０１２２】
尚、実施例３では、上述したように、第２クロス時点算出部１４２は、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値に基づいて、下りクロス時点を算出するが、これに限られない。例えば、第２クロス時点算出部１４２は、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値に、他のサンプリング値を加えた３時点以上でのサンプリング値に基づいて、下りクロス時点を算出してもよい。この場合、下りクロス時点の算出に用いられる３時点以上でのサンプリング点としては、好ましくは、下り区間内のサンプリング点である。
【０１２３】
また、実施例３では、上述したように、第２クロス時点算出部１４２は、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値として、所定基準値Ｖｒｅｆを超える直前と直後の各サンプリング値を用いるが、これに限られない。例えば、下りクロス時点の算出に用いられる２時点でのサンプリング値は、下り区間内の２時点でのサンプリング値である限り、任意である。従って、例えば、下りクロス時点の算出に用いられる２時点でのサンプリング値は、センサ出力が最大電圧ＶＭＡＸから下降し始めた後であって所定基準値Ｖｒｅｆを下回る前における任意の２時点でのサンプリング値であってもよい。同様に、下りクロス時点の算出に用いられる２時点でのサンプリング値は、センサ出力が所定基準値Ｖｒｅｆを下回った後であって最少電圧ＶＭＩＮに至る前における任意の２時点でのサンプリング値であってもよい。
【０１２４】
また、実施例３では、上述したように、クランク角加速度算出部１３０Ｂは、上りクロス時点と下りクロス時点とを独立的に（別々に）用いて、第１クランク角加速度及び第２クランク角加速度をそれぞれ算出するが、これに限られない。例えば、クランク角加速度算出部１３０Ｂは、直近の第１及び第２クランク角速度の組み合わせと、直近の上りクロス時点及び下りクロス時点の組み合わせとに基づいて、クランク角加速度を算出することとしてもよい。
【０１２５】
［実施例４］
実施例４は、振幅がエンジン回転数等に応じて変化しうるクランク角度センサ４Ｃのセンサ出力に基づいて、クランク角速度を算出する点が、上述した実施例１と異なる。具体的には、上述した実施例１では、センサ出力は、固定の最大電圧ＶＭＡＸと固定の最少電圧ＶＭＩＮとの間を周期的に上下するが、実施例４では、センサ出力は、最大電圧及び最少電圧が変化しうる。このようなセンサ出力の特性を持つクランク角度センサ４Ｃは、例えば電磁ピックアップ（ＭＰＵ：Magnetic Pickup）式である。
【０１２６】
図２３は、電磁ピックアップ式のクランク角度センサ４Ｃの説明図である。図２３には、クランク角度センサ４Ｃが概略的な断面図で示されると共に、クランク角度センサ４Ｃに関連してクランクロータ５が図示されている。クランク角度センサ４Ｃは、検出コイル４１と、マグネット４２と、ポールピース４３とを含む。図２３に示す例では、クランクロータ５は、磁性体のインボリュート歯車である。クランクロータ５が回転すると、磁性体であるクランクロータ５の歯の部分がポールピース４３に近づいたり離れたりすることを繰り返す。これに伴い、マグネット４２とポールピース４３とにより形成される磁路の状態が変化し、検出コイル４１を貫通する磁束が変化する。具体的には、クランクロータ５の回転に伴い、クランクロータ５の歯がポールピース４３に接近すると検出コイル４１を貫通する磁束が増え、クランクロータ５の歯がポールピース４３から遠ざかると検出コイル４１を貫通する磁束が減るという状態を繰り返す。検出コイル４１に発生する誘導起電力Ｖは、以下のとおりである。
【０１２７】
【数６】
2017193991.tif 000008
ここで、Ｎはコイルの巻き数であり、φｍは検出コイル４１を貫通する磁束である。誘導起電力Ｖは、クランクロータ５の回転に伴い、図２４に示すように変化する。図２４に示すような誘導起電力Ｖの波形は、クランク角度センサ４のセンサ出力として取り出される。尚、図２４において、Ｙ１部は、クランクロータ５の欠歯部に起因した波形特徴を示す。センサ出力は、図２４に示すように、クランク角度0〜720ＣＡの区間において、クランクシャフトの回転に伴い周期的に０を跨いで（即ち０Ｖをクロスして）振幅の最大点及び最小点が発生する区間と、上死点検出用の欠歯区間とを含む。尚、非欠歯区間においては、センサ出力が０Ｖを負から正の方向（上り）にクロスする毎に、クランク角度がピッチ角Δθだけ進角することになる。
【０１２８】
実施例４によるエンジントルク算出装置１０Ｃは、上述した実施例１によるエンジントルク算出装置１０に対して、ハードウェア構成自体は同じであってよいが、機能が、以下の通り異なる。
【０１２９】
図２５は、エンジントルク算出装置１０Ｃの機能ブロック図である。実施例４によるエンジントルク算出装置１０Ｃは、上述した実施例１によるエンジントルク算出装置１０に対して、クロス時点算出部１２０がクロス時点算出部１２０Ｃで置換された点が主に異なる。他の構成要素は、上述した実施例１によるエンジントルク算出装置１０と実質的に同様であってよく、図２５において、同一の参照符号を付して説明を省略する。クロス時点算出部１２０Ｃは、制御部１０１が主記憶部１０２内のプログラムを実行することにより実現できる。
【０１３０】
クロス時点算出部１２０Ｃは、センサ出力の上り区間内の２時点でのサンプリング値に基づいて、センサ出力が所定基準値Ｖｒｅｆとなる時点を算出する。所定基準値Ｖｒｅｆは、任意であるが、実施例４では、一例として、０［Ｖ］である。実施例４では、一例として、クロス時点算出部１２０Ｃは、センサ出力の上り区間内の、０を挟む２時点でのサンプリング値に基づいて、センサ出力が０をクロスする時点であるクロス時点を算出する。
【０１３１】
図２６は、クロス時点算出部１２０Ｃによるクロス時点の算出方法の説明図である。図２６には、横軸に時間を取り、縦軸に電圧を取り、センサ出力の波形７０が示されている。図２６には、サンプリング周期ｉ（＝ｎ−３〜ｎ＋２）で得られたサンプリング点ｓ（ｎ−３）〜ｓ（ｎ＋２）が○印で示される。図２６に示す例では、所定基準値Ｖｒｅｆを挟む２時点でのサンプリング値は、サンプリング点ｓ（ｎ−１）での電圧値ｖ（ｎ−１）及びサンプリング点ｓ（ｎ）での電圧値ｖ（ｎ）である。
【０１３２】
クロス時点算出部１２０Ｃは、上述した実施例１と同様、２時点でのサンプリング値間の差分ΔＶと、２時点間の時間ｄｔとに基づいて、２時点間でのセンサ出力の時間変化率βを算出できる。図２６では、２時点でのサンプリング値間の差分ΔＶは、ΔＶ＝ｖ（ｎ）−ｖ（ｎ−１）である。従って、２時点間でのセンサ出力の時間変化率βは、β＝ΔＶ／ｄｔ＝（ｖ（ｎ）−ｖ（ｎ−１））／ｄｔである。そして、クロス時点算出部１２０Ｃは、算出した時間変化率βに基づいて、クロス時点ｔｃを、以下の通り算出できる。
ｔｃ＝（Ｖｒｅｆ−ｖ（ｎ−１））／β＋ｔ（ｎ−１）
変形例では、クロス時点算出部１２０Ｃは、センサ出力の上り区間内の３時点以上でのサンプリング値に基づいて、センサ出力が０をクロスする時点であるクロス時点を算出してもよい。例えば、図２６に示す例では、センサ出力の上り区間内の３時点以上でのサンプリング値は、サンプリング点ｓ（ｎ−１）での電圧値ｖ（ｎ−１）、サンプリング点ｓ（ｎ）での電圧値ｖ（ｎ）、及びサンプリング点ｓ（ｎ＋１）での電圧値ｖ（ｎ＋１）である。この場合、クロス時点算出部１２０Ｃは、センサ出力の上り区間内の３時点以上でのサンプリング点に対して近似曲線又は近似直線を導出し、導出した近似曲線又は近似直線に基づいて、クロス時点を算出できる。近似曲線の導出には、例えば、ラグランジュ補間、スプライン補間、sinc関数による補間などが用いられてもよい。変形例によれば、上述した時間変化率βを用いる場合よりも、真値に対する精度の高いクロス時点を導出できる。
【０１３３】
実施例４によっても、上述した実施例１と同様の効果が得られる。尚、実施例４では、電磁ピックアップ式のクランク角度センサ４Ｃが用いられるが、例えばホール素子を用いたクランク角度センサ（ホール効果を利用した磁気センサ）が用いられてもよい。
【０１３４】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【０１３５】
例えば、上述した実施例１（実施例２〜４においても同様）では、Ａ／Ｄコンバータ１１０はエンジントルク算出装置１０内に設けられるが、Ａ／Ｄコンバータ１１０は、クランク角度センサ４を含むセンサユニット内に組み込まれてもよい。
【０１３６】
また、上述した実施例１（実施例２〜４においても同様）では、エンジントルク算出装置１０が、エンジン状態パラメータ算出装置の一例であり、算出対象のエンジン状態パラメータは、図示トルクであった。しかしながら、算出対象のエンジン状態パラメータは、図示トルク以外のエンジントルク（例えば、正味トルクや、図示トルクから外部負荷トルクを差し引いたトルク等）であってもよい。或いは、算出対象のエンジン状態パラメータは、エンジントルクに関連する他のパラメータ（例えば、クランク角度、クランク角速度、クランク角加速度等）であってもよい。例えば、上述した実施例１（実施例２〜４においても同様）において、エンジントルク算出装置１０の一部（例えば、図７のＸ１部）は、クランク角度算出装置として具現化できる。この場合、クランク角度算出装置は、クロス時点算出部１２０で算出したクロス時点で立ち上がりエッジとなるクランク角信号（Ｈｉ／Ｌｏの２値のデジタル信号）を発生させてもよい。また、この場合、クランク角度算出装置は、クランク角度センサ４を含むセンサユニット内に組み込まれてもよい。同様に、上述した実施例１（実施例２〜４においても同様）において、エンジントルク算出装置１０の一部（例えば、図７のＸ１部＋Ｘ２部）は、クランク角速度算出装置として具現化できる。また、同様に、上述した実施例１（実施例２〜４においても同様）において、エンジントルク算出装置１０の一部（例えば、図７のＸ１部＋Ｘ２部＋Ｘ３部）は、クランク角加速度算出装置として具現化できる。
【０１３７】
また、上述した実施例１（実施例２〜４においても同様）では、一例としてエンジンを備える車両を対象としたが、エンジンを備える限り、対象は、任意である。例えば、対象は、エンジンを備える鉄道車両、エンジンを備える船舶、エンジンを備える建設機械、エンジンを備えるバイク（車両の一種）、エンジンを備える航空機、エンジンを備えるヘリコプター等であってもよい。
【０１３８】
なお、以上の実施例に関し、さらに以下の付記を開示する。
（付記１）
エンジンのクランクシャフトに対して設けられるクランク角度センサのセンサ出力の複数時点でのサンプリング値を取得する取得部と、
前記センサ出力が上昇又は下降する区間内の２時点での前記サンプリング値に基づいて、前記センサ出力が所定基準値となる時点である基準時点を算出する基準時点算出部と、
前記基準時点算出部により算出される基準時点に基づいて、エンジンの状態を表すパラメータを算出するパラメータ算出部とを含む、エンジン状態パラメータ算出装置。
（付記２）
前記パラメータは、クランク角度、クランク角速度、クランク角加速度、及びエンジントルクのうちの少なくともいずれか１つを含む、付記１に記載のエンジン状態パラメータ算出装置。
（付記３）
前記基準時点算出部は、前記２時点での前記サンプリング値間の差分と、前記２時点間の時間とに基づいて、前記２時点間での前記センサ出力の時間変化率を算出し、前記時間変化率に基づいて、前記基準時点を算出する、付記１又は２に記載のエンジン状態パラメータ算出装置。
（付記４）
前記基準時点算出部は、前記２時点のうちの一方の時点での前記サンプリング値と前記所定基準値との差分を前記時間変化率で割ることで得られる時間が、前記一方の時点及び前記基準時点間の時間に一致するように、前記基準時点を算出する、付記３に記載のエンジン状態パラメータ算出装置。
（付記５）
前記２時点での前記サンプリング値は、所定値を挟み、前記所定値は、前記センサ出力の最大値未満且つ前記センサ出力の最小値よりも大きい、付記１〜４のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
（付記６）
前記所定値は、前記所定基準値と等しい、付記５に記載のエンジン状態パラメータ算出装置。
（付記７）
前記基準時点算出部は、前記２時点を含む前記区間内の３時点以上での前記サンプリング値に基づいて、前記基準時点を算出する、付記１又は２に記載のエンジン状態パラメータ算出装置。
（付記８）
前記基準時点算出部は、前記３時点以上の前記サンプリング値に基づいて、前記区間内の前記センサ出力の近似曲線又は近似直線を導出し、前記近似曲線又は近似直線に基づいて、前記基準時点を算出する、付記７に記載のエンジン状態パラメータ算出装置。
（付記９）
前記センサ出力は、クランクシャフトの回転に伴い所定のピッチ角毎に上昇及び下降する第１区間と、上死点検出用の第２区間とを含み、
前記パラメータ算出部は、前記第１区間において、時間軸上で隣接する２つの前記基準時点間の時間と、前記所定のピッチ角とに基づいて、前記パラメータを算出する、付記１〜８のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
（付記１０）
前記基準時点算出部により算出される前記基準時点は、前記センサ出力が上昇する上り区間における第１基準時点、及び、前記センサ出力が下降する下り区間における第２基準時点のうちの少なくともいずれか一方である、付記１〜９のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
（付記１１）
前記基準時点算出部により算出される前記基準時点は、前記第１基準時点及び前記第２基準時点を含み、
前記パラメータは、前記第１基準時点に基づく第１クランク角速度と、前記第２基準時点に基づく第２クランク角速度とを含む、付記１０に記載のエンジン状態パラメータ算出装置。
（付記１２）
前記取得部は、Ａ／Ｄコンバータを介して、所定のサンプリングレートで前記センサ出力をサンプリングすることで複数時点での前記サンプリング値を取得する、付記１〜１１のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
（付記１３）
前記センサ出力は、固定の最大値と固定の最小値との間で変動し、
前記基準時点の算出に用いられる前記サンプリング値は、前記最大値よりも小さく且つ前記最小値よりも大きい、付記１〜１２のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
（付記１４）
前記基準時点算出部は、時間と前記センサ出力とを２軸とする２次元座標系において、前記２時点のうちの一方の時点と、該一方の時点での前記サンプリング値とで定まる点を通り、前記時間変化率を傾きとする直線が、前記所定基準値を表す直線と交わる交点の座標に基づいて、前記基準時点を算出する、付記３に記載のエンジン状態パラメータ算出装置。
（付記１５）
前記センサ出力は、固定の最大値と固定の最小値との間で変動し、
前記所定基準値は、前記最大値未満且つ前記最小値よりも大きく、
前記２時点での前記サンプリング値は、前記所定基準値を挟む、付記１〜４のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
（付記１６）
エンジンのクランクシャフトに対して設けられるクランク角度センサのセンサ出力の複数時点でのサンプリング値を取得し、
前記センサ出力が上昇又は下降する区間内の２時点での前記サンプリング値に基づいて、前記センサ出力が所定基準値となる時点である基準時点を算出し、
前記基準時点に基づいて、エンジンの状態を表すパラメータを算出することを含む、コンピュータにより実行されるエンジン状態パラメータ算出方法。
（付記１７）
エンジンと、
エンジンのクランクシャフトに対して設けられるクランク角度センサと、
前記クランク角度センサのセンサ出力の複数時点でのサンプリング値を取得する取得部と、
前記センサ出力が上昇又は下降する区間内の２時点での前記サンプリング値に基づいて、前記センサ出力が所定基準値となる時点である基準時点を算出する基準時点算出部と、
前記基準時点算出部により算出される基準時点に基づいて、エンジンを制御するエンジン制御部とを含む、エンジン制御システム。
【符号の説明】
【０１３９】
１  エンジントルク算出システム
２  エンジン制御システム
４、４Ｃ  クランク角度センサ
５  クランクロータ
５ａ  欠歯部
５ｂ  突起
６  クランクシャフト
８  センサ群
１０、１０Ａ、１０Ｂ、１０Ｃ  エンジントルク算出装置
３０  エンジン制御装置
３１  運転者要求駆動力算出部
３２  運転者支援駆動力算出部
３３  目標駆動力調停部
３４  フィードバック制御部
４１  検出コイル
４２  マグネット
４３  ポールピース
８０  エンジン
１１０  Ａ／Ｄコンバータ
１１１  サンプル値取得部
１１４  サンプル値記憶部
１２０、１２０Ｃ  クロス時点算出部
１２１、１２１Ａ  クランク角度算出部
１２２、１２２Ｂ  クロス時点記憶部
１２３、１２３Ａ、１２３Ｂ  クランク角速度算出部
１２４  クランク角速度記憶部
１３０、１３０Ａ、１３０Ｂ  クランク角加速度算出部
１４０  最大到達時点算出部
１４１  最大到達時点記憶部
１４２  第２クロス時点算出部
１６０、１６０Ｂ  エンジントルク算出部
【図１】
2017193991.tif 000009
【図２】
2017193991.tif 000010
【図３】
2017193991.tif 000011
【図４】
2017193991.tif 000012
【図５】
2017193991.tif 000013
【図６】
2017193991.tif 000014
【図７】
2017193991.tif 000015
【図８】
2017193991.tif 000016
【図９】
2017193991.tif 000017
【図１０】
2017193991.tif 000018
【図１１】
2017193991.tif 000019
【図１２】
2017193991.tif 000020
【図１３】
2017193991.tif 000021
【図１４】
2017193991.tif 000022
【図１５】
2017193991.tif 000023
【図１６】
2017193991.tif 000024
【図１７】
2017193991.tif 000025
【図１８】
2017193991.tif 000026
【図１９】
2017193991.tif 000027
【図２０】
2017193991.tif 000028
【図２１】
2017193991.tif 000029
【図２２】
2017193991.tif 000030
【図２３】
2017193991.tif 000031
【図２４】
2017193991.tif 000032
【図２５】
2017193991.tif 000033
【図２６】
2017193991.tif 000034