以下、図面を参照しながら、本発明の好ましい実施形態を詳細に説明する。図1に示す車両Vは、左右の前輪W、W及び図示しない左右の後輪(以下、総称するときには「車輪W」という)を有する前輪駆動式の四輪車両であり、その前部に搭載された内燃機関(以下「エンジン」という)3と、エンジン3の動力を変速する自動変速機4を備えている。
自動変速機4は、エンジン3のクランクシャフト(図示せず)に連結されたトルクコンバータと、「1、2、3、D4、D5、N、R、P」から成る8つのシフトポジションを選択可能なシフトレバーと、1〜5速及びリバースから成る6種類の変速段に切換可能なギヤ機構(いずれも図示せず)などを備えている。エンジン3の動力は、自動変速機4で変速された後、終減速機構5及び左右のドライブシャフト6、6を介して、左右の前輪W、Wに伝達され、それにより、車両Vが駆動される。
エンジン3は、所定の停止条件が成立したときに自動的に停止(アイドルストップ)され、その後、所定の再始動条件が成立したときに自動的に再始動される、いわゆるアイドルストップ制御が行われるものである。このアイドルストップ制御は、後述するECU2によって実行される。
エンジン3の自動停止は、燃料噴射弁9(図2参照)からの燃料の噴射を停止することによって、行われる。また、エンジン3の再始動は、燃料噴射弁9から燃料を噴射しながら、バッテリ7から供給される電力でスタータモータ8を駆動し、クランクシャフトを回転させる(クランキングする)ことによって、行われる。
図2に示すように、ECU2には、クランク角センサ21から、クランクシャフトの回転速度を表すCRK信号が入力され、車輪速センサ22から、各車輪Wの回転速度を表すVW信号が入力される。ECU2は、CRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出し、VW信号に基づき、車両Vの速度である車速VPを算出する。
また、ECU2には、アクセル開度センサ23から、車両Vのアクセルペダル(図示せず)の開度(以下「アクセル開度」という)APを表す検出信号が、シフトポジションセンサ24から、シフトレバーのシフトポジションSPを表す検出信号が、それぞれ入力される。
さらに、ECU2には、電圧センサ25から、バッテリ7の電圧(以下「バッテリ電圧」という)VBを表す検出信号が入力される。ECU2は、このバッテリ電圧VBなどに基づいて、バッテリ7の充電残量(以下「バッテリ残量」という)SOCを算出する。
また、ECU2には、イグニッションスイッチ31から、そのオン/オフ状態を表す検出信号が、ブレーキスイッチ32から、車両Vのブレーキペダル(図示せず)のオン/オフ状態を表す検出信号が、それぞれ入力される。
ECU2は、CPU、RAM、ROM及び入力インターフェース(いずれも図示せず)などから成るマイクロコンピュータで構成されている。ECU2は、上述した各種のセンサ21〜25及びスイッチ31、32の検出信号に応じ、ROMに記憶された制御プログラムなどに基づいて、エンジン3及び車両Vの運転状態を判別するとともに、その判別結果に基づいて、エンジン3のアイドルストップ制御を実行する。
なお、本実施形態では、ECU2が、前条件車速成立判定手段、通過回数積算手段、前条件車速変更手段、及び所定期間変更手段に相当する。
次に、ECU2で実行されるアイドルストップ制御処理について説明する。図3は、アイドルストップ制御処理のメインフローを示す。本処理は、所定の周期C(例えば1秒)で繰り返し実行される。
本処理ではまず、ステップ1(「S1」と図示。以下同じ)及びステップ2において、再始動フラグF_RSTRT及びアイドルストップフラグF_ISTPが「1」であるか否かをそれぞれ判別する。これらの答がいずれもNOで、エンジン3が再始動中でもアイドルストップ中でもないときには、ステップ3〜9において、アイドルストップを実行する所定の停止条件が成立しているか否かを判定する。
具体的には、以下の条件(a)〜(g)が成立しているか否かをそれぞれ判別する。
(a)イグニッションスイッチ31がオン状態であること
(b)車速VPがほぼ0であること
(c)アクセル開度APがほぼ0であること
(d)シフトポジションSPがP、R、N以外であること
(e)ブレーキスイッチ32がオン状態であること
(f)バッテリ残量SOCが所定値SOCISTP以上であること
(g)前条件車速成立フラグF_HVPが「1」にセットされていること
これらの判別の答のいずれかがNOのときには、所定の停止条件が成立していないと判定し、アイドルストップを実行することなく、そのまま本処理を終了する。一方、上記の判別の答がすべてYESのときには、所定の停止条件が成立していると判定して、アイドルストップフラグF_ISTPを「1」にセットし(ステップ10)、本処理を終了する。このようにアイドルストップフラグF_ISTPが「1」にセットされると、エンジン3への燃料の供給が停止され、アイドルストップが開始される。
上記の条件(b)により、アイドルストップは、車両Vが停車状態にあることを条件として実行される。また、条件(g)の前条件車速成立フラグF_HVPは、後述するように、アイドルストップの終了後、車速VPが、I/S開始車速VPISTPよりも大きな所定の前条件車速VPHREF以上になったときに「1」にセットされるものである。
このような車速VPの履歴に基づく条件(g)により、車速VPが0になっても、前回のアイドルストップ後に車速VPが前条件車速VPHREF以上になっていない限り、アイドルストップが禁止されるので、渋滞中にアイドルストップ及び再始動が頻繁に実行されることを回避できる。なお、前条件車速VPHREF及び前条件車速成立フラグF_HVPの設定方法については、後で詳しく説明する。
上記ステップ10の実行に伴ってアイドルストップが開始された後には、前記ステップ2の答がYESになり、その場合には、ステップ12及び13において、アクセル開度APが所定の再始動開始開度APRSTRT以上であるか否か、及びブレーキスイッチ32がオフ状態であるか否かを、それぞれ判別する。これらの答がいずれもNOのときには、そのまま本処理を終了し、アイドルストップを継続する。
一方、上記ステップ12の答がYESで、アイドルストップ中にアクセルペダルが踏み込まれたとき、又は、ステップ13の答がYESで、アイドルストップ中にブレーキペダルの踏込みが解除されたときには、エンジン3の再始動条件が成立したと判定する。
その場合には、アイドルストップフラグF_ISTPを「0」にセットし(ステップ14)、アイドルストップを終了するとともに、再始動フラグF_RSTRTを「1」にセットし(ステップ15)、本処理を終了する。このように再始動フラグF_RSTRTが「1」にセットされると、エンジン3の再始動のために、スタータモータ8が駆動され、エンジン3のクランキングが開始される。
このようにエンジン3の再始動が開始された後には、前記ステップ1の答がYESになり、その場合には、ステップ16に進み、エンジン回転数NEが所定のアイドル回転数NEIDL以上であるか否かを判別する。この答がNOで、NE<NEIDLのときには、そのまま本処理を終了し、クランキングを継続する。
一方、上記ステップ16の答がYESで、クランキングによってエンジン回転数NEがアイドル回転数NEIDL以上に立ち上がったときには、再始動が完了したとして、再始動フラグF_RSTRTを「0」にセットし(ステップ17)、本処理を終了する。
次に、図4を参照しながら、前述した前条件車速成立フラグF_HVPを設定する車速履歴判定処理について説明する。本処理は、図3のアイドルストップ制御処理と同じ周期Cで、繰り返し実行される。
本処理では、まずステップ21において、アイドルストップフラグF_ISTPが前回と今回の間で「1」から「0」に切り替わったか否かを判別する。この答がYESで、アイドルストップが終了した直後のときには、前条件車速成立フラグF_HVPを「0」にリセットし(ステップ22)、本処理を終了する。
上記ステップ21の答がNOで、アイドルストップの終了直後でないときには、前条件車速成立フラグF_HVPが「1」であるか否かを判別する(ステップ23)。この答がNOのときには、車速VPが前条件車速VPHREF以上であるか否かを判別する(ステップ24)。この答がNOのときには、そのまま本処理を終了し、前条件車速成立フラグF_HVPを「0」に維持する。
一方、ステップ24の答がYESで、車速VP≧前条件車速VPHREFが成立したときには、前条件車速成立フラグF_HVPを「1」にセットし(ステップ25)、本処理を終了する。また、このように前条件車速成立フラグF_HVPが「1」にセットされた後には、前記ステップ23の答がYESになり、その場合には、そのまま本処理を終了し、前条件車速成立フラグF_HVPを「1」に維持する。
以上の設定方法から明らかなように、前条件車速成立フラグF_HVP=1であることは、前回のアイドルストップの終了後、車速VPが一度でも前条件車速VPHREFまで上昇したことを表す。
次に、図5を参照しながら、第1実施形態による前条件車速VPHREFの設定処理について説明する。本処理もまた、図3のアイドルストップ制御処理と同じ所定の周期Cで、繰り返し実行される。
本処理では、まずステップ31において、車速VPが所定の渋滞判定車速VPSLOWよりも大きいか否かを判別する。この渋滞判定車速VPSLOWは、車両Vが渋滞走行中であるかを判定するためのものであり、値0に近い所定値、例えば5km/hに設定されている。この判別の結果、VP>VPSLOWのときには、車速判定フラグF_VPJUDを「1」にセットし(ステップ32)、VP≦VPSLOWのときには、車速判定フラグF_VPJUDを「0」にセットする(ステップ33)。
上記ステップ32又は33に続くステップ34では、今回の車速判定フラグF_VPJUDがその前回値F_VPJUDZと等しいか否かを判別する。この答がYESのときには、車速通過フラグF_VPPASSを「0」にセットする(ステップ35)。一方、ステップ34の答がNOのとき、すなわち、渋滞判定車速VPSLOWに対する車速VPの大小関係が前回と今回の間で変化したときには、車速VPが渋滞判定車速VPSLOWを通過したとして、車速通過フラグF_VPPASSを「1」にセットする(ステップ36)。
上記ステップ35又は36に続くステップ37では、車速通過フラグF_VPPASSnをECU2に記憶する。具体的には、ECU2のRAMには、車速通過フラグF_VPPASSを記憶するためのm個(例えば20個)の記憶領域(第1〜第m領域)が設けられており、今回の車速通過フラグF_VPPASSは、第1領域にF_VPPASS1として記憶される。また、それ以前に第1〜第(m−1)領域に車速通過フラグF_VPPASS1〜F_VPPASS(m−1)がすでに記憶されている場合には、それらのデータはそれぞれ、第2〜第m領域にF_VPPASS2〜F_VPPASSmとしてシフトされる。
以上の処理の結果、上記ステップ34〜36がm回、実行された以降は、今回セットされた車速通過フラグF_VPPASS1を含むm個の車速通過フラグF_VPPASSnが記憶される。前述したように、本処理は所定の周期C(例えば1秒)で実行され、また、車速通過フラグF_VPPASS=1は、車速VPが渋滞判定車速VPSLOWを通過したことを表す。したがって、車速通過フラグF_VPPASSnの積算値(以下「車速通過フラグ積算値」という)ΣF_VPPASSnは、現時点を終点とし、かつ現時点から本処理の実行周期C×記憶数mに相当する時間だけさかのぼった時点を起点とする所定期間Pにおいて、車速VPが渋滞判定車速VPSLOWを通過した通過回数を表す。
したがって、次のステップ38では、この車速通過フラグ積算値ΣF_VPPASSnを算出し、車速VPの通過回数NPとするとともに、ステップ39において、算出された通過回数NPが所定回数NPREF(例えば3)以上であるか否かを判別する。この答がNOで、通過回数NPが所定回数NPREF未満のときには、車両Vが渋滞走行中でないと判定して、前条件車速VPHREFを、渋滞判定車速VPSLOWに等しい第1前条件車速VPHREF1(例えば5km/h)に設定し(ステップ40)、本処理を終了する。
一方、上記ステップ39の答がYESで、通過回数NPが所定回数NPREF以上のときには、車両Vが渋滞走行中であると判定し、ステップ41〜43を実行する。まず、通過回数の前回値NPZが所定回数NPREF以上であるか否かを判別する(ステップ41)。この答がNOのとき、すなわち、通過回数NPが所定回数NPREF未満から所定回数NPREF以上になった直後のときには、前条件車速成立フラグF_HVPを「0」にリセットする(ステップ42)。また、前条件車速VPHREFを、第1前条件車速VPHREF1よりも大きな所定の第2前条件車速VPHREF2(例えば15km/h)に設定し(ステップ43)、本処理を終了する。
一方、前記ステップ41の答がYESで、通過回数NPが所定回数NPREF以上になった直後でないときには、ステップ42をスキップしてステップ43に進み、前条件車速VPHREFを第2前条件車速VPHREF2に設定する。
図6は、これまでに説明した本実施形態のアイドルストップ制御によって得られる動作例を示す。この例では、所定期間Pは、C×m=20秒であり、所定回数NPREFは3である。また、同図では、所定期間Pは、終点の黒丸から起点の矢印の先端まで延びる線分で示され、車速VPが渋滞判定車速VPSLOWを通過する点は白丸で示されており、したがって、所定期間P内の車速VPの通過回数NPは、上記の線分の範囲内に存在する白丸の数で表される。なお、図示の関係上、一部の所定期間Pは省略されている。また、前述したアイドルストップの実行条件(a)〜(g)のうち、車速VPに関する条件(b)(g)以外の条件はすべて成立しているものとする。
この例では、時点t1以前では、前条件車速VPHREFは、より小さな第1前条件車速VPHREF1に設定されており、また、車速VPが前条件車速VPHREFを一旦、超えていることから、前条件車速成立フラグF_HVPは「1」にセットされている(図4のステップ25)。このため、この状態から、車速VPが0になると(t1)、アイドルストップフラグF_ISTPが「1」にセットされ、アイドルストップが実行される。
その後、前条件車速成立フラグF_HVPは、アイドルストップが終了したときに「0」にリセットされ(t2)(図4のステップ22)、さらに、車速VPが上昇し、前条件車速VPHREFを超えたときに、「1」にセットされる(t3)。
その後、車速VPが低下し、渋滞判定車速VPSLOWを通過したときに(t4)、所定期間P内の通過回数NPが3になり、所定回数NPREF以上になる。それに応じて、前条件車速成立フラグF_HVPが「0」にリセットされるとともに、前条件車速VPHREFが、より大きな第2前条件車速VPHREF2に変更される(図5のステップ42、43)。
その後のt4〜t7の間では、いずれの所定期間Pにおいても通過回数NPが3又は4であることで、前条件車速VPHREFは第2前条件車速VPHREF2に維持されるとともに、車速VPが前条件車速VPHREFに達しないため、前条件車速成立フラグF_HVPは「0」に維持され、アイドルストップが禁止される。このため、その間に車速VPが0になっても(t5、t6)、アイドルストップフラグF_ISTPは「0」のままで、アイドルストップは実行されない。
その後、時点t7において、車速VPの通過回数NPが2になると、それに応じて、前条件車速VPHREFが第1前条件車速VPHREF1に変更される(図5のステップ40)。また、車速VPが前条件車速VPHREFに達したときに(t8)、前条件車速成立フラグF_HVPが「1」にセットされ、アイドルストップが許可される。そして、車速VPが0になったときに(t9)、アイドルストップが実行される。
以上のように、本実施形態によれば、車速VPが所定期間P内に渋滞判定車速VPSLOWを通過した通過回数NPを、車速通過フラグ積算値ΣF_VPPASSnに基づいて算出するとともに、算出された通過回数NPが所定回数NPREF以上になったときに、車両Vが渋滞走行に移行したとして、前条件車速成立フラグF_HVPを「0」にリセットし、渋滞走行中のアイドルストップを禁止する。このように車両Vの渋滞走行をきめ細かく適切に判定し、その判定結果に応じてアイドルストップを適切に許可又は禁止でき、したがって、アイドルストップによる燃費の改善効果を確保できるとともに、アイドルストップ及び再始動に関連する部品の劣化を抑制し、その寿命を延ばすことができる。
また、通過回数NPが所定回数NPREF未満のときには、前条件車速HPREFを第1前条件車速HPREF1に設定するので、渋滞走行中でないときに、アイドルストップの実行を緩和し、その実行頻度を高めることによって、アイドルストップによる燃費の改善効果を向上させることができる。さらに、この状態から、通過回数NPが所定回数NPREF以上になったときに、前条件車速HPREFを第2前条件車速HPREF2に変更するので、渋滞走行中のアイドルストップの実行を制限し、その実行頻度をさらに低減することができる。
また、この状態から、通過回数NPが所定回数NPREF未満になったときに、前条件車速VPHREFを第1前条件車速VPHREF1に戻すので、渋滞走行中でないときのアイドルストップの実行頻度を適切に確保することができる。さらに、第1前条件車速VPHREFと渋滞判定車速VPSLOWが互いに同じ値に設定されるので、それらを記憶する記憶容量を削減することができる。
次に、図7を参照しながら、変形例による前条件車速VPHREFの設定処理について説明する。なお、同図では、図5に示した第1実施形態による設定処理と同じ内容のステップについては、同じステップ番号を付している。このことは、後述する第2実施形態及び第3実施形態による設定処理を示す図8及び図10についても同様である。
図5との比較から明らかなように、この変形例は、第1実施形態のステップ37とステップ38の間に、ステップ51を追加したものである。具体的には、第1実施形態と同様にステップ31〜37を実行した後、ステップ51に進み、ステップ37で記憶された車速通過フラグF_VPPASSnのうち、今回の車速通過フラグF_VPPASS1が「1」であるか否かを判別する。
このステップ51の答がNOのとき、すなわち、前回と今回の間で車速VPが渋滞判定車速VPSLOWを通過していないときには、そのまま本処理を終了する。一方、ステップ51の答がYESで、前回と今回の間で車速VPが渋滞判定車速VPSLOWを通過したときには、第1実施形態と同様にステップ38〜43を実行し、通過回数NPを算出するとともに、通過回数NPと所定回数NPREFとの比較結果に応じて、前条件車速VPHREFの設定などを行う。
以上のように、この変形例によれば、車速VPが渋滞判定車速VPSLOWを通過したときにのみ、通過回数NPの算出と前条件車速VPHREFの設定などを実行するので、それらの演算を処理サイクルごとに実行する第1実施形態と比較して、演算負荷を有効に軽減することができる。
次に、図8を参照しながら、第2実施形態による前条件車速VPHREFの設定処理について説明する。図5との比較から明らかなように、この第2実施形態は、第1実施形態のステップ35又は36とステップ39の間に、ステップ37A、ステップ61〜63及びステップ38Aを追加・変更したものである。
具体的には、第1実施形態と同様にステップ31〜36を実行した後、ステップ37Aにおいて、車速通過フラグF_VPPASSnを記憶する。本実施形態では、ECU2のRAMに、第1実施形態よりも多いm個(例えば30)の記憶領域が設けられており、算出された車速通過フラグF_VPPASSが、図5のステップ37と同様して、最新のものから順に第1〜第m領域に記憶される。
次に、このときに設定されている前条件車速VPHREFが、第1前条件車速VPHREF1であるか否かを判別する(ステップ61)。この答がYESで、第1前条件車速VPHREF1が設定されているときには、車速通過フラグ積算値ΣF_VPPASSnを算出する際のサンプル数Mを、記憶数mよりも小さな第1所定値m1(例えば20)に設定する(ステップ62)。一方、ステップ61の答がNOで、第2前条件車速VPHREF2が設定されているときには、サンプル数Mを、記憶数mに等しい第2所定値m2に設定する(ステップ63)。
次のステップ38Aでは、ステップ62又は63で設定されたサンプル数Mの車速通過フラグF_VPPASSnを対象として、車速通過フラグ積算値ΣF_VPPASSn(n=1〜M)を算出し、車速VPの通過回数NPとする。
以上の算出方法から明らかなように、本実施形態では、前条件車速VPHREFが第1前条件車速VPHREF1に設定されているときには、サンプル数Mがより小さな第1所定値m1に設定され、それに対応して、所定期間Pは、より短い第1所定期間P1に設定される。これに対し、前条件車速VPHREFが第2前条件車速VPHREF2に設定されているときには、サンプル数Mがより大きな第2所定値m2に設定され、それに対応して、所定期間Pは、第1所定期間P1より長い第2所定期間P2に変更される(図9参照)。
上記ステップ38Aの後の実行内容は、第1実施形態とまったく同じであり、ステップ39〜43を実行し、算出された通過回数NPと所定回数NPREFとの比較結果に応じて、前条件車速VPHREFの設定などを行う。
図9は、上述した第2実施形態によって得られる動作例を示す。この例での車速VPの変化状況は、図6に示した第1実施形態による動作例のそれと同じである。この例では、時点t4までの動作は、第1実施形態と同じであり、第1所定期間P1内の通過回数NPが2以下であるため、前条件車速VPHREFは第1前条件車速VPHREF1に設定されている。
この状態から、時点t4において車速VPが渋滞判定車速VPSLOWを通過すると、通過回数NPが3になるのに応じて、前条件車速成立フラグF_HVPが「0」にリセットされ、前条件車速VPHREFが第2前条件車速VPHREF2に変更されるとともに、この前条件車速VPHREFの変更に応じて、車速通過フラグF_VPPASSのサンプル数Mがより大きな第2所定値m2に設定されることで、所定期間Pが第2所定期間P2に延長される(図8のステップ37A、63、38A)。
その結果、その後のt4〜t10の間では、通過回数NPが3又は4であることで、前条件車速VPHREFは第2前条件車速VPHREF2に維持され、車速VPが前条件車速VPHREFに達しないため、前条件車速成立フラグF_HVPは「0」に維持され、アイドルストップが禁止される。このため、その間に車速VPが0になっても(t5、t6、t9)、アイドルストップは実行されず、その禁止状態が第1実施形態の場合よりも長く続く。また、時点t10では通過回数NPが2になり、それに応じて、前条件車速VPHREFは第1前条件車速VPHREF1に変更され、所定期間Pは第1所定期間P1に戻される。
以上のように、本実施形態によれば、前条件車速VPHREFが第2前条件車速VPHREF2に変更されたときに、所定期間Pを第1所定期間P1からより長い第2所定期間P2に変更するので、通過回数NPが所定回数NPREF以上になりやすく、前条件車速VPHREFが第2前条件車速VPHREF2に維持されやすくなることで、渋滞走行中のアイドルストップの実行頻度をさらに低減することができる。
次に、図10を参照しながら、第3実施形態による前条件車速VPHREFの設定処理について説明する。図5との比較から明らかなように、この第3実施形態は、第1実施形態にステップ71〜73を追加したものである。
具体的には、第1実施形態のステップ41の答がYESのとき、すなわち、通過回数NPが所定回数NPREF以上で、前条件車速VPHREFが第2前条件車速VPHREF2に設定されているときには、アイドルストップフラグF_ISTPが「1」であるか否かを判別する(ステップ71)。この答がNOで、アイドルストップが実行されていないときには、ステップ43に進み、前条件車速VPHREFを第2前条件車速VPHREF2に設定する。
一方、上記ステップ71の答がYESのとき、すなわち、前条件車速VPHREFが第2前条件車速VPHREF2に設定されている状態で、アイドルストップが実行されたときには、ECU2に記憶されていた車速通過フラグF_VPPASSnをすべて「0」にクリアする(ステップ72)とともに、前条件車速VPHREFを第1前条件車速VPHREFに変更し(ステップ73)、本処理を終了する。
図11は、上述した第3実施形態によって得られる動作例を示す。この例では、時点t11において、車速VPが前条件車速VPHREF(=第2前条件車速VPHREF2)に達しており、それに応じて前条件車速成立フラグF_HVPが「1」にセットされる。このため、その後、車速VPが0になったときに(t12)、アイドルストップが実行される。また、このアイドルストップの実行に応じて、前条件車速VPHREFが第1前条件車速VPHREF1に変更される(図10のステップ71、73)。
その後、前条件車速成立フラグF_HVPは、アイドルストップが終了したときに(t13)、「0」にリセットされ、車速VPが前条件車速VPHREF(=第1前条件車速VPHREF2)に達したときに(t14)、再び「1」にセットされる。このため、その後、車速VPが0になったときに(t15)、アイドルストップが実行される。
以上のように、本実施形態によれば、前条件車速VPHREFが第2前条件車速VPHREFに設定されている状態で、アイドルストップが実行されたときには、渋滞走行が終了したとして、前条件車速VPHREFを第1前条件車速VPHREF1に変更するので、渋滞走行中でないときのアイドルストップの実行頻度を適切に高め、燃費の改善効果を向上させることができる。
次に、図12を参照しながら、第4実施形態による前条件車速VPHREFの設定処理について説明する。この第4実施形態は、前述した第1〜第3実施形態と異なり、車速VPの通過回数の積算と、その結果に応じた前条件車速VPHREFの設定を、アイドルストップが実行されるごとに、タイマとカウンタを用いて行うものである。
本処理では、まずステップ81において、アイドルストップフラグF_ISTPが前回と今回の間で「1」から「0」に切り替わったか否かを判別する。この答がYESで、アイドルストップが終了した直後のときには、前条件車速VPHREFの設定が完了したことを表す設定完了フラグF_PDANE、アイドルストップの終了時からの時間を計測するアップカウント式のタイマの値(以下「I/Sタイマ値」という)TM_PASS、及び車速VPの通過回数をカウントするカウンタの値(以下「通過回数カウンタ値」という)CNPを、それぞれ「0」にリセットし(ステップ82〜84)、ステップ86に進む。
一方、前記ステップ81の答がNOで、アイドルストップが終了した直後でないときには、設定完了フラグF_PDANEが「1」であるか否かを判別する(ステップ85)。ステップ82の実行により、アイドルストップが終了した当初は、このステップ85の答がNOになり、その場合には、ステップ86に直接、進む。
ステップ86〜89では、第1実施形態のステップ31〜34と同様にして、車速VPが渋滞判定車速VPSLOWを通過したか否かを判定する。すなわち、ステップ86において、車速VPが渋滞判定車速VPSLOWよりも大きいか否かを判別し、車速判定フラグF_VPJUDを、VP>VPSLOWのときには「1」にセットし(ステップ87)、VP≦VPSLOWのときには「0」にセットする(ステップ88)。次に、ステップ89では、今回の車速判定フラグF_VPJUDがその前回値F_VPJUDZと等しいか否かを判別する。
そして、ステップ89の答がNOのときには、車速VPが渋滞判定車速VPSLOWを通過したとして、通過回数カウンタ値CNPをインクリメントし(ステップ90)、ステップ91に進む、一方、ステップ89の答がYESで、車速VPが渋滞判定車速VPSLOWを通過していないときには、ステップ91に直接、進む。以上のようにカウントされる通過回数カウンタ値CNPは、アイドルストップの終了後に車速VPが渋滞判定車速VPSLOWを通過した通過回数NPに等しい。
ステップ89又は90に続くステップ91では、I/Sタイマ値TM_PASSが、所定時間TPREF以上であるか否かを判別する。この所定時間TPREFは、アイドルストップの終了時を起点とする所定期間Pの長さを定めるものであり、例えば20秒に設定されている。このステップ91の答がNOのときには、そのまま本処理を終了する。
上記ステップ91の答がYESで、アイドルストップの終了時から所定時間TPREFが経過し、所定期間Pが終了したときには、このときの通過回数カウンタ値CNPが所定回数NPREF以上であるか否かを判別する(ステップ92)。この答がNOで、通過回数カウンタ値CNPが所定回数NPREF未満のときには、車両Vが渋滞走行中でないと判定して、前条件車速VPHREFを第1前条件車速VPHREF1に設定する(ステップ93)。
一方、上記ステップ92の答がYESで、通過回数カウンタ値CNPが所定回数NPREF以上のときには、車両Vが渋滞走行中であると判定して、前条件車速成立フラグF_HVPを「0」にリセットする(ステップ94)とともに、前条件車速VPHREFを第2前条件車速VPHREF2に設定する(ステップ95)。ステップ93又は95の後には、前条件車速VPHREFの設定が完了したことを表すために、設定完了フラグF_PDANEを「1」にセットし(ステップ96)、本処理を終了する。また、このステップ96の実行により、その後は前記ステップ85の答がYESになり、その場合には、そのまま本処理を終了する。
図13は、上述した第4実施形態によって得られる動作例を示す。この例では、時点t2においてアイドルストップが終了しており、この時点t2から所定時間TPREFが経過した時点t21までの最初の所定期間Pにおいて、通過回数カウンタ値CNPがカウントされる。この例では、CNP=4であるので、車両Vが渋滞走行中であるとして、前条件車速成立フラグF_HVPが「0」にリセットされ、前条件車速VPHREFが第2前条件車速VPHREF2に設定される(図12のステップ94、95)。
その後、車速VPが前条件車速VPHREFに達するのに応じて、前条件車速成立フラグF_HVPが「1」にセットされ(t22)、車速VPが0になったときに(t23)、アイドルストップが実行される。また、その終了時(t24)から2回目の所定期間Pが開始される。この場合には、通過回数カウンタ値CNP=2であるため、所定期間Pの終了時(t26)に、前条件車速VPHREFが第1前条件車速VPHREF1に設定される(図12のステップ93)。
以上のように、本実施形態によれば、所定期間Pにおける車速VPの通過回数の積算を、I/Sタイマと通過回数カウンタを用いて行うので、多数の車速通過フラグF_VPPASSnの記憶及び積算を必要とする第1〜第3実施形態と比較して、演算負荷を大幅に軽減でき、前条件車速VPHREFの設定を容易に行うことができる。
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、各実施形態では、前条件車速VPHREFは、第1及び第2前条件車速VPHREF1、2で構成されているが、単一のもので構成してもよい。その場合、単一の前条件車速VPHREFは、渋滞判定車速VPSLOWと同じ値又は異なる値とすることが可能である。また、各実施形態では、第1前条件車速VPHREF1と渋滞判定車速VPSLOWが互いに同じ値に設定されているが、両者を異ならせてもよいことは、もちろんである。
さらに、変形例、第2及び第3実施形態は、互いに別個に実施されるものとして説明したが、それらの構成を任意に組み合わせて実施してもよい。また、各実施形態では、車両Vが停車状態にあることを条件としてアイドルストップを実行するように構成されているが、本発明は、これに限らず、走行中のアイドルストップを実行する場合にも適用できる。さらに、実施形態で示した所定期間Pや所定回数NPREF、第1及び第2前条件車速VPHREF1、2、渋滞判定車速VPSLOWなどの値は、あくまで例示であり、状況に応じて変更される。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。