(57)【要約】      （修正有）【課題】クランク角センサの異常発生時にカム角センサの出力信号に基づいてクランク角を推定する処理装置の処理負荷を軽減しつつ、エンジン回転速度の変化による推定クランク角と実際のクランク角とのずれ量を縮小することが可能なエンジン制御装置を提供する。【解決手段】異常検出部によりクランク角センサの異常が検出された場合に、カム角センサにより検出された各被検知部に対応するカム角センサの出力信号のうち、少なくとも一部の出力信号に基づいてクランク角を推定するクランク角推定部であって、少なくとも一部の出力信号が入力された場合に、推定されたクランク角を少なくとも一部の出力信号のそれぞれに対応する所定のクランク角に更新するクランク角推定部と、を有し、クランク角推定部は、エンジンの回転速度の変化量が所定量以上である場合は、エンジンの回転速度の変化量が所定量より小さい場合に比して、更新の回数を増やすことを特徴とする。【選択図】図３
2015090119.tif 000002
【特許請求の範囲】
【請求項１】
エンジンのクランク角を検出するクランク角センサと、
前記エンジンのカム軸と一体に回転するカムロータに設けられた複数の被検出部を検出することにより前記エンジンのカム角を検出するカム角センサと、
前記クランク角センサの異常を検出する異常検出部と、
前記異常検出部により前記クランク角センサの異常が検出された場合に、前記カム角センサにより検出された各前記被検出部に対応する前記カム角センサの出力信号のうち、少なくとも一部の出力信号に基づいて前記クランク角を推定するクランク角推定部であって、前記少なくとも一部の出力信号が入力された場合に、前記推定されたクランク角を前記少なくとも一部の出力信号のそれぞれに対応する所定のクランク角に更新するクランク角推定部と、を有し、
前記クランク角推定部は、
前記エンジンの回転速度の変化量が所定量以上である場合は、前記エンジンの回転速度の変化量が所定量より小さい場合に比して、前記更新の回数を増やすことを特徴とする、
エンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クランク角センサ異常時におけるエンジン制御技術に関する。
【背景技術】
【０００２】
従来、クランク角センサの異常を検出した場合に、カム角センサにより検出されたカム軸の回転位置（カム角）に基づいてクランク角を推定するエンジン制御装置が知られている（例えば、特許文献１）。これにより、クランク角センサに異常が発生して、クランク角を検出することができない場合であっても、推定されたクランク角に基づいて、エンジンの制御を継続することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３６８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記従来技術では、ＥＣＵ等の処理負荷の増大を防止するため、カム角により検出されるカムロータのエッジの一部である基準エッジ（例えば、所定クランク角間隔で選出）に対応する出力信号によりクランク角の推定を行う場合が多い。具体的には、基準エッジと基準エッジの間の時間間隔を計測し、該時間間隔を分周することにより推定クランク角を算出する。また、基準エッジに対応する出力信号が入力された場合、推定クランク角を該基準エッジに対応するクランク角に更新（修正）する。
【０００５】
しかしながら、車両の加減速によりエンジンの回転速度が変化した場合、基準エッジと基準エッジの間では、実際のクランク角の変化を推定クランク角に反映することができないため、推定クランク角に実際のクランク角とのずれを大きく蓄積するおそれがある。これにより、推定クランク角と実際のクランク角に想定以上の差が生じ、エンジンの制御を適切に行うことができなくなるおそれがある。
【０００６】
そこで、上記課題に鑑み、クランク角センサの異常発生時にカム角センサの出力信号に基づいてクランク角を推定する処理装置の処理負荷を軽減しつつ、エンジン回転速度の変化による推定クランク角と実際のクランク角とのずれ量を縮小することが可能なエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、一実施形態において、エンジン制御装置は、
エンジンのクランク角を検出するクランク角センサと、
前記エンジンのカム軸と一体に回転するカムロータに設けられた複数の被検出部を検出することにより前記エンジンのカム角を検出するカム角センサと、
前記クランク角センサの異常を検出する異常検出部と、
前記異常検出部により前記クランク角センサの異常が検出された場合に、前記カム角センサにより検出された各前記被検知部に対応する前記カム角センサの出力信号のうち、少なくとも一部の出力信号に基づいて前記クランク角を推定するクランク角推定部であって、前記少なくとも一部の出力信号が入力された場合に、前記推定されたクランク角を前記少なくとも一部の出力信号のそれぞれに対応する所定のクランク角に更新するクランク角推定部と、を有し、
前記クランク角推定部は、
前記エンジンの回転速度の変化量が所定量以上である場合は、前記エンジンの回転速度の変化量が所定量より小さい場合に比して、前記更新の回数を増やすことを特徴とする。
【発明の効果】
【０００８】
本実施の形態によれば、クランク角センサの異常発生時にカム角センサの出力信号に基づいてクランク角を推定する処理装置の処理負荷を軽減しつつ、エンジン回転速度の変化による推定クランク角と実際のクランク角とのずれ量を縮小することが可能なエンジン制御装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係るエンジン制御装置を示すブロック図である。
【図２】カムロータの形状及びカム角信号の一例を示す図である。
【図３】クランク角センサの異常時におけるエンジン制御装置（エンジンＥＣＵ）の動作を示すフローチャートである。
【図４】エンジン制御装置（エンジンＥＣＵ）によるエンジンの加速又は減速の検出手法を説明する図である。
【図５】エンジン１０の減速時において、エンジン制御装置（エンジンＥＣＵ）により算出された推定クランク角の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して発明を実施するための形態について説明する。
【００１１】
図１は、本実施形態に係るエンジン制御装置１を示すブロック図である。
【００１２】
エンジン制御装置１は、該エンジン制御装置１により制御されるエンジン１０を駆動力源の一つとする車両に搭載され、クランク角センサ１１、クランクロータ１１ａ、カム角センサ１２、カムロータ１２ａ、エンジンＥＣＵ２０等を含む。なお、本実施形態において、エンジン１０は、ピストンが２往復（クランクシャフトが２回転（７２０°））する間に、吸気→圧縮→膨張→排気からなる一連の４工程（１サイクル）を行うレシプロ式ガソリンエンジンであるものとして、以下説明を行う。
【００１３】
クランク角センサ１１は、エンジン１０のクランクシャフト（不図示）の回転位置（クランク角）を検出する検出手段である。具体的には、後述するクランクロータ１１ａの回転角を検出することによりクランク角を検出する。クランク角センサ１１は、クランクロータ１１ａの外周に所定角度（例えば、１０°）毎に設けられる信号歯を検出し、クランク角信号をエンジンＥＣＵ２０に出力する。具体的には、検出した信号歯に対応する出力信号（Ｈｉ信号）と信号歯の非検出時における出力信号（Ｌｏ信号）とを交互に含んだ矩形波からなるクランク角信号をエンジンＥＣＵ２０に出力する。クランク角センサ１１としては、例えば、ＭＲ（Ｍａｇｎｅｔｉｃ  Ｒｅｓｉｓｔａｎｃｅ）素子用いたセンサ等、クランク角を検出可能な任意のセンサが適用されてよい。
【００１４】
クランクロータ１１ａは、クランク軸に固定され、クランク軸の回転に伴い回転する。クランクロータ１１ａには、上述したとおり、外周に所定角度毎の信号歯が形成され、該信号歯が対向配置されるクランク角センサ１１により検出される。また、クランクロータ１１ａの外周のうち、所定の角度位置に欠歯（信号歯が形成されていない）部分が設けられ、該欠歯部分は基準位置を示す。これにより、信号歯の絶対位置を検出することができる。当該基準位置は、例えば、エンジン１０の所定気筒の上死点にあたるクランク角等のように決定されてよい。なお、クランクロータ１１ａは、エンジン１０のクランク軸の回転に応じてＭＲ素子等により検出可能な磁束変化を生じさせるものであればよく、例えば、磁性体により形成されてよい。
【００１５】
カム角センサ１２は、吸気カムシャフト又は排気カムシャフトの回転位置（カム角）を検出する検出手段である。具体的には、後述するカムロータ１２ａの回転角を検出することによりカム角を検出する。カムロータ１２ａの外周に設けられた山と谷のエッジを検出し、山と谷に対応したＨｉ信号とＬｏ信号とを交互に含んだ矩形波をエンジンＥＣＵ２０に出力する。カム角センサ１２としては、例えば、ＭＲ素子を用いたセンサ等、カム角を検出可能な任意のセンサが適用されてよい。
【００１６】
カムロータ１２ａは、吸気カム又は排気カムに固定され、吸気カム又は排気カムの回転に伴い回転する。カムロータ１２ａには、上述したとおり、外周に山と谷とが設けられ、山及び谷のエッジ（被検出部）が対向配置されるカム角センサ１２により検出される。なお、カムロータ１２ａは、カム軸の回転に応じてＭＲ素子等により検出可能な磁束変化を生じさせるものであればよく、例えば、磁性体により形成されてよい。
【００１７】
ここで、図２（ａ）は、カムロータ１２ａの形状の一例を示す図である。クランクシャフトが２回転（１サイクル）する間に、カムシャフトは１回転するようになっている。よって、本実施形態では、クランクシャフトの回転角であるクランク角（以下、角度表記においては、「ＣＡ」と表記する）を基準にして、カムロータ１２ａの回転角（カム角）を表記する。
【００１８】
図２（ａ）を参照するに、カムロータ１２ａは、山及び谷のエッジの中から後述する基準エッジがＡ〜Ｄの４つ設定されている。また、基準エッジＡを基点にして順に、１８０°ＣＡの谷、１２０°ＣＡの山、６０°ＣＡの谷、１８０°ＣＡの山、１２０°ＣＡの谷、６０°ＣＡの山が形成されている。
【００１９】
また、図２（ｂ）は、カム角センサ１２から出力されるカム角信号を示している。上述したカムロータ１２ａの山と谷とに対応した矩形波がカム角信号として表されており、該カム角信号がエンジンＥＣＵ２０に出力される。
【００２０】
図１に戻り、エンジンＥＣＵ２０は、エンジン制御を行う制御手段である。マイクロコンピュータによって構成され、プログラムを実行するＣＰＵ（不図示）、プログラム等を記憶するＲＯＭ（不図示）、一時的にデータを記憶するＲＡＭ（不図示）、タイマ、カウンタ、入出力インターフェース等を含む。エンジンＥＣＵ２０には、クランク角センサ１１、カム角センサ１２からクランク角信号、カム角信号が入力される。エンジンＥＣＵ２０は、入力されたクランク角信号、カム角信号に基づき、エンジン１０のクランク角、カム角を検出し、検出したクランク角、カム角に基づいて、燃料噴射時期、点火時期、バルブタイミングの変更等の各種制御処理を行う。その際、エンジン１０のアクチュエータ、例えば、インジェクタ、スパークプラグ等に指令信号を出力する。上記各種制御処理は、ＲＯＭに記憶された各種制御処理に対応するプログラムをＣＰＵ上で実行することにより行われる。
【００２１】
また、エンジンＥＣＵ２０は、クランク角センサ１１からのクランク角信号に基づいて、クランク角センサ１１の異常を検出する。例えば、カム角信号の各エッジに対応する出力信号（立ち上がり又は立ち下がり）に対して、クランクロータ１１ａの信号歯に対応する出力信号（Ｈｉ信号）の数が少ない場合や、クランク角信号の信号レベルが所定範囲を外れた場合に、クランク角センサ１１の異常を検出してよい。エンジンＥＣＵ２０は、クランク角センサ１１の異常を検出した場合、フェールセーフ機能として、カム角信号に基づきクランク角を推定し、推定されたクランク角（以下、推定クランク角と呼ぶ）を用いて、エンジン１０の各種制御を行う。これにより、クランク角センサ１１に異常が発生した場合であっても、すぐに車両が走行不能になることがなく、安全な場所まで退避走行させる等することができる。なお、カムロータ１２ａの各エッジは、所定のクランク角と同期しているため、カムロータ１２ａの各エッジに対応する出力信号により該出力信号の時点におけるクランク角は、検出することが可能である。
【００２２】
次に、エンジン制御装置１（エンジンＥＣＵ２０）によるフェールセーフ機能としてのクランク角の推定手法について、具体的に説明をする。
【００２３】
図３は、クランク角センサ１１の異常時におけるエンジン制御装置１（エンジンＥＣＵ２０）による推定クランク角の算出方法の決定フローを示している。当該フローは、エンジンＥＣＵ２０によりクランク角センサ１１の異常が検出された場合に、カム角信号中のカムロータ１２ａの基準エッジに対応する出力信号が入力される毎に実行されてよい。また、推定クランク角は、所定角度（例えば、３０°）毎に更新（算出）されてよい。
【００２４】
ステップＳ１０１にて、エンジンＥＣＵ２０は、エンジン１０の加速又は減速があるか否か、即ち、エンジン１０の回転速度に所定量以上の変化があるか否かを判定する。
【００２５】
ここで、エンジン１０が加速又は減速しているか否かの具体的な判定手法について、説明をする。
【００２６】
図４は、エンジン制御装置１（エンジンＥＣＵ２０）によるエンジン１０の加速又は減速の検出手法を説明する図である。
【００２７】
図４（ａ）は、エンジン１０の加速又は減速の検出手法の一例を説明する図であり、本例では、エンジン１０の所定の回転動作に要する時間を最新状態とその直前の状態とで比較することにより、エンジン１０が加速又は減速しているか否かを検出する。なお、図中の白抜きの上向きの矢印は、カムロータ１２ａの基準エッジに対応する出力信号を示している。
【００２８】
図４（ａ）の例では、エンジン１０の１サイクル（クランク角の７２０°回転）に要した時間を直近の１サイクルとその前の１サイクルとで比較することによりエンジン１０の加速又は減速を判定している。これに対応して、エンジンＥＣＵ２０は、基準エッジを検出してから次に当該基準エッジが検出されるまでの時間（クランク角７２０°分の時間）を内部のＲＡＭ等に記憶するとよい。例えば、カム角信号中にカムロータ１２ａの基準エッジに対応する信号が入力された場合、当該最新の基準エッジから遡って、１サイクル分の時間（以下、現サイクル時間と呼ぶ）であるＴｃｙｃｌｅと、その前の１サイクル分の時間（以下、旧サイクル時間と呼ぶ）Ｔｃｙｃｌｅｏｌｄとの比較を行ってよい。そして、現サイクル時間と旧サイクル時間の変化率であるＴｃｙｃｌｅ／Ｔｃｙｃｌｅｏｌｄが加速判定定数ＴＨａｃｃ（例えば、１．１）より大きい場合、エンジン１０は加速していると判定することができる。また、Ｔｃｙｃｌｅ／Ｔｃｙｃｌｅｏｌｄが減速判定定数ＴＨｄｃｃ（例えば、０．９）より小さい場合、エンジン１０は減速していると判定することができる。
【００２９】
また、図４（ｂ）は、エンジン１０の加速又は減速の検出手法の他の例を説明する図であり、本例では、エンジン１０に対する目標トルク（要求トルク）に基づいて、エンジン１０の加速又は減速を判定する。エンジンＥＣＵ２０は、運転者のアクセル操作（アクセル開度）や車両状態等に基づいて、エンジン１０に出力させるトルクの目標値（目標トルク）を算出し、該目標トルクに基づいて、エンジン１０のアクチュエータを制御する。そこで、エンジンＥＣＵ２０により算出される目標トルクの変化を検出することによりエンジン１０が加速又は減速しているか否かを判定することができる。具体的には、カムロータ１２ａの基準エッジに対応する最新の出力信号が入力された時点における目標トルクＴＱと、前回の基準エッジに対応する出力信号が入力された時点における目標トルクＴＱｏｌｄとの比較を行ってよい。これに対応して、エンジンＥＣＵ２０は、各基準エッジに対応する信号が出力された時点における目標トルクを内部のＲＡＭ等に記憶するとよい。より具体的には、目標トルクの変化率であるＴＱ／ＴＱｏｌｄが加速判定定数ＴＨａｃｃ（例えば、１．１）より大きい場合、エンジン１０は加速していると判定することができる。また、ＴＱ／ＴＱｏｌｄが減速判定定数ＴＨｄｃｃ（例えば、０．９）より小さい場合、エンジン１０は減速していると判定することができる。なお、図中の実線は、目標トルクの時間経過に対する推移を示している。また、図中の白抜きの上向きの矢印は、カムロータ１２ａの基準エッジに対応する出力信号を示している。また、上記矢印に重ねて表記された数字は、各基準エッジに対応する出力信号が出力された時点における目標トルクを示しており、その値は、絶対値ではなく、各基準エッジ間での比率として表記している。
【００３０】
図４（ｂ）を参照するに、基準エッジに対応する最新の出力信号が入力された時点における目標トルクは３０である。また、その１つ前の基準エッジに対応する出力信号が入力された時点における目標トルクは、９５であり、更に１つ前の基準エッジに対応する出力信号が入力された時点における目標トルクは、１００である。例えば、目標トルクが１００から９５に変化した時点では、目標トルクの変化率ＴＱ／ＴＱｏｌｄは、０．９５であり、エンジン１０は減速又は加速していないと判定してよく、エンジン１０の加速又は減速状態は検出されない。しかし、目標トルクが９５から３０に変化した時点では、目標トルクの変化率ＴＱ／ＴＱｏｌｄは、０．３１５となり、エンジン１０は減速していると判定してよく、エンジン１０の減速状態が検出される。
【００３１】
このように、図３のステップＳ１０１においては、上述した手法等を用いて、エンジン１０が加速又は減速しているか否かを判定する。
【００３２】
なお、エンジン１０の加減速状態が検出される前後において、上記加速判定定数ＴＨａｃｃ及び減速判定定数ＴＨｄｃｃの値を、異なるものとしてもよい。例えば、前回の図３の処理フローにて、エンジン１０の加速状態が検出されていない場合の加速判定定数ＴＨａｃｃを１．１とし、エンジン１０の加速状態が検出されている場合の加速判定定数ＴＨａｃｃを１．０５としてよい。また、前回の図３の処理フローにて、エンジン１０の減速状態が検出されていない場合の減速判定定数ＴＨｄｃｃを０．９とし、エンジン１０の減速状態が検出されている場合の減速判定定数ＴＨｄｃｃを０．９５としてよい。即ち、定速状態と加減速状態とが頻繁に切り替わりにくいように、加速判定定数及び減速判定定数を設定してよい。これにより、図３の処理フローにて、エンジン１０の定速状態と加減速状態とが頻繁に切り替わること（チャタリング）によるエンジンＥＣＵ２０の処理負荷増大を抑制することができる。
【００３３】
図３に戻り、ステップＳ１０１において、エンジン１０の加速又は減速はないと判定された場合、ステップＳ１０２に進み、カムロータ１２ａの基準エッジに対応する出力信号によって、推定クランク角を算出する。
【００３４】
また、ステップＳ１０１において、エンジン１０の加速又は減速があると判定された場合、ステップＳ１０３に進み、カムロータ１２ａの全エッジに対応する出力信号によって、推定クランク角を算出する。
【００３５】
このように、クランク角センサ１１に異常が検出された場合、カム角信号中におけるカムロータ１２ａの基準エッジに対応する出力信号が入力される毎に、ステップＳ１０１〜Ｓ１０３により推定クランク角の算出方法を決定する。そして、基準エッジに対応する出力信号が次回入力されるまでエンジンＥＣＵ２０は、決定された推定クランク角の算出方法（ステップＳ１０２の算出方法又はステップＳ１０３の算出方法）により推定クランク角を算出する。
【００３６】
ここで、エンジン制御装置１（エンジンＥＣＵ２０）による具体的な推定クランク角の算出方法について説明をする。
【００３７】
まず、上記ステップＳ１０２に対応する算出方法について説明をする。
【００３８】
エンジンＥＣＵ２０は、前回の基準エッジに対応する出力信号が入力されてから最新の基準エッジに対応する出力信号が入力されるまでの時間を分周することにより推定クランク角を算出してよい。例えば、推定クランク角を３０°毎に更新（カウントアップ）する場合、前回の基準エッジに対応する出力信号から最新の基準エッジに対応する出力信号までの時間を６で割った時間毎に推定クランク角を３０°毎カウントアップ（更新）してよい。なお、エンジンＥＣＵ２０による推定クランク角の更新の起点は、最新の基準エッジに対応する出力信号が入力された時点とする。また、この場合、最新の基準エッジに対応する出力信号が入力されてから次回の基準エッジに対応する出力信号が入力されるまでに６回の推定クランク角のカウントアップ（更新）が実行されるが、６回目のカウントアップは、次回の基準エッジに対応する出力信号が入力された際にカウントアップ（更新）させる。これにより、推定クランク角と実際のクランク角とのずれを修正し、推定クランク角と実際のクランク角（カムロータ１２ａの各基準エッジに対応した所定のクランク角）と同期させることが可能となる。
【００３９】
次に、上記ステップＳ１０３に対応する算出方法について、具体例を用いて説明をする。
【００４０】
図５は、エンジン１０の加速又は減速時において、エンジンＥＣＵ２０により算出された推定クランク角の一例を示す図であり、本例では、エンジン１０の減速時における推定クランク角を示している。図５（ａ）は、エンジン１０の減速時において、推定クランク角の算出方法の切り替えを行うことにより算出された推定クランク角の一例を示す図である。最上段に、カムロータ１２ａの基準エッジＡから基準エッジＣまでを含む区間のカム角信号が示され、中段に、推定クランク角のカウンタの値が示され、最下段に、実際のクランク角のカウンタの値が示されている。なお、本例において、クランク角は、３０°毎に更新が行われ、カウンタの値が１ずつカウントアップされるものとする。また、推定クランク角のカウンタ値は、基準エッジＡを基準として、１（０°ＣＡ）から２４（６９０°ＣＡ）までカウントアップされ、エンジン１０の１サイクルで１（０°ＣＡ）に戻るものとする。また、基準エッジＡの時点において、エンジン１０の加速又は減速は検出されていないものとする。
【００４１】
図５（ａ）を参照するに、基準エッジＡから基準エッジＢまでは、図示しない基準エッジＤから基準エッジＡまでに要した時間を６で割った時間毎に推定クランク角のカウンタを１から６まで５回カウントアップ（更新）させている。また、基準エッジＢがクランク角のカウンタ値７に対応しているため、基準エッジＢに対応した出力信号が入力された時点で推定クランク角のカウンタを６から７に更新している。当該推定クランク角の算出方法（更新方法）は、上記ステップＳ１０２に対応したものである。
【００４２】
ここで、基準エッジＡから基準エッジＢまでの間で、実際のクランク角のカウンタは、次回更新されるまでの時間間隔が徐々に長くなっているのが分かる。そのため、基準エッジＢに対応する出力信号が入力された時点において、エンジンＥＣＵ２０は、上述した図４（ａ）、（ｂ）の検出手法を用いて、エンジン１０の減速を検出することができる。
【００４３】
そこで、エンジンＥＣＵ２０は、基準エッジＢから基準エッジＣの間は、全エッジに対応する出力信号により推定クランク角を算出する。即ち、上記ステップＳ１０３に対応する算出方法により推定クランク角を算出する。具体的には、基準エッジＢと基準エッジＣとの間のエッジａに対応する出力信号が入力された場合も推定クランク角の更新（同期）を行う。即ち、エッジａと対応して設定される所定のクランク角によって、推定クランク角の修正（同期）を行う。また、エッジａと基準エッジＣとの間の推定クランク角の更新は、基準エッジＢからエッジａまでに要した時間を分周した時間毎に行う。即ち、基準エッジＢからエッジａまでに要した時間を基準エッジＢからエッジａまでの推定クランク角の更新回数である４で割った時間毎に行う。
【００４４】
より具体的には、基準エッジＢからエッジａまでは、基準エッジＡから基準エッジＢまでに要した時間を６で割った時間毎に推定クランク角のカウンタを７から１０まで３回更新させている。また、エッジａがクランク角のカウンタ値１１に対応しているため、エッジａに対応した出力信号が入力された時点で推定クランク角のカウンタを１０から１１に更新している。
【００４５】
また、エッジａから基準エッジＣまでは、基準エッジＢからエッジａまでに要した時間を４で割った時間毎に推定クランク角のカウンタを１１から１２に１回更新している。また、基準エッジＣがクランク角のカウンタ値１３に対応しているため、基準エッジＣに対応した出力信号が入力された時点で推定クランク角のカウンタを１２から１３に更新している。
【００４６】
ここで、比較例として、図５（ａ）と同様の状況（基準エッジＡに対応する出力信号が出力された後において、エンジン１０が減速している状況）において、基準エッジに対応する出力信号のみに基づいて推定クランク角を算出した場合について説明をする。
【００４７】
図５（ｂ）は、エンジン１０の減速時において、推定クランク角の算出方法の切り替えを行わずに算出された推定クランク角の一例を示す図である。
【００４８】
図５（ｂ）を参照するに、本比較例において、エンジンＥＣＵ２０は、基準エッジＢから基準エッジＣまでの間において、エッジａに対応する出力信号が入力された際に、推定クランク角の更新（修正）を行っていない。また、エッジａから基準エッジＣまでの間においても、基準エッジＡから基準エッジＢまでに要した時間を６で割った時間毎に推定クランク角のカウントアップ（更新）を行っている。そのため、推定クランク角のカウンタが１１から１２に更新された時点を見ると、実際のクランク角のカウンタが１１から１２に更新される時点に対して、大きなずれが生じている（蓄積されている）のが分かる。このように、実際のクランク角に対して大きくずれた推定クランク角を用いた場合、エンジンＥＣＵ２０は、エンジン１０を適切に制御できない場合が生じる。
【００４９】
しかしながら、エンジン１０の減速時において、推定クランク角の算出手法を切り替える場合、図５（ａ）に示したように、基準エッジ以外のエッジａにおいても推定クランク角の更新（修正）が行われる。即ち、エンジン１０の回転速度の変化量が所定量以上である場合（加減速状態）は、エンジン１０の回転速度の変化量が所定量より小さい場合（定速状態）に比して、推定クランク角の更新の回数を増やす。そのため、推定クランク角と実際のクランク角とのずれ量を最小限に抑制することが可能となる。また、エンジン１０が加速又は減速していない状態（定速状態）においては、全エッジのうち、基準エッジに対応する出力信号に基づいて推定クランク角を算出するので、エンジンＥＣＵ２０の処理負荷の増大を抑制することができる。
【００５０】
このように、エンジン１０が加速又は減速しているか否かに応じて、推定クランク角の算出手法を切り替えることによりエンジンＥＣＵ２０の処理負荷を抑制しつつ、推定クランク角と実際のクランク角とのずれ量を縮小することができる。そのため、エンジンＥＣＵ２０は、クランク角センサ１１に異常が発生した場合であっても、エンジン１０を適切に制御することができる。
【００５１】
以上、本発明を実施するための形態について詳述したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５２】
１            エンジン制御装置
１０          エンジン
１１          クランク角センサ
１１ａ        クランクロータ
１２          カム角センサ
１２ａ        カムロータ
２０          エンジンＥＣＵ
【図１】
2015090119.tif 000003
【図２】
2015090119.tif 000004
【図３】
2015090119.tif 000005
【図４】
2015090119.tif 000006
【図５】
2015090119.tif 000007