(57)【特許請求の範囲】
【請求項１】
エンジン自動停止条件の成立によりエンジンへの燃料噴射を停止して前記エンジンを自動停止させ、その後、エンジン再始動条件の成立により前記エンジンを再始動させるエンジン自動停止再始動装置であって、
前記エンジンのクランク軸のクランク角度に対応してクランクパルス信号を出力するクランク角度センサと、
前記クランク軸をクランキングすることにより、前記エンジンを再始動させる始動装置と、
前記エンジンの惰性回転中に、前記クランク角度センサの出力が入力される毎に、前記入力された前記クランク角度センサの出力に基づいて検出したエンジン回転数と前記エンジン回転数の変化の傾きとにより、前記エンジン回転数が所定の閾値以下となるまでの始動装置駆動開始待ち時間を算出する始動装置駆動開始待ち時間算出部と、
前記クランク角度センサの出力が入力される毎に算出された前記始動装置駆動開始待ち時間をマイクロコンピュータに設けられたフリーランニングカウンタから読み込んだ現在時刻に加算して得た始動装置駆動開始時刻を、前記クランク角度センサの出力が入力される毎に前記マイクロコンピュータに設けられたアウトプットコンペアレジスタに設定し、前記設定した前記始動装置駆動開始時刻と前記フリーランニングカウンタの値とが一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を用いて、前記始動装置の駆動を開始させる始動装置駆動開始設定部と、
を備え、
前記始動装置駆動開始設定部は、
前回のクランクパルス信号の入力時刻に算出した前回エンジン回転数をＮＥ２、今回のクランクパルス信号の入力時刻に算出した今回エンジン回転数をＮＥ１としたとき、［ＮＥ１≧ＮＥ２］となれば、前記マイクロコンピュータのアウトプットコンペアレジスタ機能を無効とし、且つ前記アウトプットコンペアレジスタ機能を無効とした後に、［ＮＥ２≧ＮＥ１］となれば、前記マイクロコンピュータのアウトプットコンペアレジスタ機能を再度有効とするように構成されている、
ことを特徴とするエンジン自動停止再始動装置。
【請求項２】
前記始動装置駆動開始待ち時間算出部は、  前記クランク角度センサからの前々回のクランクパルス信号の入力時刻と前回のクランクパルス信号の入力時刻とから求めた前回エンジン回転数と、前記前回のクランクパルス信号の入力時刻と今回のクランクパルス信号の入力時刻とから求めた今回エンジン回転数と、前記前回のクランクパルス信号の入力時刻と前記今回のクランクパルス信号の入力時刻までの時間と、に基づいて前記エンジン回転数の変化の傾きを算出し、前記算出した前記エンジン回転数の変化の傾きが減少側であり且つ前記今回エンジン回転数が前記所定の閾値を超えていれば、前記今回エンジン回転数と前記所定の閾値と前記エンジン回転数の変化の傾きとに基づいて前記始動装置駆動開始待ち時間を算出する、
ことを特徴とする請求項１に記載のエンジン自動停止再始動装置。
【請求項３】
前記始動装置駆動開始待ち時間算出部は、
前記今回エンジン回転数をＮＥ、前記所定の閾値をＮ１、前記エンジン回転数の変化の傾きをＮＥｇｒａｄとしたとき、式［（Ｎ１−ＮＥ）÷ＮＥｇｒａｄ］に基づいて前記始動装置駆動開始待ち時間を算出する、
ことを特徴とする請求項２に記載のエンジン自動停止再始動装置。
【請求項４】
エンジン自動停止条件の成立によりエンジンへの燃料噴射を停止して前記エンジンを自動停止させ、その後エンジン再始動条件の成立により前記エンジンを再始動させるエンジン自動停止再始動方法であって、
前記エンジンの惰性回転中に、クランク角度センサの出力が入力される毎に、前記入力された前記クランク角度センサの出力に基づいて検出したエンジン回転数と前記エンジン回転数の変化の傾きとにより、前記エンジン回転数が所定の閾値以下となるまでの始動装置駆動開始待ち時間を算出し、
前記クランク角度センサの出力が入力される毎に算出された前記始動装置駆動開始待ち時間をマイクロコンピュータに設けられたフリーランニングカウンタから読み込んだ現在時刻に加算して得た始動装置駆動開始時刻を、前記クランク角度センサの出力が入力される毎に前記マイクロコンピュータに設けられたアウトプットコンペアレジスタに設定し、
前回のクランクパルス信号の入力時刻に算出した前回のエンジン回転数をＮＥ２、今回のクランクパルス信号の入力時刻に算出した今回のエンジン回転数をＮＥ１としたとき、［ＮＥ１≧ＮＥ２］となれば、前記設定した前記始動装置駆動開始時刻と前記フリーランニングカウンタの値とが一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を無効とし、
前記アウトプットコンペアレジスタ機能を無効とした後に、［ＮＥ２≧ＮＥ１］となれば、前記アウトプットコンペアレジスタ機能を再度有効とし、
現在時刻が前記設定した始動装置駆動開始時刻に一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を用いて、前記エンジンの始動装置の駆動を開始する、
ことを特徴とするエンジン自動停止再始動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、所定のエンジン自動停止条件の成立によりエンジンを自動停止させ、その後、エンジン再始動条件の成立によりエンジンを再始動させるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に関するものである。
【背景技術】
【０００２】
従来、自動車等の車両の燃費改善や環境負荷の低減等を目的として、エンジン自動停止再始動装置が開発されてきた。エンジン自動停止再始動装置では、運転者の操作によりエンジンを停止するための所定の条件（例えば、所定車速以下でのブレーキＯＮ操作）が満たされると、自動で燃料カットをしてエンジンが自動停止される。その後、運転者の操作によりエンジンを再始動するための所定の条件（例えば、ブレーキ解除操作、及びアクセル踏み込み操作等）が満たされると、燃料噴射を再開してエンジンが自動的に再始動される。【０００３】
このようなエンジン自動停止再始動装置として、例えば特許文献１に記載のスタータピニオンギヤをリングギヤに噛み合わせるための方法及びスタータ制御装置では、クランクパルスから求めたエンジン回転数から回転数がゼロに向かう回転軌道を予測し、予測した回転軌道より回転速度がゼロになるタイミングを推定し、その推定タイミングを定周期で監視して駆動タイミングに到達した時点でスタータを駆動している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４７３５７３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述のような従来の装置には、以下のような課題がある。即ち、特許文献１に示されたエンジン自動停止再始動装置では、スタータを駆動するタイミングを定周期で監視するため、本来駆動したいタイミングと監視周期の時刻差によりスタータ駆動タイミングに遅れが生じる場合があった。又、監視タイミングでの処理が優先順位の高い上位の割込み処理の影響を受けて処理タイミングが遅れる場合もあり、それらの処理タイミング遅れの影響で、ピニオンギヤとリングギヤが適正なタイミングで噛合えず、ピニオンギヤとリングギヤの噛合い音が発生したり、ピニオンギヤやリングギヤに過大な負荷が掛かり、破損に至る可能性もあった。【０００６】
更に、定周期での監視タイミングの遅れによる時刻差は監視周期を短くすることにより緩和することができるが、監視周期を短くするとＣＰＵの処理負荷が増大するという課題があった。【０００７】
この発明は、従来の装置に於ける前述のような課題を解決するためになされたものであり、ピニオンギヤとリングギヤの噛合い音を抑制し、ピニオンギヤとリングギヤに過大な負荷を掛けることなく、且つ、ＣＰＵの処理負荷を低減することができるエンジン自動停止再始動装置を得ることを目的とする。【０００８】
又、この発明は、ピニオンギヤとリングギヤの噛合い音を抑制し、ピニオンギヤとリングギヤに過大な負荷を掛けることなく、且つ、ＣＰＵの処理負荷を低減することができるエンジン自動停止再始動方法を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明によるエンジン自動停止再始動装置は、
エンジン自動停止条件の成立によりエンジンへの燃料噴射を停止して前記エンジンを自動停止させ、その後、エンジン再始動条件の成立により前記エンジンを再始動させるエンジン自動停止再始動装置であって、  前記エンジンのクランク軸のクランク角度に対応してクランクパルス信号を出力するクランク角度センサと、
前記クランク軸をクランキングすることにより、前記エンジンを再始動させる始動装置と、
前記エンジンの惰性回転中に、前記クランク角度センサの出力が入力される毎に、前記入力された前記クランク角度センサの出力に基づいて検出したエンジン回転数と前記エンジン回転数の変化の傾きとにより、前記エンジン回転数が所定の閾値以下となるまでの始動装置駆動開始待ち時間を算出する始動装置駆動開始待ち時間算出部と、
前記クランク角度センサの出力が入力される毎に算出された前記始動装置駆動開始待ち時間をマイクロコンピュータに設けられたフリーランニングカウンタから読み込んだ現在時刻に加算して得た始動装置駆動開始時刻を、前記クランク角度センサの出力が入力される毎に前記マイクロコンピュータに設けられたアウトプットコンペアレジスタに設定し、前記設定した前記始動装置駆動開始時刻と前記フリーランニングカウンタの値とが一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を用いて、前記始動装置の駆動を開始させる始動装置駆動開始設定部と、
を備え、
前記始動装置駆動開始設定部は、
前回のクランクパルス信号の入力時刻に算出した前回エンジン回転数をＮＥ２、今回のクランクパルス信号の入力時刻に算出した今回エンジン回転数をＮＥ１としたとき、［ＮＥ１≧ＮＥ２］となれば、前記マイクロコンピュータのアウトプットコンペアレジスタ機能を無効とし、且つ前記アウトプットコンペアレジスタ機能を無効とした後に、［ＮＥ２≧ＮＥ１］となれば、前記マイクロコンピュータのアウトプットコンペアレジスタ機能を再度有効とするように構成されている、
ことを特徴とする。 
【００１０】
又、この発明によるエンジン自動停止再始動方法は、
エンジン自動停止条件の成立によりエンジンへの燃料噴射を停止して前記エンジンを自動停止させ、その後エンジン再始動条件の成立により前記エンジンを再始動させるエンジン自動停止再始動方法であって、
前記エンジンの惰性回転中に、クランク角度センサの出力が入力される毎に、前記入力された前記クランク角度センサの出力に基づいて検出したエンジン回転数と前記エンジン回転数の変化の傾きとにより、前記エンジン回転数が所定の閾値以下となるまでの始動装置駆動開始待ち時間を算出し、
前記クランク角度センサの出力が入力される毎に算出された前記始動装置駆動開始待ち時間をマイクロコンピュータに設けられたフリーランニングカウンタから読み込んだ現在時刻に加算して得た始動装置駆動開始時刻を、前記クランク角度センサの出力が入力される毎に前記マイクロコンピュータに設けられたアウトプットコンペアレジスタに設定し、
前回のクランクパルス信号の入力時刻に算出した前回のエンジン回転数をＮＥ２、今回のクランクパルス信号の入力時刻に算出した今回のエンジン回転数をＮＥ１としたとき、［ＮＥ１≧ＮＥ２］となれば、前記設定した前記始動装置駆動開始時刻と前記フリーランニングカウンタの値とが一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を無効とし、
前記アウトプットコンペアレジスタ機能を無効とした後に、［ＮＥ２≧ＮＥ１］となれば、前記アウトプットコンペアレジスタ機能を再度有効とし、
現在時刻が前記設定した始動装置駆動開始時刻に一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を用いて、前記エンジンの始動装置の駆動を開始する、
ことを特徴とする。
【発明の効果】
【００１１】
この発明によるエンジン自動停止再始動装置によれば、エンジンのクランク軸のクランク角度に対応してクランクパルス信号を出力するクランク角度センサと、前記クランク軸をクランキングすることにより、前記エンジンを再始動させる始動装置と、前記エンジンの惰性回転中に、前記クランク角度センサの出力が入力される毎に、前記入力された前記クランク角度センサの出力に基づいて検出したエンジン回転数と前記エンジン回転数の変化の傾きとにより、前記エンジン回転数が所定の閾値以下となるまでの始動装置駆動開始待ち時間を算出する始動装置駆動開始待ち時間算出部と、前記クランク角度センサの出力が入力される毎に算出された前記始動装置駆動開始待ち時間をマイクロコンピュータに設けられたフリーランニングカウンタから読み込んだ現在時刻に加算して得た始動装置駆動開始時刻を、前記クランク角度センサの出力が入力される毎に前記マイクロコンピュータに設けられたアウトプットコンペアレジスタに設定し、前記設定した前記始動装置駆動開始時刻と前記フリーランニングカウンタの値とが一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を用いて、前記始動装置の駆動を開始させる始動装置駆動開始設定部とを備え、前記始動装置駆動開始設定部は、前回のクランクパルス信号の入力時刻に算出した前回エンジン回転数をＮＥ２、今回のクランクパルス信号の入力時刻に算出した今回エンジン回転数をＮＥ１としたとき、［ＮＥ１≧ＮＥ２］となれば、前記マイクロコンピュータのアウトプットコンペアレジスタ機能を無効とし、且つ前記アウトプットコンペアレジスタ機能を無効とした後に、［ＮＥ２≧ＮＥ１］となれば、前記マイクロコンピュータのアウトプットコンペアレジスタ機能を再度有効とするように構成されているので、ピニオンギヤとリングギヤの噛合い音を抑制し、ピニオンギヤとリングギヤに過大な負荷を掛けることなく、同時にＣＰＵの処理負荷を低減することができる。 
【００１２】
この発明によるエンジン自動停止再始動方法によれば、エンジンの惰性回転中に、クランク角度センサの出力が入力される毎に、前記入力された前記クランク角度センサの出力に基づいて検出したエンジン回転数と前記エンジン回転数の変化の傾きとにより、前記エンジン回転数が所定の閾値以下となるまでの始動装置駆動開始待ち時間を算出し、前記クランク角度センサの出力が入力される毎に算出された前記始動装置駆動開始待ち時間をマイクロコンピュータに設けられたフリーランニングカウンタから読み込んだ現在時刻に加算して得た始動装置駆動開始時刻を、前記クランク角度センサの出力が入力される毎に前記マイクロコンピュータに設けられたアウトプットコンペアレジスタに設定し、前回のクランクパルス信号の入力時刻に算出した前回のエンジン回転数をＮＥ２、今回のクランクパルス信号の入力時刻に算出した今回のエンジン回転数をＮＥ１としたとき、［ＮＥ１≧ＮＥ２］となれば、前記設定した前記始動装置駆動開始時刻と前記フリーランニングカウンタの値とが一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を無効とし、前記アウトプットコンペアレジスタ機能を無効とした後に、［ＮＥ２≧ＮＥ１］となれば、前記アウトプットコンペアレジスタ機能を再度有効とし、現在時刻が前記設定した始動装置駆動開始時刻に一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を用いて、前記エンジンの始動装置の駆動を開始するようにしているので、ピニオンギヤとリングギヤの噛合い音を抑制し、ピニオンギヤとリングギヤに過大な負荷を掛けることなく、同時にＣＰＵの処理負荷を低減することができる。 
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態１によるエンジン自動停止再始動装置を示すブロック構成図である。
【図２】この発明の実施の形態１によるエンジン自動停止再始動装置のエンジン制御装置を詳細に示すブロック構成図である。
【図３】この発明の実施の形態１によるエンジン自動停止再始動装置のマイクロコンピュータの構成図である。
【図４】この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、エンジン自動停止制御ルーチンを示すフローチャートである。
【図５】この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、クランクパルス入力割込み処理を示すフローチャートである。
【図６】この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、ＯＣＲ割込み処理を示すフローチャートである。
【図７】この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、エンジン回転数の単純低下時のエンジン自動停止制御部と始動装置駆動開始時間算出部と始動装置ＯＮ設定部との関係を示すタイミングチャートである。
【図８】この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、エンジン回転数の単純低下時のエンジン自動停止制御部と始動装置駆動開始時間算出部と始動装置ＯＮ設定部との関係を示すタイミングチャートである。
【図９】この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、エンジン回転数の回転挙動に応じたエンジン自動停止制御部と始動装置駆動開始時間算出部と始動装置ＯＮ設定部との関係を示すタイミングチャートである。
【発明を実施するための形態】
【００１４】
以下、この発明に係るエンジン自動停止再始動装置、及びエンジン自動停止再始動方法の好適な実施の形態につき図面を用いて説明する。尚、各図に於いて、同一、又は相当する部分については、同一符号を付して説明する。
【００１５】
実施の形態１．
図１は、この発明の実施の形態１によるエンジン自動停止再始動装置を示すブロック構成図である。図１に於いて、この発明の実施の形態１によるエンジン自動停止再始動装置は、エンジン２０を制御するエンジン制御装置１０、及びエンジン２０を始動させる始動装置３０を備えている。
【００１６】
エンジン２０は、燃料噴射部２１及びリングギヤ２２を有している。エンジン制御装置１０は、クランク角度センサ１、車速センサ２、アクセル開度センサ３、ブレーキ部４、エンジン２０、及び始動装置３０が接続されている。始動装置３０は、ソレノイド３１、プランジャ３２、レバー３３、スタータモータ３４およびピニオンギヤ３５を有している。
【００１７】
クランク角度センサ１は、エンジン２０のクランク軸（図示せず）のクランク角度に対応したクランクパルス信号を出力する。車速センサ２は、車両の速度を検出して車速信号を出力する。アクセル開度センサ３は、アクセル開度に応じた電圧信号を出力する。ブレーキ部４は、ブレーキペダルの動作状態に応じてブレーキ信号を出力する。
【００１８】
エンジン制御装置１０は、クランクパルス信号、車速信号、電圧信号、及びブレーキ信号に基づいて、エンジン２０の燃料噴射部２１の駆動を制御するとともに、再始動条件を判定し、始動装置３０による始動を制御する。エンジン２０の燃料噴射部２１は、エンジン制御装置１０からの駆動指令に基づいて、エンジン２０への燃料の供給を行う。
【００１９】
始動装置３０は、エンジン制御装置１０からの駆動指令に基づいて、先ずソレノイド３１が通電され、プランジャ３２が吸引される。続いて、プランジャ３２が吸引されることで、レバー３３を介してピニオンギヤ３５がその軸方向に押し出され、エンジン２０のクランク軸に設けられたリングギヤ２２と当接して噛み合わされる。その後、プランジャ３２の移動により接点が閉じられ、スタータモータ３４が通電されて、ピニオンギヤ３５が回転される。
【００２０】
エンジン制御装置１０は、各種のインターフェイス回路（以下、Ｉ／Ｆ回路と称する）（図示せず）、及びマイクロコンピュータ１１により構成されている。マイクロコンピュータ１１は、夫々図示していない、Ｉ／Ｆ回路とマイクロコンピュータ１１との間で信号の入出力を行う後述の入出力インターフェース（Ｉ／Ｏ）、前述の各種センサからのアナログ信号をデジタル信号に変換するＡ／Ｄ変換器、エンジン自動停止再始動制御プログラム等の各種の制御プログラムを実行する後述の演算処理装置（以下、ＣＰＵと称する）、一定周期で時刻をカウントするフリーランニングカウンタ（以下、ＦＲＣと称する）、このＦＲＣと比較する値を記憶するアウトプットコンペアレジスタ（以下、ＯＣＲと称する）、ＦＲＣとＯＣＲの値を比較しそれ等の値が一致した時にＣＰＵに割込み信号を送ると同時にＩ／Ｏに出力信号を送る比較器、エンジン自動停止再始動制御プログラム、各種の制御プログラムや制御定数、及び各種のテーブル等を記憶する後述のＲＯＭ、並びに各種の制御プログラムを実行した際の変数等を記憶する後述のＲＡＭ等から構成されている。
【００２１】
図２は、この発明の実施の形態１に係るエンジン自動停止再始動装置のエンジン制御装置１０を詳細に示すブロック構成図である。図２に於いて、エンジン制御装置１０を構成するマイクロコンピュータ１１は、エンジン自動停止制御部１２、クランクパルス入力割込み処理部１３、及びＯＣＲ割込み処理部１６を有している。又、クランクパルス入力割込み処理部１３には、始動装置駆動開始時間算出部１４、及び始動装置駆動開始時間設定部１５を有している。
【００２２】
エンジン自動停止制御部１２は、先ず、車速センサ２からの車速信号、アクセル開度センサ３からの電圧信号、ブレーキ部４からのブレーキ信号等に基づいて、エンジン２０の自動停止条件が成立したことを判定すると、燃料噴射部２１を停止する。尚、エンジン自動停止制御部１２は、エンジン２０の自動停止の判定に基づく自動停止要求の有無を、自動停止フラグＦ１で表す。
【００２３】
次に、エンジン自動停止制御部１２は、アクセル開度センサ３からの電圧信号、ブレーキ部４からのブレーキ信号等に基づいて、エンジン２０の再始動条件が成立したことを判定すると、燃料噴射部２１に駆動指令を出力し、始動装置３０の駆動要求を始動装置駆動開始要求フラグＦ３で表す。
【００２４】
クランクパルス入力割込み処理部１３は、クランク角度センサ１からのクランクパルス信号の入力タイミングで起動され、クランクパルス号を用いてクランクパルス周期、エンジン回転数及びエンジン回転数の変化の傾きを算出する。
【００２５】
次に、始動装置駆動開始時間算出部１４は、クランクパルス入力割込み処理部１３で算出されたクランクパルス周期、エンジン回転数及びエンジン回転数の変化の傾きを用いて、エンジン回転数が始動装置３０の駆動を許可する所定の閾値より小さくなるまでの始動装置駆動開始時間を算出する。
【００２６】
次に始動装置駆動開始設定部１５は、始動装置駆動開始要求フラグＦ３に応じて始動装置駆動開始時間をマイクロコンピュータ１１内部の前述のＦＲＣから読込んだ現在時刻に加算して得られる始動装置駆動開始時刻を、マイクロコンピュータ１１内部の前述のＯＣＲに設定すると同時に、ＯＣＲ割込み発生時の出力状態を設定し、ＯＣＲ機能を有効化しＯＣＲ割込みを許可にする。
【００２７】
ＯＣＲ割込み処理部１６は、始動装置駆動開始設定部１５にて設定されたＯＣＲ割込みが発生した時に起動され、該ＯＣＲ割込みが発生した時点でマイクロコンピュータ１１内部の、夫々図示していない、比較器からＩ／Ｏ、エンジン制御装置１０内のＩ／Ｆ回路を経由して駆動信号が出力され、始動装置３０に通電されて始動装置３０の駆動が開始される。この時点でＯＣＲ割込み処理部１６は、始動装置駆動開始要求フラグＦ３をリセットし、ＯＣＲ機能を無効にする。
【００２８】
ここで、始動装置３０が通電されて駆動が開始されると、先ずソレノイド３１が通電されることでプランジャ３２が吸引され、レバー３３を介してピニオンギヤ３５がその軸方向に押し出され、エンジン２０のクランク軸に設けられたリングギヤ２２と当接して噛み合わされる。続いて、プランジャ３２の移動により接点が閉じられ、スタータモータ３４が通電されて、ピニオンギヤ３５が回転される。
【００２９】
図３は、この発明の実施の形態１によるエンジン自動停止再始動装置のマイクロコンピュータの構成図である。図３に於いて、エンジン制御装置１０を構成するマイクロコンピュータ１１は、ＦＲＣ１０１、比較器１０２、ＯＣＲ１０３、ＣＰＵ１０４、ＲＯＭ１０５、ＲＡＭ１０６、Ｉ／Ｏ１０８、及びこれ等を接続するバス１０７を有している。
【００３０】
ＦＲＣ１０１は、マイクロコンピュータ１１の内部クロックにより常時カウントアップされ現在時刻を示すカウンタであり、ＯＣＲ１０３は、ＯＣＲ割込みを発生させる時刻を記憶させるレジスタであり、比較器１０２はＦＲＣ１０１とＯＣＲ１０３の値を比較し値が一致したときにＣＰＵ１０４に割込み信号を送ると同時にＩ／Ｏ１０８に出力信号を送るように構成されている。
【００３１】
ＲＯＭ１０５は、エンジン自動停止再始動制御プログラム、その他の各種の制御プログラムや制御定数、及び各種のテーブル等を記憶しており、ＲＡＭ１０６は、各種の制御プログラムを実行した際の変数等を記憶する。ＣＰＵ１０４は、バス１０７を介してＲＯＭ１０５から制御プログラムを読み出し、バス１０７を介してＲＡＭ１０６とデータの読み書きをしながらデータ各種の制御プログラムを実行する。又、ＣＰＵ１０４は、バス１０７を介してＩ／Ｏ１０８に出力指示を行ない、入力情報を得ることができる。
【００３２】
比較器１０２やＣＰＵ１０４からの出力指示は、Ｉ／Ｏ１０８を介して始動装置３０を駆動制御する。
【００３３】
次に、図４のフローチャートを参照しながら、エンジン自動停止制御部１２によるエンジン自動停止制御ルーチンについて説明する。図４は、この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、エンジン自動停止制御ルーチンを示すフローチャートである。尚、このエンジン自動停止制御ルーチンは、例えば１０［ｍｓ］毎等、一定時刻毎に繰り返し実行される。
【００３４】
図４に於いて、先ず、ステップＳ１０１に於いて、エンジン自動停止制御部１２は、自動停止条件が成立しているか否か、即ち自動停止フラグ［Ｆ１＝１］であるか否かを判定する。ステップＳ１０１に於いて、［Ｆ１＝０］であり自動停止条件が成立していない（ＮＯ）と判定された場合には、後述するステップＳ１０２に移行する。
【００３５】
一方、ステップＳ１０１に於いて、［Ｆ１＝１］であり自動停止条件が成立している（ＹＥＳ）と判定された場合には、ステップＳ１０８に進み、エンジン自動停止制御部１２は、燃料噴射を禁止し、次にステップＳ１０９に於いて自動停止中フラグＦ２に「１」を代入する。次にステップＳ１１０に進み、始動装置駆動開始要求フラグＦ３に「０」を代入し、ステップＳ１１１に於いてＯＣＲ機能を無効化しＯＣＲ割込みを禁止し、次にステップＳ１１３に於いて始動装置３０の駆動を停止して、図４の処理を終了する。
【００３６】
ステップＳ１０１からステップＳ１０２に進むと、エンジン自動停止制御部１２は、自動停止中状態が成立しているか否か、即ち自動停止中フラグ［Ｆ２＝１］であるか否かを判定する。ステップＳ１０２に於いて、［Ｆ２＝０］であり自動停止中状態が成立していない（ＮＯ）と判定された場合には、図４の処理を終了する。
【００３７】
一方、ステップＳ１０２に於いて［Ｆ２＝１］であり自動停止中状態が成立している（ＹＥＳ）と判定された場合には、ステップＳ１０３に進み、エンジン自動停止制御部１２は、燃料噴射を許可し、次にステップＳ１０４に於いてエンジン始動が完了しているか否かを判定する。
【００３８】
ステップＳ１０４に於いて、エンジン２０の始動完了は、エンジン回転数が所定回転数を超えたか否かで判定される。この所定回転数として、例えば８００［ｒｐｍ］が予め設定されるが、エンジン２０やそのエンジン２０が搭載された車両によって、所定回転数の設定値が異なる場合がある。尚、ステップＳ１０４での判定に用いられるエンジン回転数は、図２に示したクランク角度センサ１からのクランクパルス信号に基づいて、エンジン制御装置１０で演算される。
【００３９】
ステップＳ１０４に於いて、エンジン始動が完了している（ＹＥＳ）と判定された場合にはステップＳ１１２に進み、エンジン自動停止制御部１２は、自動停止中フラグＦ２に「０」を代入し、次にステップＳ１１３に於いて始動装置３０の駆動を停止して、図４の処理を終了する。
【００４０】
一方、ステップＳ１０４に於いてエンジン始動が完了していない（ＮＯ）と判定された場合には、ステップＳ１０５に進み、エンジン自動停止制御部１２は、始動装置３０がＯＮしているか否かを判定する。
【００４１】
ステップＳ１０５に於いて、始動装置３０が駆動を開始している（ＹＥＳ）と判定された場合には、エンジン自動停止制御部１２は、図４の処理を終了する。
【００４２】
一方、ステップＳ１０５に於いて、始動装置３０が駆動を開始していない（ＮＯ）と判定された場合には、ステップＳ１０６に進み、エンジン自動停止制御部１２は、今回のエンジン回転数ＮＥ１が所定の閾値としての始動装置駆動開始閾値Ｎ１以下か否かを判定する。
【００４３】
ここで、所定の閾値としての始動装置駆動開始閾値Ｎ１は、例えばクランク角度位置に応じて１００［ｒ／ｍｉｎ］〜２３０［ｒ／ｍｉｎ］が予め設定されるが、エンジン２０やそのエンジン２０が搭載された車両によって、その設定値が異なる場合がある。
【００４４】
ステップＳ１０６に於いて、今回のエンジン回転数ＮＥ１が始動装置駆動開始閾値Ｎ１以下である（ＹＥＳ）と判定された場合には、ステップＳ１１４に進み、エンジン自動停止制御部１２は、始動装置３０の駆動を開始し、図４の処理を終了する。
【００４５】
一方、ステップＳ１０６に於いて、今回のエンジン回転数ＮＥ１が始動装置駆動開始閾値Ｎ１より大きい（ＮＯ）と判定された場合には、ステップＳ１０７に進み、エンジン自動停止制御部１２は、始動装置駆動開始要求フラグＦ３に「１」を代入し図４の処理を終了する。
【００４６】
次に、図５のフローチャートを参照しながら、クランクパルス入力割込み処理部１３によるクランクパルス入力タイミングで実行されるクランクパルス入力割込み処理について説明する。図５は、この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、クランクパルス入力割込み処理を示すフローチャートである。
【００４７】
図５に於いて、先ず、ステップＳ２０１では、クランクパルス入力割込み処理部１３は、クランクパルス入力割込みの発生時刻をＴｉｎ１に代入し、ステップＳ２０２に移行する。
【００４８】
ステップＳ２０２に於いて、クランクパルス入力割込み処理部１３は、今回のクランクパルス入力割込み発生時刻Ｔｉｎ１から前回のクランクパルス入力割込み発生時刻Ｔｉｎ２を引いた値をクランクパルス入力周期Ｔｉｎｔに代入し、ステップＳ２０３に移行する。
【００４９】
ステップＳ２０３に於いて、クランクパルス入力割込み処理部１３は、クランクパルス入力周期Ｔｉｎｔからエンジン回転数を算出し、今回エンジン回転数ＮＥ１に代入し、ステップＳ２０４に移行する。
【００５０】
ステップＳ２０４に於いて、クランクパルス入力割込み処理部１３は、今回エンジン回転数ＮＥ１、前回エンジン回転数ＮＥ２、及びクランクパルス入力周期Ｔｉｎｔから、式［（Ｎ１−ＮＥ２）÷Ｔｉｎｔ］を計算し、クランクパルス間のエンジン回転数の傾きＮＥｇｒａｄに代入し、ステップＳ２０５に移行する。
【００５１】
続いて、ステップＳ２０５に於いて、クランクパルス入力割込み処理部１３は、今回クランクパルス入力割込みの発生時刻Ｔｉｎ１を前回クランクパルス入力割込みの発生時刻Ｔｉｎ２に代入し、ステップＳ２０６に進んで今回エンジン回転数ＮＥ１を前回エンジン回転数ＮＥ２に代入し、次にステップＳ２０７に於いて、始動装置駆動開始要求が出ているか否か、即ち始動装置駆動開始要求フラグ［Ｆ３＝１］であるか否かを判定する。
【００５２】
ステップＳ２０７に於いて、始動装置駆動開始要求フラグ［Ｆ３＝０］であり始動装置駆動開始要求が出ていない（ＮＯ）と判定された場合には、ステップＳ２１４に進み、クランクパルス入力割込み処理部１３は、ＯＣＲ機能を無効化しＯＣＲ割込みを禁止し、図５の処理を終了する。
【００５３】
一方、ステップＳ２０７に於いて、始動装置ＯＮ要求フラグ［Ｆ３＝１］であり始動装置駆動開始要求が出ている（ＹＥＳ）と判定された場合には、クランクパルス入力割込み処理部１３は、ステップＳ２０８に進み、今回エンジン回転数ＮＥ１が前回エンジン回転数ＮＥ２より小さいか否かを判定する。
【００５４】
ステップＳ２０８に於いて、今回エンジン回転数ＮＥ１が前回エンジン回転数ＮＥ２以上である（ＮＯ）と判定された場合には、ステップＳ２１４に進み、クランクパルス入力割込み処理部１３は、ＯＣＲ機能を無効化しＯＣＲ割込みを禁止し、図５の処理を終了する。
【００５５】
一方、ステップＳ２０８に於いて、今回エンジン回転数ＮＥ１が前回エンジン回転数ＮＥ２より小さい（ＹＥＳ）と判定された場合には、ステップＳ２０９に進み、クランクパルス入力割込み処理部１３は、今回エンジン回転数ＮＥ１が始動装置駆動開始閾値Ｎ１より大きいか否かを判定する。
【００５６】
ステップＳ２０９に於いて、今回エンジン回転数ＮＥ１が始動装置駆動開始閾値Ｎ１以下である（ＮＯ）と判定された場合には、ステップＳ２１５に進み、クランクパルス入力割込み処理部１３は、始動装置駆動開始要求フラグＦ３に「０」を代入し、ステップＳ２１６に進んで始動装置３０をＯＮして図５の処理を終了する。
【００５７】
一方、ステップＳ２０９に於いて、今回エンジン回転数ＮＥ１が始動装置駆動開始閾値Ｎ１より大きい（ＹＥＳ）と判定された場合には、ステップＳ２１０に進み、クランクパルス入力割込み処理部１３は、今回エンジン回転数ＮＥ１、始動装置駆動開始閾値Ｎ１及びクランクパルス間のエンジン回転数の変化の傾きＮＥｇｒａｄから、式［（Ｎ１−ＮＥ１）÷ＮＥｇｒａｄ］に基づいて始動装置駆動開始待ち時間Ｔｗａｉｔを算出し、次のステップＳ２１１に移行する。
【００５８】
ステップＳ２１１では、クランクパルス入力割込み処理部１３は、ＯＣＲ割込み発生時にＩ／Ｏ１０８が出力するＯＣＲ機能の出力設定を始動装置３０が駆動開始するように設定してステップＳ２１２に進み、クランクパルス入力割込みの発生時刻を、現在時刻である今回のクランクパルス入力割込み発生時刻Ｔｉｎ１に、始動装置駆動開始待ち時間Ｔｗａｉｔを加算した時刻をＯＣＲ１０３に設定し、次にステップＳ２１３に於いて、ＯＣＲ機能を有効化しＯＣＲ割込みを許可し、図５の処理を終了する。
【００５９】
次に、図６のフローチャートを参照しながら、ＯＣＲ割込み処理部１６によるＯＣＲ割込み発生タイミングで実行されるＯＣＲ割込み処理について説明する。図６は、この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、ＯＣＲ割込み処理を示すフローチャートである。
【００６０】
ＯＣＲ割込みが発生し、前述の図２に示すＯＣＲ割込み処理部１６が実行された時点では、ＯＣＲ機能により既に始動装置３０は駆動開始されている。
【００６１】
図６に於いて、先ず、ステップＳ３０１では、ＯＣＲ割込み処理部１６は、始動装置駆動開始要求フラグＦ３に「０」を代入し、ステップＳ３０２に於いて、ＯＣＲ機能を無効化してＯＣＲ割込みを禁止し、図６の処理を終了する。
【００６２】
次に、図７に示すタイミングチャートを参照しながら、この発明の実施の形態１によるエンジン自動停止再始動装置に於ける制御に用いられる各フラグ、ＯＣＲ機能及び始動装置３０の挙動について、エンジン回転が単純低下した場合を例にして説明する。図７は、この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、エンジン回転数の単純低下時のエンジン自動停止制御部と始動装置駆動開始時間算出部と始動装置駆動開始設定部との関係を示すタイミングチャートである。
【００６３】
図７に示すタイミングチャートは、自動停止条件Ｆ１が［停止：Ｆ１＝１］であり、自動停止中フラグＦ２が「停止：Ｆ２＝１」であり、燃料噴射が禁止［禁止：０］であり、エンジン２０が惰性回転している状態から始まる。
【００６４】
先ず、図７に於いて、クランクパルス毎エンジン回転数の挙動について説明する。時刻ｔ７１、時刻ｔ７３及び時刻ｔ７５に於いて、夫々クランクパルス信号の入力があり、夫々の時刻でクランクパルス毎エンジン回転数が実線で示すように更新される。図７に示すタイミングチャートでは、徐々にクランクパルス信号の入力周期が伸びており、エンジン回転数は低下し続けている。
【００６５】
次に、図７に於いて、自動停止条件Ｆ１の挙動について説明する。自動停止条件Ｆ１は、時刻ｔ７２で、ブレーキＯＦＦ等のアイドルストップ解除条件（エンジン再始動条件）が成立すると、［停止：Ｆ１＝１］から［ｒｕｎ：Ｆ１＝０］に切り換わる。
【００６６】
次に、自動停止中フラグＦ２の挙動について説明する。自動停止中フラグＦ２は、自動停止条件Ｆ１が［停止：Ｆ１＝１］となっていることに応じて、［停止：Ｆ２＝１］に切り換っており、その後、エンジン２０の始動が完了することに応じて［ｒｕｎ：Ｆ２＝０］に切り換るが、図７のタイミングチャートでは［停止：Ｆ２＝１］のままとなっている。
【００６７】
次に、始動装置駆動開始要求フラグＦ３の挙動について説明する。始動装置駆動開始要求フラグＦ３は、エンジン再始動条件が成立してから始動装置３０が駆動開始されるまで［要求：Ｆ３＝１］にセットされるフラグである。図７に於いて、時刻ｔ７２で、自動停止条件Ｆ１が［ｒｕｎ：Ｆ１＝０］に切り換ることに応じて、始動装置駆動開始要求フラグＦ３は［要求：Ｆ３＝１］に切り換り、その後、始動装置３０が駆動開始され、ＯＣＲ割込みが発生したタイミングである時刻ｔ７４で、［非要求：Ｆ３＝０］に切り換る。
【００６８】
次に、燃料噴射の挙動について説明する。燃料噴射は、アイドルストップ条件が成立すると燃料噴射を禁止［燃料噴射禁止：０］し、アイドルストップ解除条件（エンジン再始動条件）が成立すると燃料噴射を許可［燃料噴射許可：１］して燃料噴射を再開する。図７に於いて、時刻ｔ７２で、自動停止条件Ｆ１が［ｒｕｎ：Ｆ１＝０］に切り換ることに応じて、燃料噴射は、［燃料噴射許可＝１］に切り換る。
【００６９】
最後に、ＯＣＲ機能による、始動装置３０の駆動停止、駆動開始の挙動について説明する。ＯＣＲ機能は、クランクパルス信号の入力タイミングに対応して動作し、始動装置駆動開始要求フラグＦ３が［要求：Ｆ３＝１］で、エンジン回転数が始動装置駆動開始閾値Ｎ１より大きく、且つエンジン回転数が低下しているときに有効化し、始動装置３０の駆動開始タイミングの設定を行う。
【００７０】
図７に於いて、時刻ｔ７３で、始動装置駆動開始要求フラグＦ３が［要求：Ｆ３＝１］であり、エンジン回転数が始動装置駆動開始閾値Ｎ１より大きく、前回エンジン回転数ＮＥ２より今回エンジン回転数ＮＥ１が小さいことより、ＯＣＲ機能は［有効＝１］となる。
【００７１】
先ず、時刻ｔ７３での今回エンジン回転数ＮＥ１、時刻ｔ７１での前回エンジン回転数ＮＥ２、及び時刻ｔ７１から時刻ｔ７３までのクランクパルス信号入力周期Ｔｉｎｔにより、式［（ＮＥ１−ＮＥ２）÷Ｔｉｎｔ］に基づいて時刻ｔ７１から時刻ｔ７３までの間のエンジン回転数の傾きＮＥｇｒａｄを算出する。
【００７２】
次に、時刻ｔ７３以降もエンジン回転数は時刻ｔ７３以前と同じ傾きで低下すると推定し、時刻ｔ７３での今回エンジン回転数ＮＥ１、エンジン回転数の傾きＮＥｇｒａｄ、及び始動装置駆動開始閾値Ｎ１により、式［（Ｎ１−ＮＥ１）÷ＮＥｇｒａｄ］に基づいて、エンジン回転数が始動装置駆動開始閾値Ｎ１に到達するまでの始動装置駆動開始待ち時間Ｔｗａｉｔを算出する。この結果、時刻ｔ７３を基準として、この時刻ｔ７３から始動装置駆動開始待ち時間Ｔｗａｉｔ後の時刻ｔ７４が始動装置３０の駆動を開始する最適なタイミングであることになる。
【００７３】
続いて、時刻ｔ７３に於けるＦＲＣ１０１の値に始動装置駆動開始待ち時間Ｔｗａｉｔを加算した値をＯＣＲ１０３に設定し、ＯＣＲ割込み発生時に始動装置３０の駆動を開始する時刻の設定を行い、ＯＣＲ機能を有効化［有効：１］し、ＯＣＲ割込みを許可［許可：１］する。
【００７４】
時刻ｔ７４で、ＦＲＣ１０１の値である現在時刻がＯＣＲ１０３に設定した時刻に一致することにより、ＯＣＲ割込みが発生し、始動装置３０がＯＮとなる。
【００７５】
同時に、時刻ｔ７４でＯＣＲ割込み処理が起動され、始動装置駆動開始要求Ｆ３が［非要求：Ｆ３＝０］に切り換り、ＯＣＲ機能が無効化され、ＯＣＲ割込みが禁止される。
【００７６】
続いて、図８のタイミングチャートを参照しながら、この発明の実施の形態１によるエンジン自動停止再始動装置に於ける、制御に用いられる各フラグ、ＯＣＲ機能、及び始動装置３０の挙動について、エンジン回転が単純低下した場合を例にして説明する。図８は、この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、エンジン回転数の単純低下時のエンジン自動停止制御部と始動装置駆動開始時間算出部と始動装置ＯＮ設定部との関係を示すタイミングチャートである。
【００７７】
図８に示すタイミングチャートは、自動停止条件Ｆ１が［停止：Ｆ１＝１］であり、自動停止中フラグＦ２が［停止：Ｆ２＝１］であり、燃料噴射が禁止［禁止：０］され、エンジン２０が惰性回転している状態から始まる。
【００７８】
先ず、図８に於いて、クランクパルス毎エンジン回転数の挙動は、時刻ｔ８１、時刻ｔ８３、及び時刻ｔ８６で、夫々クランクパルス信号の入力があり、時刻ｔ８１、ｔ８３、ｔ８６に於いてクランクパルス毎エンジン回転数が更新される。図８のタイミングチャートでは、徐々にクランク信号の入力周期が伸びており、エンジン回転数は低下し続けている。
【００７９】
次に、図８に於いて、自動停止条件Ｆ１の挙動について説明する。自動停止条件Ｆ１は、時刻ｔ８２で、ブレーキＯＦＦ等のアイドルストップ解除条件（エンジン再始動条件）が成立すると、［ｒｕｎ：Ｆ１＝０］に切り換る。その後、ブレーキＯＮ等のアイドルストップ条件（エンジン停止条件）が成立した時刻ｔ８４で、［停止：Ｆ１＝１］に切り換る。
【００８０】
次に、自動停止中フラグＦ２の挙動について説明する。自動停止中フラグＦ２は、自動停止条件Ｆ１が［停止：Ｆ１＝１］となっていることに応じて、［停止：Ｆ２＝１］に切り換り、その後、エンジン２０の始動が完了することに応じて［ｒｕｎ：Ｆ２＝０］に切り換る。図８のタイミングチャートでは、自動停止中フラグＦ２は［停止：Ｆ２＝１］のままとなっている。
【００８１】
次に、始動装置駆動開始要求フラグＦ３の挙動について説明する。始動装置駆動開始要求フラグＦ３は、エンジン再始動条件が成立してから始動装置３０が駆動開始されるまでセットされるフラグである。図８に於いて、時刻ｔ８２で、自動停止条件Ｆ１が［ｒｕｎ：Ｆ１＝０］となっていることに応じて、［要求：Ｆ３＝１］に切り換り、その後、自動停止条件Ｆ１が［停止：Ｆ１＝１］となる時刻ｔ８４で、［非要求：Ｆ３＝０］に切り換る。
【００８２】
次に、燃料噴射の挙動について説明する。燃料噴射はアイドルストップ条件が成立すると燃料噴射を禁止［燃料噴射禁止：０］し、アイドルストップ解除条件（エンジン再始動条件）が成立すると燃料噴射を許可［燃料噴射許可：１］して燃料噴射を再開する。図８に於いて、時刻ｔ８２で、自動停止条件Ｆ１が［ｒｕｎ：Ｆ１＝０］となっていることに応じて、燃料噴射許可に切り換り、その後、自動停止条件Ｆ１が［停止：Ｆ１＝１］となる時刻ｔ８４で、燃料噴射禁止に切り換る。
【００８３】
最後に、ＯＣＲ機能による、始動装置３０の挙動について説明する。ＯＣＲ機能はクランク信号の入力タイミングで、始動装置駆動開始要求Ｆ３が［要求：Ｆ３＝１］で、図８に示すエンジン回転数が始動装置駆動開始閾値Ｎ１より大きく、エンジン回転数が低下している時に有効化し、始動装置３０の駆動開始のタイミング設定を行う。
【００８４】
図８に於いて、時刻ｔ８３で、始動装置駆動開始要求Ｆ３が［要求：Ｆ３＝１］であり、エンジン回転数が始動装置駆動開始閾値Ｎ１より大きく、前回エンジン回転数ＮＥ２より今回エンジン回転数ＮＥ１が小さいことより、ＯＣＲ機能を有効［有効：１］とする。
【００８５】
先ず、時刻ｔ８３での今回エンジン回転数ＮＥ１、時刻ｔ８１での前回エンジン回転数ＮＥ２、及び時刻ｔ８１から時刻ｔ８３までのクランクパルス信号の入力周期Ｔｉｎｔにより、式［（ＮＥ１−ＮＥ２）÷Ｔｉｎｔ］に基づいて、時刻ｔ８１から時刻ｔ８３までの間のエンジン回転数の傾きＮＥｇｒａｄを算出する。
【００８６】
次に、時刻ｔ８３以降もエンジン回転数は時刻ｔ８３以前と同じ傾きで低下すると推定し、時刻ｔ８３での今回エンジン回転数ＮＥ１、エンジン回転数の傾きＮＥｇｒａｄ、及び始動装置駆動開始閾値Ｎ１により、式［（Ｎ１−ＮＥ１）÷ＮＥｇｒａｄ］に基づいて、エンジン回転数が始動装置駆動開始閾値Ｎ１に到達するまでの始動装置駆動開始待ち時間Ｔｗａｉｔを算出する。その結果、時刻ｔ８３を基準として、その時刻ｔ８３から始動装置駆動開始待ち時間Ｔｗａｉｔ後の時刻ｔ８５が始動装置３０を駆動開始する最適のタイミングであることになる。
【００８７】
続いて、時刻ｔ８３でのＦＲＣ１０１の値に始動装置駆動開始待ち時間Ｔｗａｉｔを加算した値をＯＣＲ１０３に設定し、ＯＣＲ割込み発生時に始動装置３０の駆動開始を行なうための設定を行い、ＯＣＲ機能を有効化［有効：１］し、ＯＣＲ割込みを許可［許可：１］する。
【００８８】
時刻ｔ８４で、自動停止条件Ｆ１が［停止：Ｆ１＝１］となることに応じて、ＯＣＲ機能が無効化［無効：０］され、ＯＣＲ割込みを禁止［禁止：０］にする。その結果、始動装置３０は駆動開始されることなく、エンジン停止状態のままとなる。
【００８９】
続いて、図９のタイミングチャートを参照しながら、この発明の実施の形態１に係るエンジン自動停止再始動装置に於ける制御に用いられる各フラグ、ＯＣＲ機能、及び始動装置３０の挙動について、エンジン回転が変動しながら低下した場合を例にして説明する。図９は、この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法に於ける、エンジン回転数の回転挙動に応じたエンジン自動停止制御部と始動装置駆動開始時間算出部と始動装置ＯＮ設定部との関係を示すタイミングチャートである。
【００９０】
図９は、自動停止条件Ｆ１が［停止：Ｆ１＝１］で、自動停止中フラグＦ２が［停止：Ｆ２＝１］で、燃料噴射が禁止されエンジン２０が惰性回転している状態から始まる。
【００９１】
図９に於いて、先ず、クランクパルス毎エンジン回転数の挙動は、時刻ｔ９１、時刻ｔ９３、時刻ｔ９４、時刻ｔ９５、時刻ｔ９６及び時刻ｔ９９でクランクパルス信号の入力があり、夫々の時刻でクランクパルス毎エンジン回転数が更新される。図９のタイミングチャートでは時刻ｔ９１と時刻ｔ９３との間ではエンジン回転数は低下しており、時刻ｔ９４で一旦エンジン回転数が上昇し、その後、時刻ｔ９５、時刻ｔ９６及び時刻ｔ９９ではエンジン回転数は徐々に低下する。
【００９２】
次に、自動停止条件Ｆ１の挙動について説明する。自動停止条件Ｆ１は、時刻ｔ９２で、ブレーキＯＦＦ等のアイドルストップ解除条件（エンジン再始動条件）が成立すると、［ｒｕｎ：Ｆ１＝０］に切り換る。
【００９３】
次に、自動停止中フラグＦ２の挙動について説明する。自動停止中フラグＦ２は、自動停止条件Ｆ１が［停止：Ｆ１＝１］となっていることに応じて、［停止：Ｆ２＝１］に切り換り、その後、エンジン２０の始動が完了することに応じて［ｒｕｎ：Ｆ２＝０］に切り換る。図９のタイミングチャートでは自動停止中フラグＦ２は［停止：Ｆ２＝１］のままとなっている。
【００９４】
次に、始動装置駆動開始要求フラグＦ３の挙動について説明する。始動装置駆動開始要求フラグＦ３は、エンジン再始動条件が成立してから始動装置３０が駆動開始されるまでセットされるフラグである。図９に於いて、時刻ｔ９２で、自動停止条件Ｆ１が［ｒｕｎ：Ｆ１＝０］となっていることに応じて、［要求：Ｆ３＝１］に切り換り、その後、始動装置３０が駆動開始され、ＯＣＲ割込みが発生したタイミングである時刻ｔ９７で、［非要求：Ｆ３＝０］に切り換る。
【００９５】
次に、燃料噴射の挙動について説明する。燃料噴射はアイドルストップ条件が成立すると燃料噴射を禁止し、アイドルストップ解除条件（エンジン再始動条件）が成立すると燃料噴射を許可して燃料噴射を再開する。図９に於いて、時刻ｔ９２で、自動停止条件Ｆ１が［ｒｕｎ：Ｆ１＝０］となっていることに応じて、燃料噴射許可に切り換る。
【００９６】
最後に、ＯＣＲ機能による始動装置３０の駆動停止、駆動開始の挙動について説明する。ＯＣＲ機能はクランク信号の入力タイミングで、始動装置駆動開始要求Ｆ３が［要求：Ｆ３＝１］で、エンジン回転数が始動装置駆動開始閾値Ｎ１より大きく、エンジン回転数が低下している時に有効化し、始動装置３０の駆動開始のためのタイミング設定を行う。
【００９７】
図９に於いて、時刻ｔ９３で、始動装置駆動開始要求Ｆ３が［要求：Ｆ３＝１］で、エンジン回転数が始動装置駆動開始閾値Ｎ１より大きく、前回エンジン回転数ＮＥ２より今回エンジン回転数ＮＥ１が小さいことより、ＯＣＲ機能設定を行う。
【００９８】
即ち、先ず、時刻ｔ９３で、今回エンジン回転数ＮＥ１、時刻ｔ９１での前回エンジン回転数ＮＥ２、及び時刻ｔ９１から時刻ｔ９３までの間のクランクパルス信号入力周期Ｔｉｎｔにより、式［（ＮＥ１−ＮＥ２）÷Ｔｉｎｔ］に基づいて、時刻ｔ９１から時刻ｔ９３までの間のエンジン回転数の変化の傾きＮＥｇｒａｄ（１）を算出する。
【００９９】
次に、時刻ｔ９３以降もエンジン回転数は時刻ｔ９３以前と同じ傾きで低下すると推定し、時刻ｔ９３での今回エンジン回転数ＮＥ１、エンジン回転数の傾きＮＥｇｒａｄ（１）及び始動装置駆動開始閾値Ｎ１より、式［（Ｎ１−ＮＥ１）÷ＮＥｇｒａｄ（１）］に基づいて、エンジン回転数が始動装置駆動開始閾値Ｎ１に到達するまでの始動装置駆動開始待ち時間Ｔｗａｉｔ（１）を算出する。この結果、時刻ｔ９３を基準として、この時刻ｔ９３から始動装置駆動開始待ち時間Ｔｗａｉｔ（１）後の時刻ｔ９８が始動装置３０を駆動開始する最適のタイミング（１）であることになる。
【０１００】
続いて、時刻ｔ９３でのＦＲＣ１０１の値に始動装置駆動開始待ち時間Ｔｗａｉｔ（１）を加算した値をＯＣＲ１０３に設定し、ＯＣＲ割込み発生時に始動装置３０を駆動開始するための設定を行い、ＯＣＲ機能を有効化［有効：１］し、ＯＣＲ割込みを許可［許可：１］する。
【０１０１】
次に、時刻ｔ９４で、今回エンジン回転数ＮＥ１が時刻ｔ９３での前回エンジン回転数ＮＥ２以上となることより、ＯＣＲ機能が無効化［無効：０］され、ＯＣＲ割込みが禁止［禁止：０］される。
【０１０２】
次に、時刻ｔ９５で、始動装置駆動開始要求Ｆ３が［要求：Ｆ３＝１］で、エンジン回転数が始動装置駆動開始閾値Ｎ１より大きく、前回エンジン回転数ＮＥ２より今回エンジン回転数ＮＥ１が小さいことより、ＯＣＲ機能を有効［有効：１］に設定する。
【０１０３】
先ず、時刻ｔ９５で、今回エンジン回転数ＮＥ１、時刻ｔ９４での前回エンジン回転数ＮＥ２、及び時刻ｔ９４から時刻ｔ９５までの間のクランクパルス信号入力周期Ｔｉｎｔにより、式［（ＮＥ１−ＮＥ２）÷Ｔｉｎｔ］に基づいて、時刻ｔ９４から時刻ｔ９５までの間のエンジン回転数の変化の傾きＮＥｇｒａｄ（２）を算出する。
【０１０４】
次に、時刻ｔ９５以降もエンジン回転数は時刻ｔ９５以前と同じ傾きで低下すると推定し、時刻ｔ９５での今回エンジン回転数ＮＥ１、エンジン回転数の傾きＮＥｇｒａｄ（２）、及び始動装置駆動開始閾値Ｎ１より、式［（Ｎ１−ＮＥ１）÷ＮＥｇｒａｄ（２）］に基づいて、エンジン回転数が始動装置駆動開始閾値Ｎ１に到達するまでの始動装置駆動開始待ち時間Ｔｗａｉｔ（２）を算出する。この結果、時刻ｔ９５を基準として、この時刻ｔ９５から始動装置駆動開始待ち時間Ｔｗａｉｔ（２）後の時刻ｔ１００が始動装置３０を駆動開始する最適のタイミング（２）であることになる。
【０１０５】
続いて、時刻ｔ９５でのＦＲＣ１０１の値に始動装置駆動開始待ち時間Ｔｗａｉｔ（２）を加算した値をＯＣＲ１０３に設定し、ＯＣＲ割込み発生時に始動装置３０を駆動開始するための設定を行い、ＯＣＲ機能を有効化［有効：１］し、ＯＣＲ割込みを許可［許可：１］する。
【０１０６】
次に、時刻ｔ９６で、始動装置駆動開始要求Ｆ３が「要求：Ｆ３＝１」で、エンジン回転数が始動装置駆動開始閾値Ｎ１より大きく、前回エンジン回転数ＮＥ２より今回エンジン回転数ＮＥ１が小さいことより、ＯＣＲ機能の設定を行う。
【０１０７】
即ち、先ず、時刻ｔ９６で、今回エンジン回転数ＮＥ１、時刻ｔ９５での前回エンジン回転数ＮＥ２、及び時刻ｔ９５から時刻ｔ９６までの間のクランクパルス信号入力周期Ｔｉｎｔにより、式［（ＮＥ１−ＮＥ２）÷Ｔｉｎｔ］に基づいて、時刻ｔ９５から時刻ｔ９６までの間のエンジン回転数の変化の傾きＮＥｇｒａｄ（３）を算出する。
【０１０８】
次に、時刻ｔ９６以降もエンジン回転数は時刻ｔ９６以前と同じ傾きで低下すると推定し、時刻ｔ９６での今回エンジン回転数ＮＥ１、エンジン回転数の傾きＮＥｇｒａｄ、及び始動装置駆動開始閾値Ｎ１により、式［（Ｎ１−ＮＥ１）÷ＮＥｇｒａｄ（３）］に基づいて、エンジン回転数が始動装置駆動開始閾値Ｎ１に到達するまでの始動装置駆動開始待ち時間Ｔｗａｉｔ（３）を算出する。この結果、時刻ｔ９６を基準として、この時刻ｔ９６から始動装置駆動開始待ち時間Ｔｗａｉｔ（３）後の時刻ｔ９７が始動装置３０を駆動開始する適性タイミング（３）であることになる。
【０１０９】
続いて、時刻ｔ９６でのＦＲＣ１０１の値に始動装置駆動開始待ち時間Ｔｗａｉｔ（３）を加算した値をＯＣＲ１０３に再設定する。
【０１１０】
時刻ｔ９７で、ＦＲＣ１０１がＯＣＲ１０３に一致することにより、ＯＣＲ割込みが発生し、始動装置３０が駆動開始される。
【０１１１】
同時に、時刻ｔ９７でＯＣＲ割込み処理が起動され、始動装置駆動開始要求Ｆ３が［非要求：Ｆ３＝０］に切り換り、ＯＣＲ機能が無効化［無効：０］され、ＯＣＲ割込みが禁止［禁止：０］される。
【０１１２】
以上のように、この発明の実施の形態１によるエンジン自動停止再始動装置、及びエンジン自動停止再始動方法によれば、クランクパルス入力割込み処理部１３は、エンジン再始動条件が成立し、始動装置駆動開始要求が出された場合に於いて、最新のエンジン回転数情報に応じて、最適な始動装置３０の駆動開始のタイミングを算出し、割込み上位処理の影響を受けることなく、最適なタイミングで始動装置３０を駆動開始することができる。
【０１１３】
そのため、ピニオンギヤ３５とリングギヤ２２の噛合い音を抑制し、ピニオンギヤ３５とリングギヤ２２に過大な負荷を掛けることなく、同時にＣＰＵ１０４の処理負荷を低減することができる。
【０１１４】
以上述べたこの発明の実施の形態１によるエンジン自動停止再始動装置は、下記の発明を包含する。
１．エンジン自動停止条件の成立によりエンジンへの燃料噴射を停止して前記エンジンを自動停止させ、その後、エンジン再始動条件の成立により前記エンジンを再始動させるエンジン自動停止再始動装置であって、
前記エンジンのクランク軸のクランク角度に対応してクランクパルス信号を出力するクランク角度センサと、
前記クランク軸をクランキングすることにより、前記エンジンを再始動させる始動装置と、
前記エンジンの惰性回転中に、前記クランク角度センサの出力が入力される毎に、前記入力された前記クランク角度センサの出力に基づいて検出したエンジン回転数と前記エンジン回転数の変化の傾きとにより、前記エンジン回転数が所定の閾値以下となるまでの始動装置駆動開始待ち時間を算出する始動装置駆動開始待ち時間算出部と、
前記クランク角度センサの出力が入力される毎に算出された前記始動装置駆動開始待ち時間をマイクロコンピュータに設けられたフリーランニングカウンタから読み込んだ現在時刻に加算して得た始動装置駆動開始時刻を、前記クランク角度センサの出力が入力される毎に前記マイクロコンピュータに設けられたアウトプットコンペアレジスタに設定し、前記設定した前記始動装置駆動開始時刻と前記フリーランニングカウンタの値とが一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を用いて、前記始動装置の駆動を開始させる始動装置駆動開始設定部と、
を備え、
前記始動装置駆動開始設定部は、
前回のクランクパルス信号の入力時刻に算出した前回エンジン回転数をＮＥ２、今回のクランクパルス信号の入力時刻に算出した今回エンジン回転数をＮＥ１としたとき、［ＮＥ１≧ＮＥ２］となれば、前記マイクロコンピュータのアウトプットコンペアレジスタ機能を無効とし、且つ前記アウトプットコンペアレジスタ機能を無効とした後に、［ＮＥ２≧ＮＥ１］となれば、前記マイクロコンピュータのアウトプットコンペアレジスタ機能を再度有効とするように構成されている、
ことを特徴とするエンジン自動停止再始動装置。 
【０１１５】
２．前記始動装置駆動開始待ち時間算出部は、
前記クランク角度センサからの前々回のクランクパルス信号の入力時刻と前回のクランクパルス信号の入力時刻とから求めた前回エンジン回転数と、前記前回のクランクパルス信号の入力時刻と今回のクランクパルス信号の入力時刻とから求めた今回エンジン回転数と、前記前回のクランクパルス信号の入力時刻と前記今回のクランクパルス信号の入力時刻までの時間と、に基づいて前記エンジン回転数の変化の傾きを算出し、前記算出した前記エンジン回転数の変化の傾きが減少側であり且つ前記今回エンジン回転数が前記所定の閾値を超えていれば、前記今回エンジン回転数と前記所定の閾値と前記エンジン回転数の変化の傾きとに基づいて前記始動装置駆動開始待ち時間を算出する、
ことを特徴とする上記１のエンジン自動停止再始動装置。
【０１１６】
３．前記始動装置駆動開始待ち時間算出部は、
前記今回エンジン回転数をＮＥ、前記所定の閾値をＮ１、前記エンジン回転数の変化の傾きをＮＥｇｒａｄとしたとき、式［（Ｎ１−ＮＥ）÷ＮＥｇｒａｄ］に基づいて前記始動装置駆動開始待ち時間を算出する、
ことを特徴とする上記２に記載のエンジン自動停止再始動装置。
【０１１８】
４．エンジン自動停止条件の成立によりエンジンへの燃料噴射を停止して前記エンジンを自動停止させ、その後エンジン再始動条件の成立により前記エンジンを再始動させるエンジン自動停止再始動方法であって、
前記エンジンの惰性回転中に、クランク角度センサの出力が入力される毎に、前記入力された前記クランク角度センサの出力に基づいて検出したエンジン回転数と前記エンジン回転数の変化の傾きとにより、前記エンジン回転数が所定の閾値以下となるまでの始動装置駆動開始待ち時間を算出し、
前記クランク角度センサの出力が入力される毎に算出された前記始動装置駆動開始待ち時間をマイクロコンピュータに設けられたフリーランニングカウンタから読み込んだ現在時刻に加算して得た始動装置駆動開始時刻を、前記クランク角度センサの出力が入力される毎に前記マイクロコンピュータに設けられたアウトプットコンペアレジスタに設定し、
前回のクランクパルス信号の入力時刻に算出した前回のエンジン回転数をＮＥ２、今回のクランクパルス信号の入力時刻に算出した今回のエンジン回転数をＮＥ１としたとき、［ＮＥ１≧ＮＥ２］となれば、前記設定した前記始動装置駆動開始時刻と前記フリーランニングカウンタの値とが一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を無効とし、
前記アウトプットコンペアレジスタ機能を無効とした後に、［ＮＥ２≧ＮＥ１］となれば、前記アウトプットコンペアレジスタ機能を再度有効とし、
現在時刻が前記設定した始動装置駆動開始時刻に一致したときに出力が行なわれる前記マイクロコンピュータのアウトプットコンペアレジスタ機能を用いて、前記エンジンの始動装置の駆動を開始する
ことを特徴とするエンジン自動停止再始動方法。
【０１１９】
尚、この発明は、その発明の範囲内に於いて、実施の形態を適宜、変形、省略することが可能である。
【産業上の利用可能性】
【０１２０】
この発明は、エンジン自動停止条件の成立によりエンジンを自動停止させ、その後、エンジン再始動条件の成立によりエンジンを再始動させるエンジン自動停止再始動装置を備えた自動車産業の分野に利用可能である。
【符号の説明】
【０１２１】
１  クランク角センサ、２  車速センサ、３  アクセル開度センサ、
４  ブレーキ部、１０  エンジン制御装置、２０  エンジン、
３０  始動装置、２１  燃料噴射部、２２  リングギヤ、
３１  ソレノイド、３２  プランジャ、３３  レバー、
３４  ステータモータ、３５  ピニオンギヤ、
１２  エンジン自動停止制御部、
１３  クランクパルス入力割込み処理部、１６  ＯＣＲ割込み処理部、
１４  始動装置駆動開始待ち時間算出部、
１５  始動装置駆動開始設定部、
１０１  フリーランニングカウンタ（ＦＲＣ）、１０２  比較器、
１０３  アウトプットコンペアレジスタ（ＯＣＲ）、
１０４  演算処理装置（ＣＰＵ）、１０５  ＲＯＭ、１０６  ＲＡＭ、
１０７  バス、１０８  入出力インターフェイス（Ｉ／Ｏ）。
【図１】
0005951115.tif 000002
【図２】
0005951115.tif 000003
【図３】
0005951115.tif 000004
【図４】
0005951115.tif 000005
【図５】
0005951115.tif 000006
【図６】
0005951115.tif 000007
【図７】
0005951115.tif 000008
【図８】
0005951115.tif 000009
【図９】
0005951115.tif 000010