(57)【特許請求の範囲】
【請求項１】
車両の駆動源としてのエンジンとモータを備え、車両減速時に減速状態に応じてモータにより回生制動を行うハイブリッド車両の制御装置において、
前記エンジンは該エンジンのフリクションを低減する気筒休止可能な休筒エンジンであり、
車両の運転状態に応じて気筒休止の可否を判別する気筒休止判別手段と、
車両減速時にエンジンへの燃料供給を停止する燃料供給停止手段と、
車両の減速状態を検出して、減速時の前記エンジンの気筒休止を実施していない場合の前記モータによる回生量を算出する回生量算出手段とを備え、
該回生量算出手段は、モータによる減速回生時に前記気筒休止判別手段が気筒休止実施可能と判別した場合、前記回生量をエンジン回転数に応じて算出された補正量に基づいて補正する補正量算出手段を備え、
前記モータは前記回生量算出手段と補正量算出手段に基づいた回生量に応じて回生を行い、
前記気筒休止判別手段により気筒休止実施可能と判別した場合、変速機の入力側変速比を増速するよう変速機の変速比を変更させ、前記エンジン回転数を増加することを特徴とするハイブリッド車両の制御装置。
【請求項２】
前記気筒休止は吸気弁及び排気弁の双方を閉じるものであることを特徴とする請求項１に記載のハイブリッド車両の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ハイブリッド車両の制御装置に関するものであり、特に、減速時において適正な回生量を確保できる気筒休止型のハイブリッド車両の制御装置に係るものである。
【０００２】
【従来の技術】
従来から、車両走行用の駆動源としてエンジンの他にモータを備えたハイブリッド車両が知られており、このハイブリッド車両の一種に、エンジンの出力をモータにより駆動補助（アシスト）するパラレルハイブリッド車両がある。
前記パラレルハイブリッド車両は、加速時においてはモータによってエンジンの出力を駆動補助し、減速時においては減速回生によってバッテリ等への充電を行なうなどの様々な制御を行い、バッテリの残容量（電気エネルギー）を確保しつつ運転者の要求を満足できるようになっている。また、構造的にはエンジンとモータとが直列に配置される機構で構成されるため、構造がシンプル化できシステム全体の重量が少なくて済み、車両搭載の自由度が高い利点がある。
【０００３】
ここで、前記パラレルハイブリッド車両には、減速回生時のエンジンのフリクション（エンジンブレーキ）の影響をなくすために、エンジンとモータとの間にクラッチを設けたもの（例えば、特開２０００−９７０６８号公報参照）や、極限までシンプル化を図るために、エンジン、モータ、トランスミッションを直列に直結にした構造のもの（例えば、特開２０００−１２５４０５号公報参照）がある。
【０００４】
【発明が解決しようとする課題】
しかしながら、前者のエンジンとモータとの間にクラッチを設けた構造のものは、クラッチを設ける分だけ構造が複雑化し、搭載性が悪化すると同時に、クラッチを使用するため、走行中も含めて動力伝達系の伝達効率が低下するという欠点を有する。一方、後者のエンジン、モータ、トランスミッションを直列に直結した構造のものは、前述したエンジンのフリクションがある分だけ回生量が少なくなるため、回生により確保できる電気エネルギーが少なくなり、したがって、モータにより駆動補助量（アシスト量）などが制限されるという問題がある。
また、前者のタイプにおいて減速時のエンジンのフリクションを低減させる手法として、電子制御スロットル機構を用いて減速時にスロットル弁を開き側に制御し、ポンピングロスを大幅に低減して回生量を増加させる手法もあるが、減速時に新気がそのまま排気系に多量に流れ込むため、触媒やＡ／Ｆセンサ−の温度を低下させてしまい、排ガス適正制御に悪影響を与えるという問題がある。
そこで、この発明は、気筒休止運転を可能としてエンジンフリクションを低減させた分だけ大幅に燃費向上を図ることができると共に、減速時において適正な回生量を確保できるハイブリッド車両の制御装置を提供するものである。
【０００５】
【課題を解決するための手段】
請求項１に記載した発明は、車両の駆動源としてのエンジン（例えば、実施形態におけるエンジンＥ）とモータ（例えば、実施形態におけるモータＭ）を備え、車両減速時に減速状態に応じてモータにより回生制動を行うハイブリッド車両の制御装置において、前記エンジンは該エンジンのフリクションを低減する気筒休止可能な休筒エンジンであり、車両の運転状態に応じて気筒休止の可否を判別する気筒休止判別手段（例えば、実施形態における全気筒休止実施フラグＦ＿ＡＬＣＳ）と、車両減速時にエンジンへの燃料供給を停止する燃料供給停止手段（例えば、実施形態におけるステップＳ２１２）と、車両の減速状態を検出して、減速時の前記エンジンの気筒休止を実施していない場合の前記モータによる回生量を算出する回生量算出手段（例えば、実施形態におけるステップＳ２５５）とを備え、該回生量算出手段は、モータによる減速回生時に前記気筒休止判別手段が気筒休止実施可能と判別した場合、前記回生量をエンジン回転数（例えば、実施形態におけるエンジン回転数ＮＥ）に応じて算出された補正量（例えば、実施形態における全気筒休止回生演算値ＣＳＲＧＮ）に基づいて補正する補正量算出手段（例えば、実施形態におけるステップＳ３０９）を備え、前記モータは前記回生量算出手段と補正量算出手段に基づいた回生量に応じて回生を行い、前記気筒休止判別手段により気筒休止実施可能と判別した場合、変速機（例えば、実施形態におけるＣＶＴ）の入力側変速比を増速するよう変速機の変速比を変更させ、前記エンジン回転数を増加することを特徴とする。
このように構成することで、気筒休止により減少したエンジンフリクションの低減分を補正量算出手段により算出し、この補正量（回生量の増量分）を回生量算出手段により算出された回生量に上乗せして回生することができる。
また、気筒休止を行うことで回生量を増量することができることに加えて更に燃料消費量を抑えることができる。
更に、気筒休止により低減したエンジンフリクションに対応する回生エネルギーをエンジン回転数の増加により確保することが可能となる。
【０００８】
請求項２に記載した発明は、前記気筒休止は吸気弁及び排気弁の双方を閉じるものであることを特徴とする。
【０００９】
【発明の実施の形態】
以下、この発明の実施形態を図面と共に説明する。
図１はこの発明の実施形態のパラレルハイブリッド車両を示し、エンジンＥ、モータＭ、トランスミッションＴを直列に直結した構造のものである。エンジンＥ及びモータＭの両方の駆動力は、オートマチックトランスミッションあるいはマニュアルトランスミッションよりなるトランスミッションＴを介して駆動輪たる前輪Ｗｆ，Ｗｆに伝達される。また、ハイブリッド車両の減速時に前輪Ｗｆ，Ｗｆ側からモータＭ側に駆動力が伝達されると、モータＭは発電機として機能していわゆる回生制動力を発生し、車体の運動エネルギーを電気エネルギーとして回収する。尚、Ｗｒは後輪を示す。
【００１０】
モータＭの駆動及び回生作動は、モータＥＣＵ１からの制御指令を受けてパワードライブユニット２により行われる。パワードライブユニット２にはモータＭと電気エネルギーの授受を行う高圧系のバッテリ３が接続されており、バッテリ３は、例えば、複数のセルを直列に接続したモジュールを１単位として更に複数個のモジュールを直列に接続したものである。ハイブリッド車両には各種補機類を駆動するための１２ボルトの補助バッテリ４が搭載されており、この補助バッテリ４はバッテリ３にダウンバータ５を介して接続される。ＦＩＥＣＵ１１により制御されるダウンバータ５は、バッテリ３の電圧を降圧して補助バッテリ４を充電する。
【００１１】
ＦＩＥＣＵ１１は、前記モータＥＣＵ１及び前記ダウンバータ５に加えて、エンジンＥへの燃料供給量を制御する燃料供給量制御手段６の作動と、スタータモータ７の作動の他、点火時期等の制御を行う。そのために、ＦＩＥＣＵ１１には、ミッションの駆動軸の回転数に基づいて車速Ｖを検出する車速センサＳ１からの信号と、エンジン回転数ＮＥを検出するエンジン回転数センサＳ２からの信号と、トランスミッションＴのシフトポジションを検出するシフトポジションセンサＳ３からの信号と、ブレーキペダル８の操作を検出するブレーキスイッチＳ４からの信号と、クラッチペダル９の操作を検出するクラッチスイッチＳ５からの信号と、スロットル開度ＴＨを検出するスロットル開度センサＳ６からの信号と、吸気管負圧ＰＢＧＡを検出する吸気管負圧センサＳ７からの信号とが入力される。３１は、バッテリ３を保護し、バッテリ３の残容量ＱＢＡＴを算出するバッテリＥＣＵを示す。尚、図１に鎖線で示すようにＣＶＴ車の場合にはＣＶＴ制御用のＣＶＴＥＣＵ２１が設けられる。
【００１２】
ＢＳはブレーキペダル８に連係された倍力装置を示し、この倍力装置ＢＳにはブレーキマスターパワー内負圧（ＭＰＧＡ）を検出する負圧センサＳ８が設けられている。
尚、この負圧センサＳ８はエンジンＥＣＵ１１に接続されている。
【００１３】
ここで、上記エンジンＥは全ての気筒を稼働する全気筒運転（通常運転）と、全ての気筒を休止する全気筒休止運転とに切り換え自在な休筒エンジンである。図１に模式的に示すように、エンジンＥの各気筒の吸気弁ＩＶと排気弁ＥＶは、可変バルブタイミング機構ＶＴにより運転の休止をできる構造となっている。ここで可変バルブタイミング機構ＶＴはエンジンＥＣＵ１１に接続されている。
【００１４】
具体的に図２、図３によって説明する。
図２は、例えば、ＳＯＨＣ型のエンジンに全気筒休止運転のための可変バルブタイミング機構ＶＴを適用した一例を示す。図示しないシリンダには吸気弁ＩＶと排気弁ＥＶが設けられ、これら吸気弁ＩＶと排気弁ＥＶは弁スプリング５１，５１により図示しない吸気、排気ポートを閉じる方向に付勢されている。一方、５２はカムシャフト５３に設けられたリフトカムであり、このリフトカム５２には、吸気弁側、排気弁側ロッカーアームシャフト５３ａ，５３ｂを介して回動可能に支持された吸気弁側、排気弁側カムリフト用ロッカーアーム５４ａ，５４ｂが連係している。
【００１５】
また、各ロッカーアームシャフト５３ａ，５３ｂにはカムリフト用ロッカーアーム５４ａ，５４ｂに隣接して弁駆動用ロッカーアーム５５ａ，５５ｂが回動可能に支持されている。そして、弁駆動用ロッカーアーム５５ａ，５５ｂの回動端が前記吸気弁ＩＶ、排気弁ＥＶの上端を押圧して吸気弁ＩＶ、排気弁ＥＶを開弁作動させるようになっている。尚、弁駆動用のロッカーアーム５５ａ，５５ｂの基端側（弁当接部分とは反対側）にカムシャフト５３に設けられた真円カム５３１に摺接可能に構成されている。
【００１６】
図３は、排気弁側を例にして、前記カムリフト用ロッカーアーム５４ｂと弁駆動用ロッカーアーム５５ｂを示したものである。
図３（ａ）、図３（ｂ）において、カムリフト用ロッカーアーム５４ｂと弁駆動用ロッカーアーム５５ｂには、排気弁側ロッカーアームシャフト５３ｂを中心にしてリフトカム５２と反対側に、カムリフト用ロッカーアーム５４ｂと弁駆動用ロッカーアーム５５ｂとに渡る油圧室５６が形成されている。油圧室５６内にはピン５７がスライド自在に設けられ、このピン５７は、ピンスプリング５８を介してカムリフト用ロッカーアーム５４ｂ側に付勢されている。
一方、排気弁側ロッカーアームシャフト５３ｂの内部には油圧供給路５９が形成され、この油圧供給路５９は、油圧供給路５９の開口部６０、カムリフト用ロッカーアーム５４ｂの連通路６１を介して、油圧室５６に連通している。前記油圧供給路５９には、アクチュエータとしてのスプールバルブＳＶを切り換えることでオイルポンプＰからの作動油が供給される。このスプールバルブＳＶのソレノイドがエンジンＥＣＵ１１に接続されている。
【００１７】
ここで、油圧供給路５９から油圧が作用しない場合は、図３（ａ）に示すように、前記ピン５７は、ピンスプリング５８により前記カムリフト用ロッカーアーム５４ｂと弁駆動用ロッカーアーム５５ｂとの双方に跨る位置となり、一方、気筒休止信号により油圧供給路５９から油圧が作用した場合は、図３（ｂ）に示すように、前記ピン５７はピンスプリング５８に抗して弁駆動用ロッカーアーム５５ｂ側にスライドして、前記カムリフト用ロッカーアーム５４ｂと弁駆動用ロッカーアーム５５ｂとの連結を解除する。尚、吸気弁側も同様の構成である。
【００１８】
したがって、後述する全休筒実施前条件を満たし、全休筒解除条件が成立しない場合に、エンジンＥＣＵ１１からの信号により前記スプールバルブＳＶのソレノイドがＯＮ作動し（Ｆ＿ＡＬＣＳ＝１）、吸気弁側及び排気弁側の双方で前記油圧供給路５９から油圧室５６に油圧が作用する。すると、それまでカムリフト用ロッカーアーム５４ａ，５４ｂと弁駆動用ロッカーアーム５５ａ，５５ｂとを一体にしていたピン５７，５７は弁駆動用ロッカーアーム５５ａ，５５ｂ側へスライドし、カムリフト用ロッカーアーム５４ａ，５４ｂと弁駆動用ロッカーアーム５５ａ，５５ｂとの連結が解除される。
よって、リフトカム５２の回転運動によりカムリフト用ロッカーアーム５４ａ，５４ｂは駆動するが、ピン５７によるカムリフト用ロッカーアーム５４ａ，５４ｂとの連結が解除された弁駆動用ロッカーアーム５５ａ，５５ｂは空転する真円カム５３１によっても駆動せず、カムリフト用ロッカーアーム５４ａ，５４ｂによっても駆動されないため、各弁ＩＶ，ＥＶの開弁には寄与できない。これにより、各弁ＩＶ、ＥＶは閉じたままとなり、全気筒休止運転を可能としている。
【００１９】
「ＭＡ（モータ）基本モード」
次に、前記モータＭをどのようなモードで運転するのかを決定するＭＡ（モータ）基本モードを、図４、図５に示すフローチャートに基づいて説明する。
尚、この処理は所定周期で繰り返される。
ここで、このＭＡ（モータ）基本モードには、「アイドルモード」、「アイドル停止モード」、「減速モード」、「クルーズモード」及び「加速モード」の各モードがある。アイドルモードでは、燃料カットに続く燃料供給が再開されてエンジンＥがアイドル状態に維持され、アイドル停止モードでは、例えば車両の停止時等に一定の条件でエンジンが停止される。また、減速モードでは、モータＭによる回生制動が実行され、加速モードでは、エンジンＥがモータＭにより駆動補助され、クルーズモードでは、モータＭが駆動せず車両がエンジンＥの駆動力で走行する。上記減速モードにおいて、全気筒休止が行われる。
【００２０】
図４のステップＳ０５１においてＭＴ／ＣＶＴ判定フラグＦ＿ＡＴが「１」か否かを判定する。判定結果が「ＹＥＳ」（ＣＶＴ車）である場合はステップＳ０６０に進み、判定結果が「ＮＯ」（ＭＴ車）である場合はステップＳ０５２に進む。
ステップＳ０６０において、ＣＶＴ用インギア判定フラグＦ＿ＡＴＮＰが「１」か否かを判定する。判定結果が「ＹＥＳ」（Ｎ，Ｐレンジ）である場合はステップＳ０８３に進み、判定結果が「ＮＯ」（インギア）である場合はステップＳ０６０Ａに進む。
【００２１】
ステップＳ０６０Ａでは、スイッチバック中（シフトレバー操作中でシフト位置が特定できない）か否かをスイッチバックフラグＦ＿ＶＳＷＢが「１」か否かで判定する。判定結果が「ＹＥＳ」（スイッチバック中）である場合はステップＳ０８５に進み、「アイドルモード」に移行して制御を終了する。アイドルモードでは、エンジンＥがアイドル状態に維持される。ステップＳ０６０Ａにおける判定結果が「ＮＯ」（スイッチバック中でない）場合はステップＳ０５３Ａに進む。
【００２２】
ステップＳ０８３において、エンジン停止制御実施フラグＦ＿ＦＣＭＧが「１」か否かを判定する。ステップＳ０８３における判定結果が「ＮＯ」である場合はステップＳ０８５の「アイドルモード」に移行して制御を終了する。ステップＳ０８３における判定結果が「ＹＥＳ」である場合はステップＳ０８４に進み、「アイドル停止モード」に移行して制御を終了する。アイドル停止モードでは、例えば車両の停止時等に一定の条件でエンジンが停止される。
【００２３】
ステップＳ０５２において、ニュートラルポジション判定フラグＦ＿ＮＳＷが「１」か否かを判定する。判定結果が「ＹＥＳ」（ニュートラルポジション）である場合はステップＳ０８３に進み、判定結果が「ＮＯ」（インギア）である場合はステップＳ０５３に進む。
ステップＳ０５３では、クラッチ接続判定フラグＦ＿ＣＬＳＷが「１」か否かを判定する。判定結果が「ＹＥＳ」（クラッチ断）である場合はステップＳ０８３に進み、判定結果が「ＮＯ」（クラッチ接）である場合はステップＳ０５３Ａに進む。
【００２４】
ステップＳ０５３Ａでは、バッテリ残容量ＱＢＡＴが低速発進判定バッテリ残容量ＱＢＪＡＭ以上か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ０５４に進み、判定結果が「ＮＯ」である場合はステップＳ０５３Ｂに進む。
ステップＳ０５３Ｂでは、低速発進判定フラグＦ＿ＪＡＭＳＴが「１」か否かを判定する。この低速発進判定フラグＦ＿ＪＡＭＳＴは、低速で発進して速度が上がらないでのろのろ走行している場合にフラグ値が「１」となるフラグである。ステップＳ０５３Ｂにおける判定結果が「ＹＥＳ」である場合はステップＳ０８３に進む。ステップＳ０５３Ｂにおける判定結果が「ＮＯ」の場合はステップＳ０５４に進む。つまり、バッテリの残容量も少なく、かつ、のろのろ発進している場合は、加速意思がなくバッテリを保護する意味でも、アイドルモードかアイドル停止モード（アイドルにて発電させるか、上記エンジン停止判断にてエンジンを停止させる）の方が良いからである。
【００２５】
ステップＳ０５４において、ＩＤＬＥ判定フラグＦ＿ＴＨＩＤＬＭＧが「１」か否かを判定する。判定結果が「ＮＯ」である場合（全閉）はステップＳ０６１に進み、判定結果が「ＹＥＳ」である場合（全閉でない）はステップＳ０５４Ａに進む。
ステップＳ０５４Ａでは、半クラッチ判断時のエンジン回転数引き上げフラグＦ＿ＮＥＲＧＮＵＰに「０」をセットし、ステップＳ０５５に進む。尚、この半クラッチ判断時のエンジン回転数引き上げフラグＦ＿ＮＥＲＧＮＵＰについては後述する。
【００２６】
ステップＳ０５５において、モータアシスト判定フラグＦ＿ＭＡＳＴが「１」か否かを判定する。このフラグはモータＭによりエンジンをアシストするか否かを判定するフラグであり、「１」である場合はアシスト要求があり、「０」である場合はアシスト要求がないことを意味する。尚、このモータアシスト判定フラグはアシストトリガ判定処理により設定される。
ステップＳ０５５における判定結果が「ＮＯ」である場合はステップＳ０６１に進む。ステップＳ０５５における判定結果が「ＹＥＳ」である場合はステップＳ０５６に進む。
【００２７】
ステップＳ０６１において、ＭＴ／ＣＶＴ判定フラグＦ＿ＡＴが「１」か否かを判定する。判定結果が「ＮＯ」（ＭＴ車）である場合はステップＳ０６３に進み、判定結果が「ＹＥＳ」（ＣＶＴ車）である場合はステップＳ０６２に進む。ステップＳ０６２において、リバースポジション判定フラグＦ＿ＡＴＰＲが「１」か否かを判定する。判定結果が「ＹＥＳ」（リバースポジション）である場合はステップＳ０８５に進み、判定結果が「ＮＯ」（リバースポジション以外）である場合はステップＳ０６３に進む。
【００２８】
ステップＳ０５６において、ＭＴ／ＣＶＴ判定フラグＦ＿ＡＴが「１」か否かを判定する。判定結果が「ＹＥＳ」（ＣＶＴ車）である場合はステップＳ０５７に進み、判定結果が「ＮＯ」（ＭＴ車）である場合はステップＳ０６７Ａに進む。
ステップＳ０５７において、ブレーキＯＮ判定フラグＦ＿ＢＫＳＷが「１」か否かを判定する。判定結果が「ＹＥＳ」（ブレーキＯＮ）である場合はステップＳ０６３に進み、判定結果が「ＮＯ」（ブレーキＯＦＦ）である場合はステップＳ０５７Ａに進む。
【００２９】
ステップＳ０６３において、車速ＶＰが「０」か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ０８３に進み、判定結果が「ＮＯ」である場合はステップＳ０６４に進む。
ステップＳ０６４において、エンジン停止制御実施フラグＦ＿ＦＣＭＧが「１」か否かを判定する。判定結果が「ＮＯ」である場合は、ステップＳ０６５に進み、判定結果が「ＹＥＳ」である場合はステップＳ０８４に進む。
【００３０】
ステップＳ０６５において、シフトチェンジ強制ＲＥＧＥＮ解除判定処理ディレータイマＴＮＥＲＧＮが「０」か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ０６６に進み、判定結果が「ＮＯ」である場合はステップＳ０６８に進む。
ステップＳ０６６において、エンジン回転数の変化率ＤＮＥが、ＤＮＥによるＲＥＧＥＮ抜き判定エンジン回転数＃ＤＮＲＧＮＣＵＴのマイナス値より小さいか否かを判定する。ここでＤＮＥによるＲＥＧＥＮ抜き判定エンジン回転数＃ＤＮＲＧＮＣＵＴは、エンジン回転数の変化率ＤＮＥに応じて発電量の減算を行うか否かの判定の基準となるエンジン回転数ＮＥの変化率ＤＮＥである。
【００３１】
ステップＳ０６６における判定の結果、エンジン回転数ＮＥのダウン（低下率）が大きいと判定された場合（ＹＥＳ）はステップＳ０８２に進む。ステップＳ０８２において、半クラッチ判断時のエンジン回転数引き上げフラグＦ＿ＮＥＲＧＮＵＰに「１」をセットしてステップＳ０８５に進む。
ここで、この半クラッチ判断時のエンジン回転数引き上げフラグＦ＿ＮＥＲＧＮＵＰを設けているのは以下の理由からである。半クラッチでエンジン回転数ＮＥが変化する毎に、後述するステップＳ０７０における判定が頻繁に切り替わるハンチングを防止するため、半クラッチ時においては半クラッチ判断時のエンジン回転数を引き上げる。これを明確にするために半クラッチ判断時のエンジン回転数引き上げフラグＦ＿ＮＥＲＧＮＵＰをセットするのである。
【００３２】
ステップＳ０６６における判定の結果、エンジン回転数ＮＥがアップ（上昇）したり、エンジン回転数ＮＥのダウン（低下率）が小さい場合（ＮＯ）はステップＳ０６７に進む。
ステップＳ０６７において、ＭＴ／ＣＶＴ判定フラグＦ＿ＡＴが「１」か否かを判定する。判定結果が「ＮＯ」（ＭＴ車）である場合はステップＳ０７９に進み、判定結果が「ＹＥＳ」（ＣＶＴ車）である場合はステップＳ０６８に進む。ステップＳ０７９において、半クラッチ判断フラグＦ＿ＮＧＲＨＣＬが「１」か否かを判定する。判定の結果、半クラッチ判断がされた場合（ＹＥＳ）はステップＳ０８２に進む。また、半クラッチ判断がされない場合（ＮＯ）はステップＳ０８０に進む。
ステップＳ０８０において、前回ギア位置ＮＧＲと今回ギア位置ＮＧＲ１とを比較し、今回と前回とのギアポジションを比較してシフトアップがあったか否かを判定する。
【００３３】
ステップＳ０８０における判定の結果、ギアポジションがシフトアップした場合は（ＮＯ）ステップＳ０８２に進む。ステップＳ０８０における判定の結果、今回と前回でギアポジションがシフトアップしていない場合（ＹＥＳ）はステップＳ０６８に進む。このように、半クラッチの場合にステップＳ０８２に移行しその後アイドルモードとなるのは、半クラッチ状態で回生が行われるとエンジンをストールさせてしまう可能性が有るためである。また、シフトアップの場合にステップＳ０８２に移行してその後アイドルモードとなるのは、シフトアップによるエンジン回転数の低下時に回生を行うとエンジンをストールさせてしまう可能性が有るためである。
【００３４】
ステップＳ０６８において、半クラッチ判断時のエンジン回転数引き上げフラグＦ＿ＮＥＲＧＮＵＰが「１」か否かを判定する。判定の結果、半クラッチ判断時のエンジン回転数引き上げの必要がありフラグがセット（＝１）されている場合（ＹＥＳ）はステップＳ０８１に進み、ギア毎に設定された充電用エンジン回転数下限値＃ＮＥＲＧＮＬｘにハンチング防止のための引き上げ回転数＃ＤＮＥＲＧＮＵＰを加算し、この加算値を充電用エンジン回転数下限値ＮＥＲＧＮＬにセットしステップＳ０７０に進む。ステップＳ０６８における判定の結果、半クラッチ判断時のエンジン回転数引き上げの必要がなくフラグがリセット（＝０）されている場合（ＮＯ）は、ステップＳ０６９に進み、ギア毎に設定された充電用エンジン回転数下限値＃ＮＥＲＧＮＬｘを充電用エンジン回転数下限値ＮＥＲＧＮＬにセットしステップＳ０７０に進む。
【００３５】
そして、ステップＳ０７０において、エンジン回転数ＮＥが充電用エンジン回転数下限値ＮＥＲＧＮＬ以下か否かを判定する。判定の結果、低回転である場合（ＮＥ≦ＮＥＲＧＮＬ、ＹＥＳ）はステップＳ０８２に進む。判定の結果、高回転である場合（ＮＥ＞ＮＥＲＧＮＬ、ＮＯ）はステップＳ０７１に進む。
【００３６】
ステップＳ０５７Ａにおいて、スクランブルアシスト要求フラグＦ＿ＭＡＳＴＳＣＲが「１」か否かを判定する。このスクランブルアシストは加速時に一時的にアシスト量を増量することにより加速感を向上させるためのものである。基本的にはスロットルの変化量が大きいときにはスクランブルアシスト要求フラグＦ＿ＭＡＳＴＳＣＲに「１」をセットするようになっている。
ステップＳ０５７Ａにおける判定結果が「ＮＯ」である場合はステップＳ０５７Ｂで加速時ＲＥＧＥＮＦ処理を行いステップＳ０５７Ｄに進む。また、ステップＳ０５７Ａにおける判定結果が「ＹＥＳ」である場合は、ステップＳ０５７Ｃで最終充電指令値ＲＥＧＥＮＦの減算処理を行いステップＳ０５８に進む。
【００３７】
ステップＳ０５７Ｄにおいて、加速時ＲＥＧＥＮ処理フラグＦ＿ＡＣＣＲＧＮが「１」か否かを判定する。判定結果が「ＹＥＳ」場合（処理が行われている）はステップＳ０５８に進み、判定結果が「ＮＯ」場合（処理が行われていない）はステップＳ０５７Ｃに進む。
【００３８】
ステップＳ０５８において、最終充電指令値ＲＥＧＥＮＦが「０」以下か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ０５９の「加速モード」に進む。加速モードでは、エンジンＥがモータＭにより駆動補助され、ステップＳ０５９Ａに進む。ステップＳ０５８における判定結果が「ＮＯ」である場合は制御を終了する。
【００３９】
ステップＳ０５９Ａにおいて、アシスト許可フラグＦ＿ＡＣＣＡＳＴが「１」か否かを判定する。判定結果が「ＹＥＳ」である場合は制御を終了し、判定結果が「ＮＯ」である場合はステップＳ０５９Ｂに進む。
ステップＳ０５９Ｂにおいて、発進アシスト許可フラグＦ＿ＳＴＲＡＳＴが「１」か否かを判定する。判定結果が「ＹＥＳ」である場合は制御を終了し、判定結果が「ＮＯ」である場合はステップＳ０５９Ｃに進む。
ステップＳ０５９Ｃにおいて、スクランブルアシスト許可フラグＦ＿ＳＣＲＡＳＴが「１」か否かを判定する。判定結果が「ＹＥＳ」である場合は制御を終了し、判定結果が「ＮＯ」である場合はステップＳ０５９Ｄに進む。
ステップＳ０５９Ｄにおいて、気筒休止復帰アシスト許可フラグＦ＿ＲＣＳＡＳＴが「１」か否かを判定する。判定結果が「ＹＥＳ」である場合は制御を終了し、判定結果が「ＮＯ」である場合はステップＳ０６３に進む。ここで、気筒休止復帰アシスト許可フラグＦ＿ＲＣＳＡＳＴが「１」である場合は後述する全気筒休止運転から全気筒（通常）運転へ移行する際のモータによる駆動補助が許可されていることを意味する。
【００４０】
ステップＳ０７１において、車速ＶＰが減速モードブレーキ判断下限車速＃ＶＲＧＮＢＫ以下か否かを判定する。尚、この減速モードブレーキ判断下限車速＃ＶＲＧＮＢＫはヒステリシスを持つ値である。判定の結果、車速ＶＰ≦減速モードブレーキ判断下限車速＃ＶＲＧＮＢＫ、である場合（ＹＥＳ）はステップＳ０７４に進む。ステップＳ０７１における判定の結果、車速ＶＰ＞減速モードブレーキ判断下限車速＃ＶＲＧＮＢＫ、である場合（ＮＯ）はステップＳ０７２に進む。
ステップＳ０７２において、ブレーキＯＮ判定フラグＦ＿ＢＫＳＷが「１」か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ０７３に進み、判定結果が「ＮＯ」である場合はステップＳ０７４に進む。
【００４１】
ステップＳ０７３において、ＩＤＬＥ判定フラグＦ＿ＴＨＩＤＬＭＧが「１」か否かを判定する。判定の結果が「ＮＯ」（スロットルが全閉）である場合はステップＳ０７８の「減速モード」に進み、ステップＳ０７７Ａにおいて加速時ＲＥＧＥＮ処理を行って制御を終了する。尚、減速モードではモータＭによる回生制動が実行されるが、この減速モードで全気筒休止がなされるため、エンジンのフリクションの低減分だけモータＭによる回生量を増量できる。ステップＳ０７３における判定結果が「ＹＥＳ」（スロットルが全閉でない）である場合はステップＳ０７４に進む。
【００４２】
ステップＳ０７４において、燃料カットフラグＦ＿ＦＣが「１」か否かを判定する。このフラグはステップＳ０７８の「減速モード」でモータＭによる回生が行われている時に「１」となり燃料カットを行う燃料カット判断フラグである。ステップＳ０７４における判定の結果、減速燃料カット中である場合（ＹＥＳ）はステップＳ０７８に進む。ステップＳ０７４における判定の結果燃料カット中でない場合（ＮＯ）は、ステップＳ０７５に進み最終アシスト指令値ＡＳＴＰＷＲＦの減算処理を行い、ステップＳ０７６に進む。
【００４３】
ステップＳ０７６において、最終アシスト指令値ＡＳＴＰＷＲＦが「０」以下か否かを判定する。判定結果が「ＹＥＳ」である場合は、ステップＳ０７７の「クルーズモード」に移行し、次に、ステップＳ０７７Ａの加速時ＲＥＧＥＮ処理を行い制御を終了する。クルーズモードではモータＭは駆動せずに車両はエンジンＥの駆動力で走行する。また、車両の運転状態に応じてモータＭを回生作動させたり発電機として使用してバッテリ３への充電を行う場合もある。
ステップＳ０７６における判定結果が「ＮＯ」である場合は制御を終了する。
【００４４】
「全気筒休止運転切替実行処理」
次に、図６に基づいて、全気筒休止運転切替実行処理を説明する。
ここで全気筒休止運転とは、一定の条件で減速回生時に前記可変バルブタイミング機構ＶＴにより吸気弁、排気弁を閉鎖する運転を意味し、エンジンフリクションを低減させ減速回生量を増加させるために行われる。以下に示すフローチャートでは、この全気筒休止運転と全気筒休止を行わない通常運転とを切り替えるためのフラグ（全気筒休止実施フラグＦ＿ＡＬＣＳ）のセット・リセットを所定周期で行っている。この全気筒休止実施フラグＦ＿ＡＬＣＳが気筒休止判別手段を構成している。
【００４５】
ステップＳ１０１において、指定Ｆ／Ｓ（フェールセーフ）検知済みか否かを判定する。判定結果が「ＮＯ」である場合はステップＳ１０２に進み、判定結果が「ＹＥＳ」である場合はステップＳ１１４に進む。何らかの異常がある場合は全気筒休止をするべきではないからである。
ステップＳ１０２において、全気筒休止運転中であるか否かを、全気筒休止実施フラグＦ＿ＡＬＣＳが「１」か否かで判定する。この全気筒休止実施フラグＦ＿ＡＬＣＳは、このフローチャートにより設定されるフラグであり、フラグ値が「１」である場合は全気筒休止運転が実施され、「０」である場合は全気筒休止は行われず、通常運転が行われる。
【００４６】
ステップＳ１０２における判定結果が「ＹＥＳ」であり、全気筒休止実施中である場合はステップＳ１０５に進む。したがって、後述する全気筒休止実施前条件判断により全気筒休止実施中（Ｆ＿ＡＬＣＳ＝１）となると、全気筒休止前条件判断はなされない。ステップＳ１０２における判定結果が「ＮＯ」であり、全気筒休止実施中でない場合はステップＳ１０３において後述する全気筒休止実施前条件判断（Ｆ＿ＡＬＣＳＳＴＢ＿ＪＵＤ）を行いステップＳ１０４に進む。この全気筒休止実施前条件判断により前条件が成立した場合に限り全気筒休止運転が実施される。
【００４７】
ステップＳ１０４において、全気筒休止スタンバイフラグＦ＿ＡＬＣＳＳＴＢが「１」か否かを判定する。このフラグはステップＳ１０３における判定により前条件が成立するとフラグ値が「１」となり、成立しないと「０」となるフラグである。このフラグにより、車両の運転状態に応じて気筒休止の実施可否が判別される。ステップＳ１０４における判定結果が「ＹＥＳ」の場合は、前条件が成立しているためステップＳ１０５に進む。ステップＳ１０４における判定結果が「ＮＯ」の場合は、前条件が成立していないためステップＳ１１４に進む。
【００４８】
ステップＳ１０５において、後述する全気筒休止解除条件判断（Ｆ＿ＡＬＣＳＳＴＰ＿ＪＵＤ）を行いステップＳ１０６に進む。この全気筒休止解除条件判断により解除条件が成立した場合は全気筒休止運転は実施されない。この全気筒休止解除条件判断は全気筒休止前条件判断とは異なり、図６の処理を行う場合に常に行われる。
ステップＳ１０６において、全気筒休止解除条件成立フラグＦ＿ＡＬＣＳＳＴＰが「１」か否かを判定する。このフラグはステップＳ１０５における判定により解除条件が成立するとフラグ値が「１」となり、成立しないと「０」となるフラグである。このフラグにより、エンジンの休筒運転中に車両の運転状態に応じて気筒休止の解除可否が判別される。ステップＳ１０６における判定結果が「ＹＥＳ」の場合は、解除条件が成立しているためステップＳ１１４に進む。ステップＳ１０６における判定結果が「ＮＯ」の場合は、解除条件が成立していないためステップＳ１０７に進む。
【００４９】
ステップＳ１０７において、前記スプールバルブＳＶ用のソレノイドＯＦＦディレータイマＴＡＬＣＳＤＬＹ２に所定値＃ＴＭＡＬＣＳ２をセットしてステップＳ１０８に進む。全気筒休止運転から通常運転に移行する場合に、ステップＳ１０５の判定が終了してから後述するステップＳ１１６の前記スプールバルブＳＶのソレノイドのＯＦＦ作動を完了させるまでの間に一定の時間を確保するためである。
ステップＳ１０８において、後述するソレノイドＯＮディレータイマＴＡＬＣＳＤＬＹ１が「０」か否かを判定する。判定結果が「ＹＥＳ」の場合は、一定の時間が経過しているのでステップＳ１０９に進む。ステップＳ１０８における判定結果が「ＮＯ」の場合は、一定の時間が経過していないのでステップＳ１１６に進む。
【００５０】
ステップＳ１０９では全気筒休止用ソレノイドフラグＦ＿ＡＬＣＳＳＯＬに「１」をセットし（スプールバルブの全気筒休止用ソレノイドをＯＮ）ステップＳ１１０に進む。
ステップＳ１１０において、全気筒休止のための前記ソレノイドのＯＮ作動により、油圧が実際に発生しているか否かを油圧センサにより判定する。具体的にはエンジン油圧ＰＯＩＬが全気筒休止運転実行判定油圧＃ＰＯＩＬＣＳＨ（例えば、１３７ｋＰａ（＝１．４ｋｇ／ｃｍ２））以上であるか否かを判定する。判定結果が「ＹＥＳ」で高圧側である場合は、ステップＳ１１１に進む。判定結果が「ＮＯ」（ヒステリシスがある）である場合は、ステップＳ１１８に進む。尚、油圧センサに代えて油圧スイッチを用いて判定することも可能である。
【００５１】
ステップＳ１１１において、スプールバルブがＯＮ作動してから油圧が印加されるまでの時間を確保するために全気筒休止運転実行ディレータイマＴＣＳＤＬＹ１が「０」か否かを判定する。判定結果が「ＹＥＳ」の場合はステップＳ１１２に進む。判定結果が「ＮＯ」である場合はステップＳ１２０に進む。
ステップＳ１１２において、油温センサにより測定した油温ＴＯＩＬに応じてタイマ値＃ＴＭＯＣＳＤＬ２をテーブル検索し、全気筒休止運転解除ディレータイマＴＣＳＤＬＹ２をセットする。油温が低いと油圧の立ち上がりが遅れるなど、油温は作動遅れに影響を与えるからである。よって、このタイマ値＃ＴＭＯＣＳＤＬ２は油温ＴＯＩＬが低いほど大きくなる値である。
そして、ステップＳ１１３において全気筒休止実施フラグＦ＿ＡＬＣＳに「１」をセットし制御を終了する。尚、ステップＳ１１２において、油温に代えてエンジン水温に基づき前記タイマ値を検索しても良い。
【００５２】
ステップＳ１１４において、ソレノイドＯＮディレータイマＴＡＬＣＳＤＬＹ１に所定値＃ＴＭＡＬＣＳ１をセットしてステップＳ１１５に進む。通常運転から全気筒休止運転に移行する場合に、ステップＳ１０５の判定が終了してからステップＳ１０９のスプールバルブのソレノイドをＯＮ作動させるまでの間に一定の時間を確保するためである。
ステップＳ１１５において、ソレノイドＯＦＦディレータイマＴＡＬＣＳＤＬＹ２が「０」か否かを判定する。判定結果が「ＹＥＳ」の場合は、一定の時間が経過しているのでステップＳ１１６に進む。ステップＳ１１５における判定結果が「ＮＯ」の場合は、一定の時間が経過していないのでステップＳ１０９に進む。
【００５３】
ステップＳ１１６では全気筒休止用ソレノイドフラグＦ＿ＡＬＣＳＳＯＬに「０」をセットし（スプールバルブの全気筒休止用ソレノイドをＯＦＦ）ステップＳ１１７に進む。
ステップＳ１１７において、全気筒休止解除のための前記ソレノイドのＯＦＦ作動により、油圧が実際に解除されているか否かを油圧センサにより判定する。具体的には油圧ＰＯＩＬが全気筒休止運転解除判定油圧＃ＰＯＩＬＣＳＬ（例えば、９８ｋＰａ（＝１．０ｋｇ／ｃｍ２））以下であるか否かを判定する。判定結果が「ＹＥＳ」で低圧側である場合は、ステップＳ１１８に進む。判定結果が「ＮＯ」（ヒステリシスがある）である場合は、ステップＳ１１１に進む。この場合も油圧センサに代えて油圧スイッチを使用することができる。
【００５４】
ステップＳ１１８において、スプールバルブがＯＦＦ作動してから油圧が解除されるまでの時間を確保するために全気筒休止運転解除ディレータイマＴＣＳＤＬＹ２が「０」か否かを判定する。判定結果が「ＹＥＳ」の場合はステップＳ１１９に進む。判定結果が「ＮＯ」である場合はステップＳ１１３に進む。
ステップＳ１１９において、油温センサにより測定した油温ＴＯＩＬに応じてタイマ値＃ＴＭＯＣＳＤＬ１をテーブル検索し、全気筒休止運転実行ディレータイマＴＣＳＤＬＹ１をセットする。油温が低いと油圧の立ち上がりが遅れるなど、油温は作動遅れに影響を与えるからである。よって、このタイマ値＃ＴＭＯＣＳＤＬ１は油温ＴＯＩＬが低いほど大きくなる値である。
そして、ステップＳ１２０において全気筒休止実施フラグＦ＿ＡＬＣＳに「０」をセットし制御を終了する。尚、ステップＳ１１９において、油温に代えてエンジン水温に基づき前記タイマ値を検索しても良い。
【００５５】
「全気筒休止前条件実施判断処理」
次に、図７に基づいて、図６のステップＳ１０３における全気筒休止前条件実施判断処理を説明する。尚、この処理は所定周期で繰り返される。
ステップＳ１３１において、吸気管負圧ＰＢＧＡが全気筒休止実施上限負圧＃ＰＢＧＡＬＣＳ（例えば、−４０ｋＰａ（＝−３００ｍｍＨｇ））以上の大気圧側であるか否かを判定する。エンジン負荷が大きい場合に全気筒休止を行うのは好ましくないからである。ステップＳ１３１の判定結果が「ＹＥＳ」（低負荷）である場合はステップＳ１３２に進み、判定結果が「ＮＯ」である場合はステップＳ１３８に進む。
ステップＳ１３８では、全気筒休止前条件が不成立となるため、全気筒休止スタンバイフラグＦ＿ＡＬＣＳＳＴＢに「０」をセットして制御を終了する。
【００５６】
ステップＳ１３２において、外気温ＴＡが所定の範囲内（全気筒休止実施下限外気温＃ＴＡＡＬＣＳＬ（例えば、０℃）≦ＴＡ≦全気筒休止実施上限外気温＃ＴＡＡＬＣＳＨ（例えば、５０℃））にあるか否かを判定する。ステップＳ１３２における判定の結果、外気温ＴＡが所定の範囲内にあると判定された場合はステップＳ１３３に進む。外気温ＴＡが所定の範囲から外れている場合はステップＳ１３８に進む。外気温ＴＡが全気筒休止実施下限外気温＃ＴＡＡＬＣＳＬを下回ったり、全気筒休止実施上限外気温＃ＴＡＡＬＣＳＨを上回っている場合には、全気筒休止を行うとエンジンが不安定となるからである。
【００５７】
ステップＳ１３３では、冷却水温ＴＷが所定の範囲内（全気筒休止実施下限冷却水温＃ＴＷＡＬＣＳＬ（例えば、７０℃）≦ＴＷ≦全気筒休止実施上限冷却水温＃ＴＷＡＬＣＳＨ（例えば、１００℃））にあるか否かを判定する。ステップＳ１３３における判定の結果、冷却水温ＴＷが所定の範囲内にあると判定された場合はステップＳ１３４に進む。所定の範囲から外れている場合はステップＳ１３８に進む。冷却水温ＴＷが全気筒休止実施下限冷却水温＃ＴＷＡＬＣＳＬを下回ったり、全気筒休止実施上限冷却水温＃ＴＷＡＬＣＳＨを上回っている場合には、全気筒休止を行うとエンジンが不安定となるからである。
【００５８】
ステップＳ１３４において、大気圧ＰＡが全気筒休止実施上限大気圧＃ＰＡＡＬＣＳ（例えば、７７．３ｋＰａ（＝５８０ｍｍＨｇ））以上であるか否かを判定する。ステップＳ１３４の判定結果が「ＹＥＳ」（高気圧）である場合はステップＳ１３５に進み、判定結果が「ＮＯ」である場合はステップＳ１３８に進む。大気圧が低い場合に全気筒休止を行うのは好ましくないからである（例えば、ブレーキのマスターパワー負圧をブレーキ作動時に十分な状態で確保できていない可能性もある為）。
【００５９】
ステップＳ１３５において、１２ボルトの補助バッテリ４の電圧（駆動源電圧）ＶＢが全気筒休止実施上限電圧＃ＶＢＡＬＣＳ（例えば、１０．５Ｖ）以上であるか否かを判定する。判定結果が「ＹＥＳ」（電圧大）である場合はステップＳ１３６に進み、判定結果が「ＮＯ」である場合はステップＳ１３８に進む。１２ボルトの補助バッテリ４の電圧ＶＢが所定値より小さい場合には、スプールバルブＳＶの応答性が悪くなるからである。低温環境下のバッテリ電圧低下やバッテリ劣化時における対策のためである。
【００６０】
ステップＳ１３６では、油温ＴＯＩＬが所定の範囲内（全気筒休止実施下限油温＃ＴＯＡＬＣＳＬ（例えば、７０℃）≦ＴＯＩＬ≦全気筒休止実施上限油温＃ＴＯＡＬＣＳＨ（例えば、１００℃））にあるか否かを判定する。ステップＳ１３６における判定の結果、油温ＴＯＩＬが所定の範囲内にあると判定された場合はステップＳ１３７に進む。所定の範囲から外れている場合はステップＳ１３８に進む。油温ＴＯＩＬが全気筒休止実施下限油温＃ＴＯＡＬＣＳＬを下回ったり、全気筒休止実施上限油温＃ＴＯＡＬＣＳＨを上回っている場合に全気筒休止を行うとエンジン作動時と全気筒休止時の切り替えの応答性が安定しないからである。
ステップＳ１３７において、全気筒休止前条件が成立するため、全気筒休止スタンバイフラグＦ＿ＡＬＣＳＳＴＢに「１」をセットして制御を終了する。
【００６１】
「全気筒休止解除条件判断処理」
次に、図８に基づいて、図６のステップＳ１０５における全気筒休止解除条件判断処理を説明する。尚、この処理は所定周期で繰り返される。
ステップＳ１４１において、燃料カットフラグＦ＿ＦＣが「１」か否かを判定する。ステップＳ１４１の判定結果が「ＹＥＳ」である場合はステップＳ１４２に進み、判定結果が「ＮＯ」である場合はステップＳ１５７に進む。この判定があるのは全気筒休止は、減速燃料カット時におけるエンジンのフリクションを低減してその低減分の回生量を増量することを目的としているからである。
ステップＳ１５７では、全気筒休止解除条件が成立するため、全気筒休止解除条件成立フラグＦ＿ＡＬＣＳＳＴＰに「１」をセットして制御を終了する。
【００６２】
ステップＳ１４２において、減速回生中か否かを判定する。ステップＳ１４１の判定結果が「ＹＥＳ」である場合はステップＳ１４３に進み、判定結果が「ＮＯ」である場合はステップＳ１５７に進む。
ステップＳ１４３において、ＭＴ／ＣＶＴ判定フラグＦ＿ＡＴが「１」か否かを判定する。判定結果が「ＮＯ」（ＭＴ車）である場合はステップＳ１４４に進む。判定結果が「ＹＥＳ」（ＡＴ／ＣＶＴ車）である場合はステップＳ１５５に進む。
【００６３】
ステップＳ１５５において、インギア判定フラグＦ＿ＡＴＮＰが「１」か否かを判定する。判定結果が「ＮＯ」（インギア）である場合はステップＳ１５６に進む。判定結果が「ＹＥＳ」（Ｎ／Ｐレンジ）である場合はステップＳ１５７に進む。
ステップＳ１５６において、リバースポジション判定フラグＦ＿ＡＴＰＲが「１」か否かを判定する。判定結果が「ＹＥＳ」（リバースポジション）である場合はステップＳ１５７に進む。判定結果が「ＮＯ」（リバースポジション以外）である場合はステップＳ１４６に進む。
これらステップＳ１５５、ステップＳ１５６の処理によりＮ／Ｐレンジ、リバースポジションでの全気筒休止は解除される。
【００６４】
ステップＳ１４４において、前回ギア位置ＮＧＲが全気筒休止継続下限ギア位置＃ＮＧＲＡＬＣＳ（例えば、３速でこの位置を含む）よりＨｉギア側か否かを判定する。判定結果が「ＹＥＳ」（Ｈｉギア側）である場合はステップＳ１４５に進み、判定結果が「ＮＯ」（Ｌｏギア側）である場合はステップＳ１５７に進む。これは、低速ギヤでは回生率の低下や、渋滞状態等で頻繁に気筒休止の切り替えが行われることを防止するためである。
ステップＳ１４５において、半クラッチ判断フラグＦ＿ＮＧＲＨＣＬが「１」（半クラッチ）か否かを判定する。判定結果が「ＹＥＳ」である場合（半クラッチ）はステップＳ１５７に進み、判定結果が「ＮＯ」である場合はステップＳ１５６に進む。よって、例えば、車両停止のために半クラッチになった場合におけるエンジンストールや、加速時にギヤチェンジのために半クラッチ状態になった場合に運転者の要求に対応できないような不具合が起きるような、不要な気筒休止を防止できる。
【００６５】
ステップＳ１４６において、エンジン回転数の変化率ＤＮＥが全気筒休止継続実行上限エンジン回転数変化率＃ＤＮＥＡＬＣＳのマイナス値（例えば、−１００ｒｐｍ）以下か否かを判定する。判定結果が「ＹＥＳ」（エンジン回転数の低下率が大きい）である場合はステップＳ１５７に進み、判定結果が「ＮＯ」である場合はステップＳ１４８に進む。エンジン回転数の低下率が大きい場合に全気筒休止を行った場合のエンジンストールを防止するためである。
【００６６】
ステップＳ１４８において、車速ＶＰが所定の範囲内（全気筒休止継続実行下限車速＃ＶＰＡＬＣＳＬ（例えば、１０ｋｍ／ｈ）≦ＶＰ≦全気筒休止継続実行上限車速＃ＶＰＡＬＣＳＨ（例えば、６０ｋｍ／ｈ））にあるか否かを判定する。ステップＳ１４８における判定の結果、車速ＶＰが所定の範囲内にあると判定された場合はステップＳ１４９に進む。車速ＶＰが所定の範囲から外れている場合はステップＳ１５７に進む。車速ＶＰが全気筒休止継続実行下限車速＃ＶＰＡＬＣＳＬを下回ったり、全気筒休止継続実行上限車速＃ＶＰＡＬＣＳＨを上回っている場合には全気筒休止は解除される。
ステップＳ１４９において、エンジン回転数ＮＥが所定の範囲内（全気筒休止継続実行下限エンジン回転数＃ＮＡＬＣＳＬ（例えば、８００ｒｐｍ）≦ＮＥ≦全気筒休止継続実行上限エンジン回転数＃ＮＡＬＣＳＨ（例えば、３０００ｒｐｍ））にあるか否かを判定する。ステップＳ１４９における判定の結果、エンジン回転数ＮＥが所定の範囲内にあると判定された場合はステップＳ１５０に進む。エンジン回転数ＮＥが所定の範囲から外れている場合はステップＳ１５７に進む。エンジン回転数ＮＥが全気筒休止継続実行下限エンジン回転数＃ＮＡＬＣＳＬを下回ったり、全気筒休止継続実行上限エンジン回転数＃ＮＡＬＣＳＨを上回っている場合には全気筒休止は解除される。エンジン回転数ＮＥが低いと回生効率が低かったり、全気筒休止のための切り替え油圧が確保できない可能性が有り、また、エンジン回転数ＮＥが高過ぎると高回転で油圧が高くなり過ぎ気筒休止の切り替えができなくなる可能性が有り、また、気筒休止用作動油の消費悪化の可能性が有るからである。
【００６７】
ステップＳ１５０では、ブレーキマスターパワー内負圧ＭＰＧＡが全気筒休止実施継続実行上限負圧＃ＭＰＡＬＣＳ（例えば、−２６．７ｋＰａ（＝−２００ｍｍＨｇ））以上か否かを判定する。ステップＳ１５０における判定の結果、ブレーキマスターパワー内負圧ＭＰＧＡが全気筒休止継続実行上限負圧＃ＭＰＡＬＣＳ以上の大気圧側にある場合（ＭＰＧＡ≧＃ＭＰＡＣＬＳ、ＹＥＳ）はステップＳ１５１に進む。ステップＳ１５０における判定の結果、ブレーキマスターパワー内負圧ＭＰＧＡが全気筒休止継続実行上限負圧＃ＭＰＡＣＬＳより小さい負圧側にある場合（ＭＰＧＡ＜＃ＭＰＦＣＭＧ、ＮＯ）はステップＳ１５７に進む。ブレーキマスターパワー内負圧ＭＰＧＡが十分に得られない場合に全気筒休止を継続することは好ましくないからである。
【００６８】
ステップＳ１５１において、バッテリ残容量ＱＢＡＴが所定の範囲内（全気筒休止継続実行下限残容量＃ＱＢＡＬＣＳＬ（例えば、３０％）≦ＱＢＡＴ≦全気筒休止継続実行上限残容量＃ＱＢＡＬＣＳＨ（例えば、８０％））にあるか否かを判定する。ステップＳ１５１における判定の結果、バッテリ残容量ＱＢＡＴが所定の範囲内にあると判定された場合はステップＳ１５２に進む。バッテリ残容量ＱＢＡが所定の範囲から外れている場合はステップＳ１５７に進む。バッテリ残容量ＱＢＡが全気筒休止継続実行下限残容量＃ＱＢＡＬＣＳＬを下回ったり、全気筒休止継続実行上限残容量＃ＱＢＡＬＣＳＨを上回っている場合には全気筒休止は解除される。バッテリ残容量ＱＢＡＴが少な過ぎると全気筒休止から復帰する場合に行われるモータＭによるエンジン駆動補助のためのエネルギーが確保できないからである。また、バッテリ残容量ＱＢＡＴが多過ぎると回生を取れないからである。
【００６９】
ステップＳ１５２において、ＩＤＬＥ判定フラグＦ＿ＴＨＩＤＬＭＧが「１」か否かを判定する。判定結果が「ＹＥＳ」（全閉ではない）である場合はステップＳ１５７に進み、判定結果が「ＮＯ」（全閉状態）である場合はステップＳ１５３に進む。スロットル全閉状態からスロットルが少しでも開いた場合には全気筒休止の継続を解除して商品性を高めるためである。
ステップＳ１５３において、エンジン油圧ＰＯＩＬが全気筒休止継続実行下限油圧＃ＰＯＡＬＣＳ（例えば、９８〜１３７ｋＰａ（１．０〜１．４ｋｇ／ｃｍ２）のヒステリシス付き）以上か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ１５４に進み、判定結果が「ＮＯ」である場合はステップＳ１５７に進む。エンジン油圧ＰＯＩＬが全気筒休止継続実行下限油圧＃ＰＯＡＬＣＳより低い場合には、気筒休止を実施させる油圧（例えば、スプールバルブＳＶを作動させる油圧）が確保できないからである。
【００７０】
ステップＳ１５４では、全気筒休止解除の条件が成立しないので、全気筒休止を継続するため、全気筒休止解除条件成立フラグＦ＿ＡＬＣＳＳＴＰに「０」をセットして制御を終了する。
【００７１】
「燃料カット実行判定処理」
次に、図９に基づいて燃料カット実行判定処理について説明する。尚、この処理は所定周期で繰り返される。
通常、エンジン保護、燃費向上を目的として一定の条件が成立した場合に燃料カットが行われるが、この燃料カットを行うか否かの判定処理の中に全気筒休止に関係する条件を加えている。
【００７２】
ステップＳ２０１において、高回転燃料カット実行判定処理を行いステップＳ２０２に進む。これはエンジンが高回転（例えば、エンジン回転数ＮＥが６２００ｒｐｍ以上）である場合にエンジン保護のために行われる燃料カットであり、この処理で高回転燃料カットフラグＦ＿ＨＮＦＣのセット・リセットが行われる。
【００７３】
ステップＳ２０２において、高回転燃料カットフラグＦ＿ＨＮＦＣが「１」か否かを判定する。判定結果が「ＹＥＳ」（高回転燃料カット成立）である場合はステップＳ２１２に進み、判定結果が「ＮＯ」である場合はステップＳ２０３に進む。
ステップＳ２１２（燃料供給停止手段）では燃料カットフラグＦ＿ＦＣに「１」をセットし制御を終了する。尚、燃料カットフラグＦ＿ＦＣが「１」の場合には燃料噴射を行わない。
【００７４】
ステップＳ２０３において、高車速燃料カット実行判定処理を行いステップＳ２０４に進む。これは車両が高車速（例えば、１８０ｋｍ／ｈ以上）である場合に速度制限の見地から行われる燃料カットであり、この処理で高車速燃料カットフラグＦ＿ＨＶＦＣのセット・リセットが行われる。
ステップＳ２０４において、高車速燃料カットフラグＦ＿ＨＶＦＣが「１」か否かを判定する。判定結果が「ＹＥＳ」（高車速燃料カット成立）である場合はステップＳ２１２に進み、判定結果が「ＮＯ」である場合はステップＳ２０５に進む。
【００７５】
ステップＳ２０５において、減速燃料カット実行判定処理を行いステップＳ２０６に進む。これは車両が減速している場合に燃費向上のために行われる燃料カットであり、この処理で減速燃料カットフラグＦ＿ＦＣのセット・リセットが行われる。
ステップＳ２０６において、燃料カットフラグＦ＿ＦＣが「１」か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ２１２に進み、判定結果が「ＮＯ」である場合はステップＳ２０７に進む。尚、減速モードに入り燃料カットフラグＦ＿ＦＣが「１」となった場合は、燃料カットが実行される。
【００７６】
ステップＳ２０７において、全気筒休止実施フラグＦ＿ＡＬＣＳが「１」か否かを判定する。判定結果が「ＹＥＳ」（全気筒休止中）である場合はステップＳ２１２に進み、判定結果が「ＮＯ」である場合はステップＳ２０８に進む。
ステップＳ２０８において、全気筒休止用ソレノイドフラグＦ＿ＡＬＣＳＳＯＬが「１」か否かを判定する。判定結果が「ＹＥＳ」（全気筒休止用ソレノイドＯＮ）である場合はステップＳ２１２に進み、判定結果が「ＮＯ」である場合はステップＳ２０９に進む。
したがって、全気筒休止運転中（Ｆ＿ＡＬＣＳ＝１）で吸気弁、排気弁が閉じている場合（ステップＳ２０７）、全気筒休止用ソレノイドフラグＦ＿ＡＬＣＳＳＯＬが「１」の場合（ステップＳ２０８）には燃料カットが継続されることになる。
そして、全気筒休止運転から通常運転に復帰する場合に全気筒休止実施フラグＦ＿ＡＬＣＳが「０」となっても、後述する全気筒休止用ソレノイドフラグＦ＿ＡＬＣＳＳＯＬが「０」、つまり全気筒休止用ソレノイドがＯＦＦになって完全に復帰するまでの間は気筒が休止している可能性があるのでステップＳ２０８の全気筒休止用ソレノイドフラグＦ＿ＡＬＣＳＳＯＬによる判定を加え、全気筒休止用ソレノイドフラグＦ＿ＡＬＣＳＳＯＬが「０」になった場合に燃料カットを解除する（Ｆ＿ＦＣ＝０）ようにしている。
ステップＳ２０９では燃料カットフラグＦ＿ＦＣに「０」をセットして燃料カットを解除し制御を終了する。
【００７７】
「減速モード」
次に、図１０、図１１に基づいて、減速モードについて説明する。このモードにおいて全気筒休止機能を備えていない従来の車両に比較して回生量を増量（後述するステップＳ２５５）している。つまり、全気筒休止を行うことでエンジンフリクションが低減し、その分だけ多くの回生量を確保できるので、従来の車両に比較して多めの回生量を設定できる。よって、回生量が増量された分だけ、例えば、モータＭによるエンジンＥの駆動補助の頻度や駆動補助量を増やすことができるため燃費向上につながるのである。尚、全気筒休止によりエンジンフリクションが低減すると減速感が少なくなるが、回生量をその分多めに設定しているため、運転者の受ける減速感が変化することはなく、運転者に違和感を与えることはない。尚、この処理は所定周期で繰り返される。
ステップＳ２５１において、発電モードか否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ２５２に進み、判定結果が「ＮＯ」である場合はステップＳ２５３に進む。
ステップＳ２５２において、減速回生最終演算値ＤＥＣＲＧＮＦに最終発電指令値ＲＥＧＥＮＦを代入してステップＳ２５４に進む。ステップＳ２５３において、減速回生最終演算値ＤＥＣＲＧＮＦに「０」をセットしてステップＳ２５４に進む。ステップＳ２５４において、減速回生モードをセットしてステップＳ２５５に進む。
【００７８】
ステップＳ２５５（回生量算出手段）において、後述する目標回生量の算出（ＤＥＣＲＧＮ＿ＯＢＪ＿ＣＡＬ）を行いステップＳ２５６に進む。
ステップＳ２５６において、エネルギーストレージゾーンＤフラグＦ＿ＥＳＺＯＮＥＤが「１」であるか否かを判定する。このゾーンはバッテリ３のバッテリ残容量が、例えば、８０％以上の場合にセットされるフラグである。判定結果が「ＹＥＳ」である場合はステップＳ２７０に進み、判定結果が「ＮＯ」である場合はステップＳ２５７に進む。バッテリ残容量が多い場合に回生に制限を加える必要があるため設定されている処理である。
【００７９】
ステップＳ２５７において、徐々減算更新タイマＴＤＥＣＲＧＮが「０」か否かを判定する。判定結果が「ＹＥＳ」（＝０）である場合はステップＳ２５８に進み、判定結果が「ＮＯ」である場合はステップＳ２６３に進む。
ステップＳ２５８において、徐々減算更新タイマＴＤＥＣＲＧＮに車速ＶＰに応じたタイマ値＃ＴＭＤＥＣＲＧＮｘをテーブル検索してセットし、ステップＳ２５９に進む。このテーブルは車速が増加するほど、タイマ値が大きくなるように設定されている。これにより車速が大きい場合において急激に減速回生に入るのを防止できる。尚、このタイマ値＃ＴＭＤＥＣＲＧＮｘはブレーキのＯＮ（＃ＴＭＤＥＣＲＧＮＢ）、ＯＦＦ（＃ＴＭＤＥＣＲＧＮＮ）で持ち替えを行っている。このように車速ＶＰに応じてタイマ値をテーブル検索することで設定の自由度を高めるようにしている。
【００８０】
ステップＳ２５９において、減速回生演算値ＤＥＣＲＧＮが減速回生最終演算値ＤＥＣＲＧＮＦ以上か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ２６０に進み、判定結果が「ＮＯ」である場合はステップＳ２６４に進む。
ステップＳ２６０において、徐々加算量＃ＤＤＥＣＲＮＰに、車速ＶＰに応じた徐々加算量＃ＤＤＥＣＲＮＰｘをテーブル検索してセットし、ステップＳ２６１に進む。このテーブルは車速が増加するほど、加算量が大きくなるように設定されている。尚、この徐々加算量＃ＤＤＥＣＲＮＰｘはブレーキのＯＮ（＃ＤＤＥＣＲＮＰＢ）、ＯＦＦ（＃ＤＤＥＣＲＮＰＮ）で持ち替えを行っている。このように車速ＶＰに応じて加算量をテーブル検索することで設定の自由度を高めるようにしている。
【００８１】
ステップＳ２６１において、減速回生最終演算値ＤＥＣＲＧＮＦに徐々加算量＃ＤＤＥＣＲＮＰを加算してステップＳ２６２に進む。
ステップＳ２６２において、減速回生最終演算値ＤＥＣＲＧＮＦが減速回生演算値ＤＥＣＲＧＮ以下か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ２６３に進み、判定結果が「ＮＯ」である場合はステップＳ２６７に進む。
ステップＳ２６３において、減速回生許可フラグＦ＿ＤＥＣＲＧＮに「１」をセットし、ステップＳ２６８において最終発電指令値ＲＥＧＥＮＦに減速回生最終演算値ＤＥＣＲＧＮＦをセットし、ステップＳ２６９において最終アシスト指令値ＡＳＴＰＷＲＦに「０」をセットして制御を終了する。
ステップＳ２６７において、減速回生最終演算値ＤＥＣＲＧＮＦに減速回生演算値ＤＥＣＲＧＮをセットしてステップＳ２６３に進む。
【００８２】
ステップＳ２６４において、徐々減算量＃ＤＤＥＣＲＮＭに、車速ＶＰに応じた徐々減算量＃ＤＤＥＣＲＮＭｘをテーブル検索してセットし、ステップＳ２６５に進む。このテーブルは車速が増加するほど、減算量が大きくなるように設定されている。尚、この徐々減算量＃ＤＤＥＣＲＮＭｘはブレーキのＯＮ（＃ＤＤＥＣＲＮＭＢ）、ＯＦＦ（＃ＤＤＥＣＲＮＭＮ）で持ち替えを行っている。このように車速ＶＰに応じて減算量をテーブル検索することで設定の自由度を高めるようにしている。
【００８３】
ステップＳ２６５において、減速回生最終演算値ＤＥＣＲＧＮＦから徐々減算量＃ＤＤＥＣＲＮＭを減算してステップＳ２６６に進む。
ステップＳ２６６において、減速回生最終演算値ＤＥＣＲＧＮＦが減速回生演算値ＤＥＣＲＧＮ以上か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ２６３に進み、判定結果が「ＮＯ」である場合はステップＳ２６７に進む。
【００８４】
ステップＳ２７０において、減速回生許可フラグＦ＿ＤＥＣＲＧＮが「１」か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ２７１に進み、判定結果が「ＮＯ」である場合はステップＳ２７６に進む。
ステップＳ２７６では、減速回生最終演算値ＤＥＣＲＧＮＦに「０」をセットし、ステップＳ２７７において減速回生許可フラグＦ＿ＤＥＣＲＧＮに「１」をセットしてステップＳ２６８に進む。
【００８５】
ステップＳ２７１において、前回減速回生モードか否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ２７２に進み、判定結果が「ＮＯ」である場合はステップＳ２７６に進む。
ステップＳ２７２において、徐々減算更新タイマＴＤＥＣＲＮＤが「０」か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ２７３に進み、判定結果が「ＮＯ」である場合はステップＳ２６３に進む。
ステップＳ２７３において、徐々減算更新タイマＴＤＥＣＲＮＤにタイマ値＃ＴＭＤＥＣＲＮＤをセットし、ステップＳ２７４において減速回生最終演算値ＤＥＣＲＧＮＦから徐々減算量＃ＤＤＥＣＮＤを減算してステップＳ２７５に進む。
【００８６】
ステップＳ２７５において、減速回生最終演算値ＤＥＣＲＧＮＦが「０」以下か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ２７６に進み、判定結果が「ＮＯ」である場合はステップＳ２６３に進む。
このようにして、減速モードに入る場合、減速モードから抜ける場合に回生量を徐々加算、徐々減算することによりスムーズな移行が実現できる。
【００８７】
「減速目標回生量の算出」
次に、図１２に基づいて、図１０のステップＳ２５５における目標回生量の算出処理を説明する。この目標回生量が前述したように従来よりも増量されている。尚、以下の処理は所定周期で繰り返される。
ステップＳ３０１において、ブレーキスイッチフラグＦ＿ＢＫＳＷが「１」か否かを判定する。判定結果が「ＹＥＳ」（ブレーキＯＮ）である場合はステップＳ３０４に進み、判定結果が「ＮＯ」（ブレーキＯＦＦ）である場合はステップＳ３０２に進む。ブレーキを踏んでいる場合の回生量を増やすようにしている。
【００８８】
ステップＳ３０２において、減速回生演算値ＤＥＣＲＧＮに、ＭＴ用とＣＶＴ用で別持ちのテーブルにより検索した演算値＃ＲＥＧＥＮをセットしてステップＳ３０３に進む。ここで、ＭＴ用のテーブルはエンジン回転数に応じて、ＣＶＴ用のテーブルは車速に応じて演算値を定めている。尚、前記ステップＳ３０２のテーブルはエアコンのＯＮ、ＯＦＦで持ち代えている。また、前記ＭＴ車のテーブルの場合はギア位置毎に持ち代えている。
ステップＳ３０３において、補助バッテリ４の平均消費電流ＶＥＬＡＶＥにより補正量＃ＤＲＧＶＥＬＮをテーブル検索し、この補正量＃ＤＲＧＶＥＬＮを減速回生補正量ＤＲＧＶＥＬにセットしてステップＳ３０６に進む。補助バッテリ４の消費量に応じて回生量を変化させるための補正量を設定している。尚、この補正量は後述するステップＳ３１７において加算される。
【００８９】
ステップＳ３０４において、減速回生演算値ＤＥＣＲＧＮに、ＭＴ用とＣＶＴ用で別持ちのテーブルにより検索した演算値＃ＲＥＧＥＮＢＲをセットしてステップＳ３０５に進む。ここで、ＭＴ用のテーブルはエンジン回転数に応じて、ＣＶＴ用のテーブルは車速に応じて演算値を定めている。尚、前記ステップＳ３０４のテーブルはエアコンのＯＮ、ＯＦＦで持ち代えている。また、前記ＭＴ用のテーブルの場合はギア位置毎に持ち代えている。
ステップＳ３０５において、補助バッテリ４の平均消費電流ＶＥＬＡＶＥにより補正量＃ＤＲＧＢＶＥＬＮをテーブル検索し、この補正量＃ＤＲＧＢＶＥＬＮを減速回生補正量ＤＲＧＶＥＬにセットしてステップＳ３０９に進む。
【００９０】
ステップＳ３０６において、バッテリ残容量ＱＢＡＴが所定残容量＃ＱＢＣＲＳＲＨ（ヒステリシス付き）以上か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ３０７に進み、判定結果が「ＮＯ」である場合はステップＳ３０９に進む。
ステップＳ３０７において、車速ＶＰが所定車速＃ＶＲＳＭＳ以上か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ３０８に進み、判定結果が「ＮＯ」である場合はステップＳ３０９に進む。
ステップＳ３０８において、減速回生演算値ＤＥＣＲＧＮに、係数＃ＫＲＳＭＳを乗じた値を新たな減速回生演算値ＤＥＣＲＧＮとしてセットしステップＳ３０９に進む。つまり、ステップＳ３０７においてバッテリ残容量ＱＢＡＴが十分にあり、かつ、ステップＳ３０８において車速ＶＰが大きい高速時では、回生制動が大きくなるので、通常の回生制動をかけると減速感が大きくなるため運転者はアクセルを踏み込んで燃費が悪化してしまう。これを防止するためにステップＳ３０８で係数＃ＫＲＳＭＳを乗ずることにより減速回生演算値ＤＥＣＲＧＮを小さく補正している。
【００９１】
ステップＳ３０９（補正量算出手段）において、全気筒休止回生演算値（補正量）ＣＳＲＧＮに、エンジン回転数ＮＥに応じた演算値＃ＡＬＣＳＲＧＮをテーブル（図１３）検索してセットしステップＳ３１０に進む。ここで、このテーブルは通常運転時のエンジンフリクションと全気筒休止運転時のエンジンフリクションとの差分を示すものである。尚、エンジン回転数ＮＥを基準にしてテーブル検索するのは、エンジンフリクションはエンジン回転数ＮＥによって決定されるからである。
ステップＳ３１０において、全気筒休止回生演算補正係数ＫＴＣＳＲＧＮに、エンジン水温ＴＷに応じた補正係数＃ＫＴＷＣＳＲＧＮをテーブル検索してセットしステップＳ３１１に進む。ここでエンジン水温ＴＷを用いたのは、例えば、エンジン水温ＴＷが低いとエンジンフリクションが大きくなるなど、エンジンのフリクションはエンジン水温ＴＷに大きく影響されるからである。尚、エンジン水温ＴＷに代えて、前記油温ＴＯＩＬを用いることも可能である。
【００９２】
ステップＳ３１１（吸入負圧算出手段）において、全気筒休止回生吸気管負圧補正係数ＫＰＢＣＳＲＧＮに、吸気管負圧ＰＢＡに応じた吸気管負圧補正係数＃ＫＰＢＢＣＳＲＧＮをテーブル（図１４）検索してセットしステップＳ３１２に進む。このように吸気管負圧ＰＢＡを用いることで、吸気管負圧が大きい（吸気管負圧補正係数＃ＫＰＢＢＣＳＲＧＮ＝１）通常運転から吸気管負圧が大気圧（吸気管負圧補正係数＃ＫＰＢＢＣＳＲＧＮ＝０）全気筒休止運転、全気筒休止運転から通常運転に移行する段階において徐々に係数を変化させることができる。つまり、減速時に全気筒休止を行う場合には、最終的に吸気弁と排気弁が閉じることが必要だが、この確認は全気筒休止実施フラグＦ＿ＡＬＣＳのフラグ値を確認したとしても正確に把握できない。そのため、吸気弁と排気弁が閉じたことを検出するためには吸気管負圧を検出するのが確実なのである。
この吸気管負圧に応じて吸気管負圧補正係数＃ＫＰＢＢＣＳＲＧＮを変化させることで全気筒休止回生演算値ＣＳＲＧＮにこれを反映し、連続した減速感が得られるようにしている。尚、全気筒休止実施フラグＦ＿ＡＬＣＳのフラグ値（「１」あるいは「０」）に応じて前記吸気管負圧補正係数＃ＫＰＢＢＣＳＲＧＮのテーブル（図１４）を持ち代えることで、全気筒休止運転に入る場合と、全気筒休止運転から抜ける場合での特性を代えることにより商品性を高めることも可能である。
【００９３】
ステップＳ３１２において、全気筒休止回生演算値ＣＳＲＧＮに、全気筒休止回生演算補正係数ＫＴＣＳＲＧＮと吸気管負圧補正係数＃ＫＰＢＢＣＳＲＧＮとを乗じた値を新たな全気筒休止回生演算値ＣＳＲＧＮとしてセットしステップＳ３１３に進む。このステップでの処理により、エンジン水温ＴＷと吸気管負圧ＰＢＡを加味した全気筒休止回生演算値ＣＳＲＧＮが求められる。
ステップＳ３１３において、前記ステップＳ３０８で求めた減速回生演算値ＤＥＣＲＧＮに前記全気筒休止回生演算値ＣＳＲＧＮを加算したものを、新たな減速回生演算値ＤＥＣＲＧＮとしてセットしステップＳ３１４に進む。これにより通常運転と同様の減速感を与えながら、より多くの回生量を確保することができる。
ステップＳ３１４において、車速ＶＰが所定値＃ＶＰＲＧＥＬＬ（例えば、２０ｋｍ／ｈ）以上か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ３１５に進み、判定結果が「ＮＯ」である場合は制御を終了する。
【００９４】
ステップＳ３１５において、車速ＶＰが所定値＃ＶＰＲＧＥＬＨ（例えば、９０ｋｍ／ｈ）以下か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ３１６に進み、判定結果が「ＮＯ」である場合は制御を終了する。
ステップＳ３１６において、エンジン回転数ＮＥが所定値＃ＮＰＲＧＥＬＬ以上か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ３１７に進み、判定結果が「ＮＯ」である場合は制御を終了する。
ステップＳ３１７において、減速回生演算値ＤＥＣＲＧＮに前記ステップＳ３０３の減速回生補正量ＤＲＧＶＥＬを加算したものを新たな減速回生演算値ＤＥＣＲＧＮとして設定して制御を終了する。これにより、補助バッテリ４の消費分が大きい場合に減速回生量を増量してバッテリ３への回生量の供給分を確保している。
尚、上記ステップＳ３１４の所定値＃ＶＰＲＧＥＬＬ、ステップＳ３１５の所定値＃ＶＰＲＧＥＬＨ、ステップＳ３１６の所定値＃ＮＰＲＧＥＬＬはヒステリシスを持った値である。
【００９５】
「ＣＶＴ車のエンジン回転数アップ信号決定処理」
次に、図１５に基づいて、ＣＶＴ車におけるエンジン回転数アップ信号決定処理について説明する。尚、この処理は所定周期で繰り返される。
ＣＶＴ車においては一定の条件が成立した場合にエンジン回転数ＮＥを上昇させる処理が行われるが、この処理の中に全気筒休止に関係する条件を加えている。つまり、全気筒休止運転の際には、前述したように、エンジンＥのフリクションが減少するがその低減分だけ回生量を増量することができる。この場合に、高トルクでの回生はモータの発熱の原因となるため、ＣＶＴの（入力軸）回転数、つまりエンジン回転数ＮＥをアップすることでモータの熱負荷を低減すると共に回生量を増量させるのである。即ち、具体的にはＣＶＴの入力側変速比を増速するようＣＶＴの変速比を変更させてこれを行うのである。
【００９６】
具体的には、このフローチャートでエンジン回転数アップフラグＦ＿ＮＥＵＰのセット・リセットを行う。エンジン回転数アップフラグＦ＿ＮＥＵＰに「１」がセットされるとエンジン回転数ＮＥが上昇される。エンジン回転数アップフラグＦ＿ＮＥＵＰに「０」がセットされると通常のスロットルＯＦＦのマップ値が読み込まれる。ＣＶＴ車では、図１６に示すように、加速時には各レンジで同一車速ではスロットル開度に応じてエンジン回転数を上げたマップを用いている。これに対して、減速中では車速ＶＰに対して単一のスロットルＯＦＦマップを持っているため、ある車速ＶＰに対して決まったエンジン回転数ＮＥを設定して車速ＶＰの低下に応じてエンジン回転数ＮＥを下げるようにしている。つまり、前記エンジン回転数アップフラグＦ＿ＮＥＵＰがセットされている場合に、前記減速時におけるスロットルＯＦＦマップを所定量持ち上げるのである。尚、高トルク回生防止のため低速側ほど持ち上げ量を大きくすることが望ましい。
このように、エンジン回転数ＮＥを持ち上げることにより、全気筒休止を行わない場合と同等の減速感を運転者に与えつつ、全気筒休止運転によるエンジンフリクション低減分だけ回生量の増加を図ることができる。尚、回生量を増量せずにモータへかかるトルクのみを下げることも可能である。
【００９７】
ステップＳ４０１において、指定Ｆ／Ｓ（フェールセーフ）検知済みか否かを判定する。判定結果が「ＮＯ」である場合はステップＳ４０２に進み、判定結果が「ＹＥＳ」である場合はステップＳ４０９に進む。ステップＳ４０９においてエンジン回転数アップ信号決定フラグＦ＿ＮＥＵＰに「１」をセットして制御を終了する。何らかの異常がある場合は、車両がより走行できる傾向にするためエンジン回転数を上げバッテリへの充電を行うようにしている。
ステップＳ４０２において、吸気温ＴＡ（外気温と同様）が、エンジン回転数アップ要求判定吸気温＃ＴＡＮＥＵＰ以上か否かを判定する。判定結果が「ＹＥＳ」（高吸気温）である場合はステップＳ４０４に進み、判定結果が「ＮＯ」（低吸気温）である場合はステップＳ４０３に進む。
【００９８】
ステップＳ４０３において、冷却水温ＴＷがエンジン回転数アップ要求判定ヒータ用冷却水温＃ＴＷＮＥＨＴ以上か否かを判定する。判定結果が「ＹＥＳ」（高水温）である場合はステップＳ４０４に進み、判定結果が「ＮＯ」（低水温）である場合はステップＳ４０９に進む。
これらステップＳ４０２、ステップＳ４０３における処理により、外気温ＴＡと冷却水温ＴＷが低いときには、ヒータ性能の確保のため暖機の必要からエンジン回転数ＮＥを上昇させる必要があるからである。
ステップＳ４０４において、冷却水温ＴＷがエンジン回転数アップ要求判定キャタライザ用冷却水温＃ＴＷＮＥＨＴ以上か否かを判定する。判定結果が「ＹＥＳ」（高水温）である場合はステップＳ４０５に進み、判定結果が「ＮＯ」（低水温）である場合はステップＳ４０９に進む。前記判定で吸気温が高い場合であっても、エンジン回転数ＮＥを上げることで速やかに触媒であるキャタライザを速やかに昇温させ低エミッション領域を確保するためである。
【００９９】
ステップＳ４０５において、エネルギーストレージゾーンＣフラグＦ＿ＥＳＺＯＮＥＣが「１」か否かを判定する。このゾーンはバッテリ３のバッテリ残容量ＱＢＡＴが、例えば、２０％以下の場合にセットされるフラグである。判定結果が「ＹＥＳ」である場合はステップＳ４０８に進み、判定結果が「ＮＯ」である場合はステップＳ４０６に進む。バッテリ残容量ＱＢＡＴが少ないときには、後述するステップＳ４０８においてスロットルが開いていることを前提に、エンジン回転数ＮＥを上げて、バッテリ残容量ＱＢＡＴを増加させる必要があるからである。
ステップＳ４０６において、補助バッテリ４の平均消費電流ＶＥＬＡＶＥが消費電流閾値＃ＥＬＮＥＵＨＣ（ヒステリシス付きの値）以上か否かを判定する。判定結果が「ＹＥＳ」（電流大）である場合はステップＳ４０７に進み、判定結果が「ＮＯ」（電流小）である場合はステップＳ４１０に進む。
バッテリ残容量ＱＢＡＴが十分でも、平均消費電流ＶＥＬＡＶＥが消費電流閾値＃ＥＬＮＥＵＨＣ以上である場合は、後述するステップＳ４０８においてスロットルが開いていることを前提に、ステップＳ４０９においてエンジン回転数ＮＥを上げることにより発電の効率を高める必要があるためである。
【０１００】
ステップＳ４０７において、エンジン回転数アップタイマＴＮＥＵＰに、タイマ値＃ＴＭＮＥＵＰをセットしてステップＳ４０８に進む。
ステップＳ４０８において、アイドル判定フラグＦ＿ＴＨＩＤＬＥが「０」か否かを判定する。判定結果が［ＹＥＳ］（スロットル閉）である場合は、ステップＳ４１２に進む。判定結果が「ＮＯ」（スロットル開）である場合は、ステップＳ４０９に進む。
【０１０１】
ステップＳ４１０において、エアコンＯＮフラグＦ＿ＡＣＣが「１」か否かを判定する。判定結果が「ＹＥＳ」（エアコンクラッチＯＮ）である場合はステップＳ４０７に進み、判定結果が「ＮＯ」（エアコンクラッチＯＦＦ）である場合はステップＳ４１１に進む。エアコンがＯＮの場合には、エンジン回転数ＮＥを上げることで加速感を確保する等の理由で出力をアップする必要があるからである。
ステップＳ４１１において、エンジン回転数アップタイマＴＮＥＵＰが「０」か否かを判定する。判定結果が「ＹＥＳ」である場合はステップＳ４１２に進み、判定結果が「ＮＯ」である場合はステップＳ４０８に進む。後述する全気筒休止に関する判定処理（ステップＳ４１２、ステップＳ４１３）に移行するにあたり、一定の時間を確保するためである。
【０１０２】
ステップＳ４１２において、全気筒休止実施フラグＦ＿ＡＬＣＳが「１」か否かを判定する。判定結果が「ＹＥＳ」（全気筒休止運転実施中）である場合はステップＳ４１３に進み、判定結果が「ＮＯ」（通常運転中）である場合はステップＳ４１４に進む。ステップＳ４１４において、エンジン回転数アップ信号決定フラグＦ＿ＮＥＵＰに「０」をセットして制御を終了する。この場合、エンジン回転数ＮＥは上昇しない。
ステップＳ４１３において、減速回生中か否かを判定する。判定結果が「ＹＥＳ」（減速モード）である場合はステップＳ４０９に進み、判定結果が「ＮＯ」（減速モード以外）である場合はステップＳ４１４に進む。
これらステップＳ４１２、ステップＳ４１３により全気筒休運転実施中で、かつ減速回生中であるときは、スロットルが閉じていてもエンジン回転数ＮＥが上昇して回生量が増量される。
【０１０３】
次に作用について説明する。
したがって、車両が減速モード以外で走行している場合には、図８のステップＳ１４１において燃料カットフラグＦ＿ＦＣが「０」となり、全気筒休止解除条件が成立し（Ｆ＿ＡＬＣＳＳＴＰ＝１）、図６のステップＳ１０６における判別は「ＹＥＳ」となる。よって、ステップＳ１２０において全気筒休止実施フラグＦ＿ＡＬＣＳが「０」となり、全気筒休止は行われない。
【０１０４】
一方、走行している車両が減速回生モード（減速回生許可フラグＦ＿ＭＡＤＥＣＲＧＮ＝１）に入ると、図８のステップＳ１４１において燃料カットフラグＦ＿ＦＣが「１」となり、図９のステップＳ２１２で燃料カットフラグＦ＿ＦＣ＝１となる。これにより、図６のステップＳ１０４において全気筒休止の前条件が成立し、ステップＳ１０６において全休筒解除条件が不成立となると、この時点から所定時間（ＴＡＬＣＳＤＬＹ１）経過後に、ステップＳ１０９においてスプールバルブのソレノイドがＯＮ作動する。そして、油圧（ＰＯＩＬ）が所定値（＃ＰＯＩＬＣＳＨ）以上となり、さらに所定時間（ＴＣＳＤＬＹ１）経過後にステップＳ１１３において全気筒休止実施フラグＦ＿ＡＬＣＳが「１」となり全気筒休止運転がなされる。
その結果、図１７のタイムチャートで、燃料カットフラグＦ＿ＦＣと、減速回生許可フラグＦ＿ＭＡＤＥＣＲＧＮが「１」になってから、全気筒休止実施フラグＦ＿ＡＬＣＳが「１」となる。尚、全気筒運転中にブレーキが踏まれると（Ｆ＿ＢＫＳＷ＝１，Ｓ３０９）その分回生量は上乗せされる（Ｓ３０４）。
【０１０５】
そして、全気筒休止運転中に、図６のステップＳ１０６において全休筒解除条件が成立すると、この時点から所定時間（ＴＡＬＣＳＤＬＹ２）経過後に、ステップＳ１１６においてスプールバルブのソレノイドがＯＦＦ作動する。そして、油圧（ＰＯＩＬ）が所定値（＃ＰＯＩＬＣＳＬ）以下となり、さらに所定時間（ＴＣＳＤＬＹ２）経過後にステップＳ１２０において全気筒休止実施フラグＦ＿ＡＬＣＳが「０」となり通常運転となる。よって、図９に示すように全気筒休止実施フラグＦ＿ＡＬＣＳと全気筒休止用ソレノイドフラグＦ＿ＡＬＣＳＳＯＬとが「０」となった後に、図１７のタイムチャートで示すように燃料カットフラグＦ＿ＦＣ（及び減速回生許可フラグＦ＿ＭＡＤＥＣＲＧＮ）が「０」、つまり燃料カットが解除され通常運転となる。
【０１０６】
また、気筒休止により減少したエンジンフリクションの低減分をステップＳ３０９において回生量の増量分（全気筒回生演算値ＣＳＲＧＮ）として算出し、これをステップＳ３０２，Ｓ３０４において算出された減速回生演算値ＤＥＣＲＧＮに上乗せして回生することができ、更にこの回生は車速に応じた所定時間（ＴＤＥＣＲＧＮ）経過後（Ｓ２５７）徐々に行われる（Ｓ２６１，Ｓ２６５）。
そして、回生量の補正は全気筒休止実施時（Ｆ＿ＡＬＣＳ＝１）及び気筒休止解除時（Ｆ＿ＡＬＣＳ＝０）におけるエンジン吸入負圧に応じて行われる（Ｓ３１１）ため、全気筒休止実施フラグＦ＿ＡＬＣＳの値にかかわらず通常運転と気筒休止運転との間に変化する吸気管負圧に対応して補正がなされる。
【０１０７】
上記実施形態によれば、基本的に減速燃料カット時に全気筒休止実施フラグＦ＿ＡＬＣＳ（＝１）により全気筒休止が判別されると、可変バルブタイミング機構ＶＴによって休筒運転が可能となるため、燃料カットと共に全気筒休止を行って燃料消費量を抑え燃費向上を図ることができる。
前記全気筒休止実施フラグＦ＿ＡＬＣＳ（＝０）により全気筒休止の解除を判別し、前記全気筒休止用ソレノイドフラグＦ＿ＡＬＣＳＳＯＬにより可変バルブタイミング機構ＶＴの非作動状態を検出した場合に、エンジンへの燃料供給停止を解除しその後再開することが可能となるため、全気筒休止中に燃料が供給されることはなく全気筒休止運転から通常運転への移行を燃料を無駄にせずスムーズに行うことができる。
【０１０８】
また、気筒休止により減少したエンジンフリクションの低減分を回生量の増量分（全気筒回生演算値ＣＳＲＧＮ）として算出し、これを減速回生演算値ＤＥＣＲＧＮに上乗せして回生することができ、この回生は車速に応じた所定時間（ＴＤＥＣＲＧＮ）経過後徐々に行われるため、燃費向上を図ることができると共に気筒休止を行ってもそれにより減少する減速感を回生量の増量で通常運転と同等にすることができる。よって、運転者に何ら違和感を与えることはない。
【０１０９】
更に、回生量の補正は全気筒休止実施時及び気筒休止解除時におけるエンジン吸入負圧に応じて行われるため（Ｓ３１１）、全気筒休止の実施や解除にかかわらず通常運転と気筒休止運転との間に変化する吸気管負圧に対応した補正が可能となり、したがって、筒休止運転と通常運転との間において連続した減速感が得られる。
【０１１０】
また、全気筒休止実施フラグＦ＿ＡＬＣＳが「１」、つまり全気筒休止運転時には、ＣＶＴの入力側変速比を増速するよう変速機の変速比を変更させ、前記エンジン回転数ＮＥを増加するため、気筒休止により低減したエンジンフリクションに対応する回生エネルギーをエンジン回転数の増加により確保することが可能となる。したがって、ＣＶＴ車において減速感に悪影響を与えることなく、回生量の増量とモータの熱負荷の低減を実現できる。
【０１１１】
【発明の効果】
以上説明してきたように、請求項１、請求項２に記載した発明によれば、気筒休止により減少したエンジンフリクションの低減分を補正量算出手段により算出し、この回生量の増量分を回生量算出手段により算出された回生量に上乗せして回生することができるため燃費向上を図ることができると共に気筒休止を行ってもそれにより減少する減速感を回生量の増量で通常運転と同等にすることができるため、運転者に何ら違和感を与えることはない効果がある。
また、気筒休止を行うことで回生量を増量することができることに加えて更に燃料消費量を抑えることができるため、燃費向上を図ることができる効果がある。
更に、気筒休止により低減したエンジンフリクションに対応する回生エネルギーをエンジン回転数の増加により確保することが可能となるため、減速感に悪影響を与えることなく、回生量の増量とモータの熱負荷の低減を実現できる効果がある。
【図面の簡単な説明】
【図１】  実施形態のパラレルハイブリッド車両を示す概略構成図である。
【図２】  実施形態の可変バルブタイミング機構を示す正面図である。
【図３】  実施形態の可変バルブタイミング機構を示し、（ａ）は全気筒運転状態での可変バルブタイミング機構の要部断面図、（ｂ）は全気筒休止運転状態での可変バルブタイミング機構の要部断面図である。
【図４】  実施形態のＭＡ（モータ）基本モードを示すフローチャート図である。
【図５】  実施形態のＭＡ（モータ）基本モードを示すフローチャート図である。
【図６】  実施形態の全気筒休止運転切替実行処理を示すフローチャート図である。
【図７】  実施形態の全気筒休止前条件実施判断処理を示すフローチャート図である。
【図８】  実施形態の全気筒休止解除条件判断処理を示すフローチャート図である。
【図９】  実施形態の燃料カット実行判定処理を示すフローチャート図である。
【図１０】  実施形態の減速モードのフローチャート図である。
【図１１】  実施形態の減速モードのフローチャート図である。
【図１２】  実施形態の目標回生量算出のフローチャート図である。
【図１３】  ステップＳ３０９のテーブルを示すグラフ図である。
【図１４】  ステップＳ３１１のテーブルを示すグラフ図である。
【図１５】  この発明の実施形態のＣＶＴ車におけるエンジン回転数アップ決定処理を示すフローチャート図である。
【図１６】  この発明の実施形態のＣＶＴ車における車速ＶＰとエンジン回転数ＮＥとの関係を示すフローチャート図である。
【図１７】  この発明の実施形態のタイムチャート図である。
【符号の説明】
Ｅ  エンジン
Ｍ  モータ
Ｆ＿ＡＬＣＳ  気筒休止判別手段
Ｓ２１２  燃料供給停止手段
Ｓ２５５  回生量算出手段
Ｓ３０９  補正量算出手段
Ｓ３１１  吸入負圧補正手段
【図１】
0003892236.tif 000002
【図２】
0003892236.tif 000003
【図３】
0003892236.tif 000004
【図４】
0003892236.tif 000005
【図５】
0003892236.tif 000006
【図６】
0003892236.tif 000007
【図７】
0003892236.tif 000008
【図８】
0003892236.tif 000009
【図９】
0003892236.tif 000010
【図１０】
0003892236.tif 000011
【図１１】
0003892236.tif 000012
【図１２】
0003892236.tif 000013
【図１３】
0003892236.tif 000014
【図１４】
0003892236.tif 000015
【図１５】
0003892236.tif 000016
【図１６】
0003892236.tif 000017
【図１７】
0003892236.tif 000018