(57)【要約】【課題】エンジンがストールしたという誤判定を起こすことなく、速やかにエンジンのストールを検出できるようにするための技術を提供する。【解決手段】エンジンの回転数（ＮＥ）を算出する際に、ＣＰＵは、割込算出処理にて、クランク角センサによってクランクの突起部の通過が検出された周期を検出し、この周期に基づいて繰り返しＮＥを検出する。一方で、ＣＰＵは、定期算出処理にて、クランク角センサが最後に突起部を検出してからの経過時間に応じてＮＥを予測する（Ｓ２６０）。そして、ＣＰＵは検出または予測されたＮＥのうちの最新のものを現在のエンジン回転数として保持する（Ｓ２９０）。従って、エンジンがストールした場合等、割込算出処理によってＮＥが検出できなくなった場合であっても、定期算出処理を利用してＮＥを予測することができる。この際、直ちにエンジンがストールしたという誤判定を起こすことがない。【選択図】図３
2010133267.tif 000002
【特許請求の範囲】
【請求項１】
エンジンの回転数を検出するエンジン回転数検出装置であって、
エンジンを構成する構成部品の少なくとも一部分である検出対象が所定の位置を通過したことを検出する通過検出手段によって前記検出対象の通過が検出された周期を検出し、該周期に基づいて繰り返しエンジンの回転数を検出する回転数検出手段と、
前記通過検出手段が検出対象を検出してからの経過時間を利用して現在のエンジンの回転数を予測する回転数予測手段と、
前記回転数検出手段または前記回転数予測手段が検出または予測したエンジンの回転数のうちの最新のものを保持する保持手段と、
を備えたことを特徴とするエンジン回転数検出装置。
【請求項２】
請求項１に記載のエンジン回転数検出装置において、
前記回転数予測手段は、前記経過時間において前記通過検出手段が前記検出対象を検出したものとして、前記検出対象の通過を検出した検出周期を検出し、該検出周期に基づいてエンジンの回転数を検出すること
を特徴とするエンジン回転数検出装置。
【請求項３】
請求項２に記載のエンジン回転数検出装置において、
前記回転数予測手段によって予測され、かつ前記保持手段によって保持される新たなエンジンの回転数が、所定の回転数よりも大きくなることを防止する防止手段、
を備えたことを特徴とするエンジン回転数検出装置。
【請求項４】
請求項１〜請求項３の何れかに記載のエンジン回転数検出装置において、
所定の周期で繰り返し前記回転数予測手段にエンジンの回転数を予測させる第１作動制御手段、
を備えたことを特徴とするエンジン回転数検出装置。
【請求項５】
請求項１〜請求項４の何れかに記載のエンジン回転数検出装置において、
前記通過検出手段によって前記検出対象の通過が検出される度に前記回転数検出手段にエンジンの回転数を検出させる第２作動制御手段、
を備えたことを特徴とするエンジン回転数検出装置。
【請求項６】
請求項１〜請求項５の何れかに記載のエンジン回転数検出装置において、
前記回転数検出手段は、前記検出対象として、エンジンの回転に同期して回転するカムが所定の位置を通過したことを該カムが１回転する毎に検出する通過検出手段による検出結果に基づいて前記カムの通過を検出した周期を検出し、該周期に基づいてエンジンの回転数を検出すること
を特徴とするエンジン回転数検出装置。
【請求項７】
請求項１に記載のエンジン回転数検出装置において、
前記回転数予測手段は、前記保持手段に保持されたエンジンの回転数から一定値または一定割合を差し引くことによって、エンジンの回転数を予測すること
を特徴とするエンジン回転数検出装置。
【請求項８】
コンピュータが請求項１〜請求項６の何れかに記載のエンジン回転数検出装置を構成する各手段としての機能を実現するためのエンジン回転数検出プログラム。
【請求項９】
エンジンを始動させるエンジン始動手段の作動を制御するエンジン始動制御装置であって、
エンジンの回転数を検出する回転数検出装置からエンジンの回転数を取得する取得手段と、
前記取得されたエンジンの回転数がエンジンストールを表すストール判定回転数以上であれば、前記エンジン始動手段の作動を禁止し、前記取得されたエンジンの回転数が前記ストール判定回転数未満であれば、前記エンジン始動手段の作動を許可する始動制御手段と、
を備え、
前記取得手段は、前記回転数検出装置として構成された請求項１〜請求項６の何れかに記載のエンジン回転数検出装置によって検出されたエンジンの回転数を取得すること
を特徴とするエンジン始動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの回転数を検出するエンジン回転数検出装置、エンジン回転数検出プログラム、およびエンジンの始動を制御するエンジン始動制御装置に関する。
【背景技術】
【０００２】
従来、エンジン回転数（以下、「ＮＥ」という）が所定回転数以上になると、スタータが作動しないようにする制御装置が知られている（例えば、特許文献１参照）。
【特許文献１】特開昭６１−０６６８６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、このような制御装置においては、ＮＥを検出する際に、エンジンを構成するクランクの角度を検出するクランクセンサからのパルスを検出するのが一般的であり、このパルスが最後に検出されてから一定時間（例えば１秒程度）が経過しても次のパルスの入力がない場合に、制御装置はＮＥ＝０と判定する。
【０００４】
このため、実際にエンジンがストールしていたとしても、一定時間が経過するまでは制御装置は、エンジンが作動中であると判定するので、ストール後、一定時間が経過するまでに、操作者によってエンジンのスタータを起動する指示を受けたとしても、スタータは起動しない。よって、操作者はスタータが故障したと感じる虞があった。
【０００５】
また、この問題を解決するためには、制御装置がＮＥ＝０と判定する間での時間（上述の「一定時間」）を短くすることが考えられるが、このようにすると、ノイズ等の影響によりたまたまクランクセンサからのパルスが入力されないような場合に、エンジンがストールしていないにも拘わらず、エンジンがストールしたと誤判定してしまう虞がある。
【０００６】
そこで、このような問題点を鑑み、エンジンがストールしたという誤判定を起こすことなく、速やかにエンジンのストールを検出できるようにするための技術を提供することを本発明の目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するために成された請求項１に記載のエンジン回転数検出装置において、回転数検出手段は、通過検出手段によって検出対象の通過が検出された周期を検出し、この周期に基づいて繰り返しエンジンの回転数を検出する。一方で、回転数予測手段は、通過検出手段が検出対象を検出してからの経過時間を利用してエンジンの回転数を予測する。そして、保持手段は、回転数検出手段または回転数予測手段が検出または予測したエンジンの回転数のうちの最新のものを現在のエンジン回転数として保持する。なお、回転数予測手段は、通過検出手段が検出対象を検出した任意のタイミング（例えば「直前」のタイミング）を経過時間の起点とすることができる。
【０００８】
従って、このようなエンジン回転数検出装置によれば、エンジンがストールした場合等、回転数検出手段によってエンジンの回転数が検出できなくなった場合であっても、回転数予測手段がエンジンの回転数を予測することができる。つまり、エンジンのストールを検出する場合には、回転数予測手段がエンジンの回転数を予測したタイミングで保持手段が保持するエンジンの回転数をより低い値に更新することができるので、回転数検出手段のみがエンジンの回転数を検出する構成と比較して、速やかにエンジンのストールを検出することができる。
【０００９】
また、通過検出手段からの信号がノイズ等の影響により正確に入力されないことによって回転数検出手段が一時的にエンジンの回転数を検出できない状態になったとしても、回転数予測手段が経過時間を利用してエンジンの回転数を予測することができる。この構成によれば、経過時間がある程度大きくなるまではエンジンの回転数が極端に小さな値になることはないので、回転数検出手段が一時的にエンジンの回転数を検出できない状態になったときに、直ちにエンジンがストールしたという誤判定を起こすことがない。
【００１０】
なお、本発明において算出したエンジンの回転数は、エンジンのストール判定や、エンジンの回転数に応じた燃料やオイル等のポンプ制御をする際に利用されることが考えられる。
【００１１】
ところで、請求項１に記載のエンジン回転数検出装置において、回転数予測手段は、請求項２に記載のように、通過検出手段が最後に検出対象を検出してからの経過時間において通過検出手段が検出対象を検出したものとして、検出対象の通過を検出した検出周期を検出し、この検出周期に基づいてエンジンの回転数を検出するようにしてもよい。
【００１２】
このようなエンジン回転数検出装置によれば、請求項１に記載の発明をより具体的に実現することができる。
【００１３】
また、請求項２に記載のエンジン回転数検出装置においては、請求項３に記載のように、回転数予測手段によって予測され、かつ保持手段によって保持される新たなエンジンの回転数が、所定の回転数よりも大きくなることを防止する防止手段を備えていてもよい。
【００１４】
即ち、本発明は、回転数検出手段がエンジンの回転数を検出した直後に（つまり、通過検出手段によって検出されていた検出周期に対して経過時間が極めて短いタイミングで）回転数予測手段がエンジンの回転数を予測した場合に、異常に高い回転数が保持手段に保持されることを防止する趣旨である。また、エンジンが正常に作動している際には、回転数検出手段のみによって正常に回転数を検出することができることから、回転数予測手段は、エンジンが異常な低回転になったときに、エンジンの回転数を予測できればよい。
【００１５】
よって、本発明でいう「所定の回転数」とは、異常に高い回転数が保持手段に保持されることを防止でき、かつエンジンが異常な低回転であることを検出できる程度の値に設定されていればよい。具体的に「所定の回転数」とは、保持手段によって保持されたエンジンの回転数と同程度の値であってもよいし、エンジンのアイドリング回転数程度の値であってもよい。
【００１６】
このようなエンジン回転数検出装置によれば、異常に大きなエンジンの回転数が保持手段によって保持されないようにするので、エンジンの回転数が無用に大きな値になることを防止することができる。
【００１７】
ここで、防止手段の構成としては種々の形態が考えられる。具体的には、
（１）防止手段は、回転数予測手段が予測したエンジンの回転数と所定の回転数とを比較し、予測したエンジンの回転数が所定の回転数未満である場合のみに、保持手段が回転数予測手段によって予測されたエンジンの回転数を保持することを許可する構成、
（２）防止手段は、経過時間が一定時間（例えば、アイドリング回転数において通過検出手段が検出対象を検出する検出周期）以上になってからのみ回転数予想手段の作動を許可する構成、
（３）後述する請求項４に記載のように、回転数予測手段が所定の周期で実施される場合において、
防止手段は、回転数予測手段がエンジンの回転数を予想する際に、回転数検出手段が作動することなく回転数予測手段が連続して作動する連続回数に、回転数予測手段が実施される周期を乗じて得られる値を、前記経過時間として採用する構成、
等が考えられる。上記何れの構成においても、請求項３の構成と同様の効果を享受することができる。
【００１８】
さらに、請求項１〜請求項３の何れかに記載のエンジン回転数検出装置においては、請求項４に記載のように、所定の周期で繰り返し回転数予測手段にエンジンの回転数を予測させる第１作動制御手段を備えていてもよい。
【００１９】
このようなエンジン回転数検出装置によれば、回転数予測手段が作動するタイミング毎にエンジンの回転数を更新することができる。
【００２０】
また、請求項１〜請求項４の何れかに記載のエンジン回転数検出装置においては、請求項５に記載のように、通過検出手段によって検出対象の通過が検出される度に回転数検出手段にエンジンの回転数を検出させる第２作動制御手段を備えていてもよい。
【００２１】
このようなエンジン回転数検出装置によれば、効率的かつ頻繁にエンジンの回転数を検出することができる。
【００２２】
また、請求項１〜請求項５の何れかに記載のエンジン回転数検出装置において、回転数検出手段は、請求項６に記載のように、検出対象として、エンジンの回転に同期して回転するカムが所定の位置を通過したことを該カムが１回転する毎に検出する通過検出手段による検出結果に基づいて前記カムの通過を検出した周期を検出し、該周期に基づいてエンジンの回転数を検出するようにしてもよい。
【００２３】
このようなエンジン回転数検出装置によれば、通過検出手段がエンジン１回転につき１回しかカムを検出しないために、回転数検出手段によるエンジン回転数の検出間隔が比較的長くなる場合であっても、回転数予測手段によりエンジンの回転数を予測することによってエンジンの回転数をより頻繁に更新することができる。よって、エンジンの回転数の検出精度を向上させることができる。
【００２４】
ところで、請求項１に記載のエンジン回転数検出装置において、回転数予測手段は、請求項７に記載のように、保持手段に保持されたエンジンの回転数から一定値または一定割合を差し引くことによって、エンジンの回転数を予測するようにしてもよい。
【００２５】
このようなエンジン回転数検出装置によれば、請求項１の構成を具体的に実現することができる。
【００２６】
なお、請求項４〜請求項６の何れかに記載の構成と同様の構成を請求項７に記載の構成の従属項にすることができる。
【００２７】
また、請求項８に記載のエンジン回転数検出プログラムは、コンピュータが請求項１〜請求項６の何れかに記載のエンジン回転数検出装置を構成する各手段としての機能を実現するためのプログラムであることを特徴としている。
【００２８】
このようなエンジン回転数検出プログラムによれば、少なくとも請求項１に記載のエンジン回転数検出装置と同様の効果を享受することができる。
【００２９】
次に、請求項９に記載のエンジン始動制御装置は、エンジンの回転数を検出する検出装置からエンジンの回転数を取得する取得手段と、取得されたエンジンの回転数がエンジンストールを表すストール判定回転数以上であれば、エンジン始動手段の作動を禁止し、取得されたエンジンの回転数がストール判定回転数未満であれば、エンジン始動手段の作動を許可する始動制御手段と、を備え、取得手段は、検出装置として構成された請求項１〜請求項７の何れかに記載のエンジン回転数検出装置によって検出されたエンジンの回転数を取得することを特徴としている。
【００３０】
このようなエンジン始動制御装置によれば、取得手段が請求項１〜請求項７の何れかに記載のエンジン回転数検出装置からエンジンの回転数を取得するので、精度の高いエンジンの回転数を取得することができる。よって、エンジンがストールしているか否かを正確に判定して、エンジン始動手段の作動を許可するか否かを正確に判断することができる。
【発明を実施するための最良の形態】
【００３１】
以下に本発明にかかる実施の形態を図面と共に説明する。
【００３２】
［第１実施形態］
［第１実施形態の構成］
図１は、エンジン制御システム１の概略構成を示すブロック図である。
【００３３】
エンジン制御システム１は、エンジン始動制御を含むエンジン制御全般を司るエンジン制御ＥＣＵ１０（エンジン回転数検出装置、エンジン始動制御装置）と、ディーゼルエンジンとして構成された多気筒内燃機関であるエンジン２０と、エンジン２０の作動状態を検出するセンサ類１２（通過検出手段）と、エンジン２０を始動する際に作動するスタータ１３（エンジン始動手段）とを備えている。また、エンジン制御ＥＣＵ１０は、ＣＰＵ１４（第１作動制御手段、第２作動制御手段）、ＲＡＭ１５、ＲＯＭ１６、浮動小数点演算プロセッサ１７（ＦＰＵ）、等を備えたマイコンとして構成されており、エンジン２０等との間でやり取りされる信号の入出力装置であるＩ／Ｏ１８も備えている。
【００３４】
ＦＰＵ１７およびＣＰＵ１４は、ＲＯＭ１６に格納されたプログラム（例えばエンジン回転数検出プログラム）に基づいて駆動する。また、ＦＰＵ１７は浮動小数点型データの演算を実施し、ＣＰＵ１４は浮動小数点型データ以外の演算を実施する。
【００３５】
Ｉ／Ｏ１８は、周知のＡ／Ｄ変換器、およびＤ／Ａ変換器が含まれており、エンジン２０内やその近傍に設置された、エアフロメータ、吸気温センサ、スロットル開度センサ等のセンサ類１２からの検知信号（アナログ信号）をディジタル信号に変換すると共に、エンジン制御ＥＣＵ１からエンジン２０やスタータ１３に送られる制御信号（ディジタル信号）をアナログ信号に変換する。特に、センサ類１２にはエンジンを構成する構成部品の一部分であって検出対象２１としてのクランクが所定の位置を通過したことを検出するクランク角センサも備えられている。
【００３６】
ここで、クランクには、クランクの回転方向に等間隔（本実施形態では３０度毎とする。）で突起部が形成されており、クランクの回転とともにこの突起部が回転（移動）するよう構成されている。そして、クランク角センサは、各突起部が所定位置を通過する毎に、検出パルスをエンジン制御ＥＣＵ１０に送信する。
【００３７】
つまり、クランク角センサは、エンジン２０が１回転する度に１２回の検出パルスを発生させる。
【００３８】
［第１実施形態の処理］
上記のような構成によって、エンジン制御ＥＣＵ１０は、クランクの角度（位置）を検出し、クランクの角度の検出結果を用いてエンジンの回転数（以下「ＮＥ」という。）を検出する。この際の処理について図２を用いて説明する。
【００３９】
図２（ａ）はＣＰＵ１４が実行する割込算出処理を示すフローチャート、図２（ｂ）は割込算出処理のうちのＮＥ算出処理（割込時におけるＮＥ算出処理）を示すフローチャートである。割込算出処理は、センサ類１２の一つであるクランク角センサによる検出パルスが入力される度に起動する処理であって、まず、割込時におけるＮＥ算出処理を実施する（Ｓ１１０）。
【００４０】
この処理においては、図２（ｂ）に示すように、まず、検出パルスに応じたＮＥの値を算出する（Ｓ１６０：回転数検出手段）。即ち、
ＮＥ（ｒｐｍ）＝（１／「パルス間隔時間（分）」）／「１回転当たりの検出パルス回数」
として算出することができる。ここで、この式のパルス間隔時間を秒単位に換算すると、
ＮＥ（ｒｐｍ）＝「パルス検出間隔角度（度）」／（６＊「パルス間隔時間（秒）」）
と整理することができる。
【００４１】
本実施形態においては、「パルス検出間隔角度（度）」が３０度であるので、
ＮＥ（ｒｐｍ）＝「３０（°ＣＡ）」／（６＊「パルス間隔時間（秒）」）
として算出することができる。ただし、「ＣＡ」はクランク角度を表すものとする。なお、エンジン２０のアイドリング時（ＮＥ＝８００ｒｐｍ）のときのパルス間隔時間は、６．２５ｍｓとなる。
【００４２】
このようにして算出されたＮＥの値は、ＲＡＭ１５に上書き記録される（Ｓ１７０：保持手段）。即ち、最新のＮＥの値のみが現在のＮＥの値としてＲＡＭ１５に保持される。
【００４３】
このような処理が終了すると、割込時におけるＮＥ算出処理を終了する。続いて、図２（ａ）に戻り、後述するカウンタをリセット（０にセット）して（Ｓ１２０）、割込算出処理を終了する。
【００４４】
ところで、割込算出処理を実施するだけでは、エンジンがストールしたとき等、クランクセンサがクランクを検出できなくなった場合に、割込算出処理が実施されなくなるため、エンジンの回転数が検出できなくなる虞がある。そこで、本実施形態においては、割込算出処理が実施されない場合においてもＮＥが検出できるように、図３に示す処理を実施する。
【００４５】
図３（ａ）はＣＰＵ１４が実行する定期算出処理を示すフローチャート、図３（ｂ）は定期算出処理のうちのＮＥ算出処理（定期時のＮＥ算出処理）を示すフローチャートである。定期算出処理は、定期的（例えばアイドリング時の「パルス間隔時間」よりも短い４ｍｓ毎）に起動する処理であって、まず、カウンタをインクリメントする（Ｓ２１０：防止手段）。ここでいうカウンタとは、クランク角センサが最後にクランクの突起部を検出してからの経過時間をカウントするものである。具体的に、経過時間は、後述する定期算出処理の実施周期とカウンタ値との積で表される。
【００４６】
続いて、カウンタ値が１よりも大きいか（つまり２以上か）否かを判定する（Ｓ２２０：防止手段）。カウンタ値が１以下であれば（Ｓ２２０：ＮＯ）、ＮＥの算出をすることなく定期算出処理を終了する。また、カウンタ値１よりも大きければ（Ｓ２２０：ＹＥＳ）、定期時のＮＥ算出処理を実施する（Ｓ２３０）。
【００４７】
この処理においては、図３（ｂ）に示すように、まず、検出パルスに応じたＮＥの値を算出する。ただし、この処理においては、検出対象が最後に検出されてから（つまり、最後に検出パルスが得られてから）の経過時間を測定し、経過時間に応じてＮＥを予測する。即ち、経過時間において検出パルス（みなし検出パルス）が得られたものとみなし、この経過時間を、実際に最後に検出された検出パルスと、みなし検出パルスとの間隔時間である「みなしパルス間隔時間」としてＮＥを算出する（Ｓ２６０：回転数予測手段）。
【００４８】
定期算出処理におけるＮＥの算出式は、
ＮＥ（ｒｐｍ）＝（１／「みなしパルス間隔時間（分）」）／「１回転当たりの検出パルス回数」
となり、この式を整理すると、
ＮＥ（ｒｐｍ）＝「３０（°ＣＡ）」／（６＊「みなしパルス間隔時間（秒）」）
となる。
【００４９】
このようにして算出されたＮＥの値は、ＲＡＭ１５に上書き記録される（Ｓ２９０：保持手段）。即ち、最新のＮＥの値のみが現在のＮＥの値としてＲＡＭ１５に保持される。このような処理が終了すると、定期算出処理を終了する。
【００５０】
次に、ＮＥの値に応じてスタータ１３の作動を許可するか否かを設定する処理について説明する。図４（ａ）はＣＰＵ１４が実行するスタータ駆動判定処理を示すフローチャートである。
【００５１】
スタータ駆動判定処理は、ＮＥを検出する処理ほど頻繁に実施する必要がないとの理由から、定期算出処理よりも長い周期で（例えば１６ｍｓ毎に）繰り返し実施される処理であって、まず、ＲＡＭ１５を参照することによって、ＮＥの値を取得する（Ｓ３１０：取得手段）。そして、取得したＮＥの値が、エンジン２０がストールしたと判定するためのストール判定閾値（例えば１００ｒｐｍ）未満であるか否かを判定する（Ｓ３２０）。
【００５２】
取得したＮＥの値がストール判定閾値未満であれば（Ｓ３２０：ＹＥＳ）、スタータの駆動を許可する旨をＲＡＭ１５に記録し（Ｓ３３０：始動制御手段）、スタータ駆動判定処理を終了する。また、取得したＮＥの値がストール判定閾値以上であれば（Ｓ３２０：ＮＯ）、スタータの駆動を禁止する旨をＲＡＭ１５に記録し（Ｓ３４０：始動制御手段）、スタータ駆動判定処理を終了する。
【００５３】
次に、実際にスタータ１３を駆動させる処理について図４（ｂ）を用いて説明する。図４（ｂ）はＣＰＵ１４が実行するスタータ駆動処理を示すフローチャートである。
【００５４】
スタータ駆動処理は、スタータスイッチ（図示省略）が使用者によって操作されたことをＣＰＵ１４が検出すると開始し、その後、スタータがＯＦＦされるまで（つまり、後述するＳ３９０の処理が実施されるまで）繰り返し実施される処理である。スタータ駆動処理は、図４（ｂ）に示すように、まず、ＲＡＭ１５を参照することによって、スタータ駆動判定結果を取得する（Ｓ３６０）。そして、このスタータ駆動判定結果がスタータ１３の駆動を許可するものであるか否か判定する（Ｓ３７０）。
【００５５】
スタータ駆動判定結果がスタータ１３の駆動を許可するものであれば（Ｓ３７０：ＹＥＳ）、スタータ１３をＯＮして（Ｓ３８０）、スタータ駆動処理を終了する。このとき、既にスタータ１３がＯＮされていれば、そのままＯＮ状態を継続する。また、スタータ駆動判定結果がスタータ１３の駆動を禁止するものであれば（Ｓ３７０：ＮＯ）、スタータ１３をＯＦＦして（Ｓ３９０）、スタータ駆動処理を終了する。
【００５６】
このようなエンジン制御システム１において、エンジン２０がストールした場合には、図５に示すようにＮＥが更新されることになる。なお、図５は、経過時間とＲＡＭ１５に記録されるＮＥの値との関係を示すグラフである。
【００５７】
エンジン２０がストールした場合には、図２に示した割込算出処理は実施されることなく、図３に示す定期算出処理のみが実施されることになる。この際、定期算出処理が実施される度に、「みなしパルス間隔時間」が増加するので、ＮＥの値は「みなしパルス間隔時間」に反比例して徐々に減少する（図５の実線α参照）。そして、ＮＥの値が１００ｒｐｍ未満になった時点で、スタータ１３の作動が許可されることになる。
【００５８】
［第１実施形態の効果］
以上のように詳述したエンジン制御システム１において、エンジン制御ＥＣＵ１０のＣＰＵ１４は、スタータ駆動判定処理にて、ＲＡＭ１５に保持されたＮＥを取得する。そして、このＮＥがエンジン２０のストールを表すストール判定回転数以上であれば、スタータ１３の作動を禁止し、このＮＥがストール判定回転数未満であれば、スタータ１３の作動を許可する。
【００５９】
ここで、ＮＥを算出する際には、ＣＰＵ１４は、割込算出処理にて、センサ類１２（クランク角センサ）によって検出対象２１（クランクの突起部）の通過が検出された周期を検出し、この周期に基づいて繰り返しＮＥを検出する。一方で、ＣＰＵ１４は、定期算出処理にて、センサ類１２が直前に（最後に）検出対象２１を検出してからの経過時間を利用してＮＥを予測する（Ｓ２６０）。そして、ＣＰＵ１４は、割込算出処理または定期算出処理にて検出または予測されたＮＥのうちの最新のものを現在のエンジン回転数として保持する（Ｓ２９０）。特に、エンジン制御システム１において、ＣＰＵ１４は、経過時間においてセンサ類１２が検出対象２１を検出したものとして、検出対象２１の通過を検出した検出周期を検出し、この検出周期に基づいてＮＥを検出している。
【００６０】
従って、このようなエンジン制御システム１によれば、エンジン２０がストールした場合等、割込算出処理によってＮＥが検出できなくなった場合であっても、定期算出処理を利用してＮＥを予測することができる。つまり、エンジン２０のストールを検出する場合には、速やかにエンジン２０のストールを検出することができる。
【００６１】
また、センサ類１２からの信号がノイズ等の影響により正確に入力されない等によって割込算出処理を利用したＮＥの検出が一時的にできない状態になったとしても、定期算出処理にて経過時間に応じてＮＥを予測することができるので、直ちにエンジン２０がストールしたという誤判定を起こすことがない。
【００６２】
また、このようなエンジン制御システム１によれば、精度の高いＮＥを取得することができる。よって、エンジン２０がストールしているか否かを正確に判定して、スタータ１３の作動を許可するか否かを正確に判断することができる。
【００６３】
また、エンジン制御システム１において、ＣＰＵ１４は、定期算出処理にて算出される新たなＮＥが、所定の回転数よりも大きくなることを防止する機能を備えている。具体的には、カウンタ値が２以上の場合のみにＮＥを算出し、さらに、カウンタ値に定期算出処理の実施周期を乗じて「みなしパルス間隔時間」を求めるようにすることによって、「みなしパルス間隔時間」が８ｍｓ未満（ＮＥが６２５ｒｐｍ以上）にならないようにしている。
【００６４】
このようなエンジン制御ＥＣＵ１０によれば、異常に大きなＮＥがＣＰＵ１４は、によって保持されないようにするので、ＮＥが無用に大きな値になることを防止することができる。
【００６５】
さらに、エンジン制御システム１においては、所定の周期で繰り返し定期算出処理を実施してＮＥを予測させるよう構成されている。
【００６６】
このようなエンジン制御システム１によれば、定期算出処理が作動するタイミング毎にＮＥを更新することができる。
【００６７】
また、エンジン制御システム１においては、センサ類１２によって検出対象２１の通過が検出される度に割込算出処理を実施してＮＥを検出させるよう構成されている。
【００６８】
このようなエンジン制御ＥＣＵ１０によれば、効率的かつ頻繁にＮＥを検出することができる。
【００６９】
［第２実施形態］
次に、別形態のエンジン制御システム２について説明する。本実施形態（第２実施形態）では、第１実施形態のエンジン制御システム１と異なる箇所のみを詳述し、第１実施形態のエンジン制御システム１と同様の箇所については、同一の符号を付して説明を省略する。
【００７０】
図６（ａ）は第２実施形態における定期時のＮＥ算出処理を示すフローチャート、図６（ｂ）は第２実施形態の変形例における定期時のＮＥ算出処理を示すフローチャートである。
【００７１】
第１実施形態における定期算出処理では、この処理が起動した時点で、最後にクランクセンサからの検出パルスが検出されたときからの経過時間においてクランクセンサからの検出パルスが検出されたものとして、ＮＥを算出したが、第２実施形態における定期算出処理では、定期算出処理が起動される毎に、定期算出処理の実施周期に応じて設定された一定値または一定割合を、保持手段に保持されたＮＥの値から差し引くことによって、ＮＥを算出する。
【００７２】
即ち、ＮＥの値から一定値を差し引く場合には、図６（ａ）に示すように、
ＮＥi＝ＮＥ(i-1)−Ｋ
（Ｋは定数、ただし０＜Ｋ（例えば実施周期が４ｍｓの場合５０ｒｐｍ）、ｉは定期算出処理の実施回数）
としてＮＥを算出する（Ｓ５１０：回転数予測手段）。その後、算出されたＮＥの値を、ＲＡＭ１５に上書き記録する（Ｓ２９０：保持手段）。本実施形態の場合、エンジン２０がストールすると、ＮＥの値は、例えば、図５の二点鎖線βに示すように、時間に比例して減少することになる。
【００７３】
ＮＥの値から一定割合を差し引く場合（１未満の係数を乗じる場合）には、図６（ｂ）に示すように、
ＮＥi＝ＮＥ(i-1)×（１−Ｌ）
（Ｌは定数（例えば０．０５）、ただし０＜Ｌ＜１）
としてＮＥを算出する（Ｓ５６０：回転数予測手段）。その後、算出されたＮＥの値を、ＲＡＭ１５に上書き記録する（Ｓ２９０：保持手段）。
【００７４】
このようにしても、概ね第１実施形態と同様の効果を享受することができる。
【００７５】
［その他の実施形態］
本発明の実施の形態は、上記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００７６】
例えば、上記実施形態における定期算出処理においては、本処理の実施周期にカウンタ値を乗じることによって経過時間を算出したが、カウンタを利用することなく、経過時間を直接算出するようにしてもよい（即ち、Ｓ１２０，Ｓ２１０，Ｓ２２０の処理を省略してもよい）。この場合には、定期算出処理が実施されるタイミングによってＮＥの値が非常に大きくなることが考えられる。
【００７７】
上記の実施形態の場合には、ＮＥの値をエンジンストールしたか否かの判定（Ｓ３２０）にしか利用していないため、仮にＮＥの値が一時的に大きな値として検出されたとしても特に問題はないが、例えば、燃料やオイルを供給または循環させるポンプ制御のように、ＮＥの値に応じて連続的にポンプの駆動量を制御するような場合には、ＮＥの値が大きな値として誤検出されることが好ましくない。そこで、カウンタを利用することなく、経過時間を直接算出する場合には、図７に示すような定期時のＮＥ算出処理を実施すればよい。この場合には、以下に説明するＳ２６０〜Ｓ２８０の処理が本発明でいう防止手段に相当する。
【００７８】
即ち、今回のＮＥの値の算出（Ｓ２６０）後に、ＲＡＭ１５に記録されたＮＥの値（前回のＮＥの値）を取得し（Ｓ２７０）、今回のＮＥの値と前回のＮＥの値とを比較する（Ｓ２８０：保持手段）。今回のＮＥの値が前回のＮＥの値未満であれば（Ｓ２８０：ＹＥＳ）、今回のＮＥの値をＲＡＭ１５に記録して（Ｓ２９０：保持手段）、定期時のＮＥ算出処理を終了する。
【００７９】
一方、今回のＮＥの値が前回のＮＥの値以上であれば（Ｓ２８０：ＮＯ）、ＮＥの値をＲＡＭ１５に記録することなく、定期時のＮＥ算出処理を終了する。
【００８０】
このようにしても、上記実施形態と同様に、以上に大きなＮＥの値が検出されることを防止する効果が得られる。
【００８１】
また、上記実施形態においては、検出対象２１として、クランクの突起部をセンサ類１２（クランク角センサ）で検出するよう構成したが、検出対象２１として、エンジン２０の回転に同期して回転するカムが所定の位置を通過したことを該カムが１回転する毎に検出するセンサ類１２（カム角センサ）で検出するようにしてもよい。この場合、カム角センサによる検出結果に基づいてカムの通過を検出した周期を検出し、該周期に基づいてＮＥを検出するようにすればよい。
【００８２】
このようなエンジン制御システムによれば、カム角センサがエンジン１回転につき１回しかカムを検出しないために、割込算出処理によるエンジン回転数の検出間隔が比較的長くなる場合であっても、定期算出処理によりＮＥを予測することによってＮＥをより頻繁に更新することができる。よって、ＮＥの検出精度を向上させることができる。
【００８３】
また、本発明は、ディーゼルエンジンのみならず、ガソリンエンジン、ガスタービンエンジン等、一般的なエンジンに採用することができる。
【図面の簡単な説明】
【００８４】
【図１】エンジン制御システム１の概略構成を示すブロック図である。
【図２】割込算出処理を示すフローチャート（ａ）、および割込算出処理のうちのＮＥ算出処理（割込時におけるＮＥ算出処理）を示すフローチャート（ｂ）である。
【図３】定期算出処理を示すフローチャート（ａ）、および定期算出処理のうちのＮＥ算出処理（定期時のＮＥ算出処理）を示すフローチャート（ｂ）である。
【図４】スタータ駆動判定処理を示すフローチャート（ａ）、およびスタータ駆動処理を示すフローチャート（ｂ）である。
【図５】経過時間とＲＡＭ１５に記録されるＮＥの値との関係を示すグラフである。
【図６】第２実施形態における定期時のＮＥ算出処理を示すフローチャート（ａ）、および第２実施形態の変形例における定期時のＮＥ算出処理を示すフローチャート（ｂ）である。
【図７】変形例における定期時のＮＥ算出処理を示すフローチャートである。
【符号の説明】
【００８５】
１…エンジン制御システム、２…エンジン制御システム、１０…エンジン制御ＥＣＵ、１２…センサ類、１３…スタータ、１４…ＣＰＵ、１５…ＲＡＭ、１６…ＲＯＭ、１７…浮動小数点演算プロセッサ、１８…Ｉ／Ｏ、２０…エンジン、２１…検出対象。
【図１】
2010133267.tif 000003
【図２】
2010133267.tif 000004
【図３】
2010133267.tif 000005
【図４】
2010133267.tif 000006
【図５】
2010133267.tif 000007
【図６】
2010133267.tif 000008
【図７】
2010133267.tif 000009