(57)【要約】      （修正有）【課題】車両の停止中における蓄電装置の放電によって、算出される電費が悪化することを防止する。【解決手段】モータの動力を用いて車両が走行したときにおいて、この走行距離と、この走行距離に応じた蓄電装置のＳＯＣの変化量との比を表す電費を算出する。蓄電装置が充放電できる状態において、車速センサの検出結果に基づいて、車両が停止していることを判別したとき、電費の算出において、車両が停止している間のＳＯＣの変化量を用いない。電費は、モータの動力を用いて車両を走行させることができる距離を算出するために用いられる。【選択図】図２
2015095917.tif 000002
【特許請求の範囲】
【請求項１】
充放電を行う蓄電装置と、
前記蓄電装置の放電電力を受けて動作する補機と、
前記蓄電装置の放電電力を用いて、車両を走行させる動力を生成するモータと、
前記車両の走行速度を検出する車速センサと、
前記モータの動力を用いて前記車両が走行したときにおいて、この走行距離と、この走行距離に応じた前記蓄電装置のＳＯＣの変化量との比を表す電費を算出するコントローラと、を有し、
前記コントローラは、
算出した前記電費と、前記蓄電装置の現在のＳＯＣとに基づいて、前記モータの動力を用いて前記車両を走行させることができる距離を算出し、
前記蓄電装置が充放電できる状態において、前記車速センサの検出結果に基づいて、前記車両が停止していることを判別したとき、前記電費の算出において、前記車両が停止している間の前記変化量を用いないことを特徴とする車両。
【請求項２】
前記コントローラは、前記車両が坂道を走行しているとき、このときの走行距離と、この走行距離に応じた前記変化量とを、前記電費の算出に用いないことを特徴とする請求項１に記載の車両。
【請求項３】
前記コントローラは、前記車両の走行中において、前記車両の総重量に応じた走行抵抗が、この走行抵抗に関する閾値以上であるとき、このときの走行距離と、この走行距離に応じた前記変化量とを、前記電費の算出に用いないことを特徴とする請求項１又は２に記載の車両。
【請求項４】
前記蓄電装置の電流値を検出する電流センサを有しており、
前記コントローラは、前記車両の走行中において、前記電流センサによって検出された電流値が、この電流値に関する閾値以下であるとき、このときの走行距離と、この走行距離に応じた前記変化量とを、前記電費の算出に用いないことを特徴とする請求項１から３のいずれか１つに記載の車両。
【請求項５】
前記コントローラは、前記車両の走行中において、前記蓄電装置の充電又は放電を継続している時間が所定時間以上であるとき、このときの走行距離と、この走行距離に応じた前記変化量とを、前記電費の算出に用いないことを特徴とする請求項１から４のいずれか１つに記載の車両。
【請求項６】
前記蓄電装置の温度を検出する温度センサを有しており、
前記コントローラは、前記車両の走行中において、前記温度センサによって検出された温度が下限温度以下であるとき、このときの走行距離と、この走行距離に応じた前記変化量とを、前記電費の算出に用いないことを特徴とする請求項１から５のいずれか１つに記載の車両。
【請求項７】
前記蓄電装置の温度を検出する温度センサを有し、
前記蓄電装置は、並んで配置された複数の蓄電素子を有しており、
前記コントローラは、前記車両の走行中において、前記温度センサによって検出された温度が上限温度以上であるとき、このときの走行距離と、この走行距離に応じた前記変化量とを、前記電費の算出に用いないことを特徴とする請求項１から６のいずれか１つに記載の車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、蓄電装置の出力を用いて走行することができる車両に関する。
【背景技術】
【０００２】
特許文献１に記載の車両では、バッテリの放電電力をモータ・ジェネレータに供給し、モータ・ジェネレータによって生成された動力だけを用いて、車両を走行させている。ここで、モータ・ジェネレータの動力だけを用いて車両を走行させる間において、バッテリの放電に伴う電力消費量を積算したり、走行距離を積算したりしている。そして、電力消費量（積算値）および走行距離（積算値）に基づいて、電費を算出している。
【０００３】
電費は、単位電力量あたりの走行距離としている。電費を算出することにより、モータ・ジェネレータの動力だけを用いて、車両を走行させることができる距離（走行可能距離）を算出することができる。具体的には、バッテリの蓄電量に電費を乗算することにより、走行可能距離が算出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１４７２０６号公報
【特許文献２】特開２０１３−１２９３１２号公報
【特許文献３】特開２０１２−２２２８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の車両では、パワースイッチの操作（ＩＧ−Ｏｎ指令）によって、ハイブリッドシステムが起動状態となる。ハイブリッドシステムが起動状態にあるとき、車両は走行可能な状態となる。ここで、車両が走行可能な状態では、車両が停止していることがある。例えば、ハイブリッドシステムが起動状態にあり、シフトポジションがＰポジション（駐車ポジション）に設定されたままであれば、車両が停止する。また、車両を走行している途中において、ブレーキペダルが操作されれば、車両が停止することがある。
【０００６】
車両が停止しているときであっても、バッテリが放電されることがある。例えば、車両に搭載された補機を動作させるために、バッテリを放電することがある。この場合には、バッテリの放電電力を用いて車両を走行させていないにもかかわらず、バッテリの電力消費量が増加してしまう。例えば、渋滞などでは、車両を停止させる時間が長くなりやすく、補機の動作などに伴って、バッテリの電力消費量も増加しやすくなる。
【０００７】
このような電力消費量を電費の算出に反映させてしまうと、電費が悪化しやすくなってしまう。電費が悪化すれば、電費から算出される走行可能距離も短くなってしまう。ここで、モータ・ジェネレータの動力だけを用いて車両を走行させ続けたときにおいて、実際の走行距離は、電費から算出した走行可能距離と異なってしまう。
【課題を解決するための手段】
【０００８】
本発明の車両は、充放電を行う蓄電装置と、蓄電装置の放電電力を受けて動作する補機と、蓄電装置の放電電力を用いて、車両を走行させる動力を生成するモータと、車両の走行速度を検出する車速センサと、電費を算出するコントローラとを有する。電費とは、モータの動力を用いて車両が走行したときにおいて、この走行距離と、この走行距離に応じた蓄電装置のＳＯＣ（State of Charge）の変化量との比を表す。
【０００９】
コントローラは、算出した電費と、蓄電装置の現在のＳＯＣとに基づいて、モータの動力を用いて車両を走行させることができる距離（走行可能距離という）を算出する。ここで、蓄電装置が充放電できる状態において、車速センサの検出結果に基づいて、車両が停止していることを判別したとき、コントローラは、電費の算出において、車両が停止している間のＳＯＣの変化量を用いない。
【００１０】
蓄電装置が充放電できる状態において、車両が停止しているときには、蓄電装置の放電によって、蓄電装置のＳＯＣが低下してしまうことがある。具体的には、補機を動作させるための蓄電装置の放電によって、蓄電装置のＳＯＣが低下してしまうことがある。この場合には、車両が停止しているにもかかわらず、蓄電装置のＳＯＣが低下してしまい、走行距離およびＳＯＣの変化量から算出される電費が悪化してしまう。
【００１１】
本発明では、車両が停止している間のＳＯＣの変化量は、電費の算出に用いないようにしている。これにより、上述した電費の悪化を抑制でき、電費から算出される走行可能距離が、電費の悪化に伴って減少することを抑制できる。言い換えれば、実際に車両が走行しているときの電費を算出することができ、この電費から算出される走行可能距離は、モータの動力を用いて車両を走行させたときの距離を表しやすくなる。
【００１２】
車両が坂道を走行しているときには、このときの走行距離と、この走行距離に応じたＳＯＣの変化量とを、電費の算出に用いないことができる。車両の日常的な使われ方において、車両が坂道を走行することは一時的である。坂道の走行状態（すなわち、走行距離およびＳＯＣの変化量）を電費の算出に反映させてしまうと、この電費は、坂道以外を走行したときの電費と異なってしまう。坂道以外の走行が車両の日常的な使われ方であると仮定したとき、坂道の走行状態を電費の算出に反映させないことにより、車両の日常的な使われ方を反映した電費および走行可能距離を算出することができる。
【００１３】
車両の走行中において、車両の総重量に応じた走行抵抗が閾値（走行抵抗に関する値）以上であるとき、このときの走行距離と、この走行距離に応じたＳＯＣの変化量とを、電費の算出に用いないことができる。車両の日常的な使われ方において、車両の総重量が増加しすぎてしまうことは一時的である。走行抵抗が閾値以上であるか否かを判別することにより、車両の総重量が一時的に増加しているか否かを判別している。
【００１４】
車両の総重量が一時的に増加したときの走行状態（すなわち、走行距離およびＳＯＣの変化量）を電費の算出に反映させてしまうと、電費が悪化しやすくなる。走行抵抗が閾値以上である間の走行距離およびＳＯＣの変化量を、電費の算出に用いなければ、総重量の一時的な増加に伴う電費の悪化を抑制できる。そして、車両の日常的な使われ方を反映した電費および走行可能距離を算出することができる。
【００１５】
車両の走行中において、蓄電装置の電流値が閾値（電流値に関する値）以下であるとき、このときの走行距離と、この走行距離に応じたＳＯＣの変化量とを、電費の算出に用いないことができる。蓄電装置の電流値は、電流センサによって検出することができる。電流センサの検出結果には、電流センサの検出誤差が含まれる。検出誤差は一定であるため、電流センサによって検出される電流値が小さくなるほど、この電流値に含まれる検出誤差の割合は大きくなりやすい。
【００１６】
蓄電装置のＳＯＣは、蓄電装置の電流値を用いて算出（推定）されるが、電流値に含まれる検出誤差の割合が大きくなるほど、ＳＯＣの推定精度が低下してしまう。ＳＯＣの推定精度が低下すれば、電費の算出精度が低下するとともに、走行可能距離の算出精度も低下してしまう。ここで、電流値が閾値以下であるか否かを判別することにより、ＳＯＣの推定精度が低下するか否かを判別している。電流値が閾値以下である間の走行距離およびＳＯＣの変化量を、電費の算出に用いなければ、推定精度が低下したＳＯＣに基づいて、電費が算出されることを抑制できる。これにより、電費や走行可能距離の算出精度が低下することを抑制できる。
【００１７】
車両の走行中において、蓄電装置の充電又は放電を継続している時間が所定時間以上であるとき、このときの走行距離と、この走行距離に応じたＳＯＣの変化量とを、電費の算出に用いないことができる。蓄電装置のＳＯＣを算出するときには、蓄電装置の内部抵抗が考慮される。ここで、蓄電装置の内部抵抗は、蓄電装置における電流値および電圧値の対応関係に基づいて算出される。そして、電流値を充電側および放電側に分散させることにより、蓄電装置の内部抵抗を精度良く算出（推定）できる。
【００１８】
電流値が充電側又は放電側に偏ってしまうと、電流値が充電側および放電側に分散しなくなり、内部抵抗の推定精度が低下してしまう。内部抵抗の推定精度が低下すれば、内部抵抗から算出（推定）されるＳＯＣの精度も低下してしまう。ここで、蓄電装置の充電又は放電を継続している時間が所定時間以上であるか否かを判別することにより、蓄電装置の電流値が充電側又は放電側に偏っているか否かを判別している。
【００１９】
電流値が充電側又は放電側に偏っている間の走行距離およびＳＯＣの変化量を、電費の算出に用いなければ、推定精度の低下したＳＯＣに基づいて、電費が算出されることを抑制できる。これにより、電費や走行可能距離の算出精度が低下することを抑制できる。
【００２０】
車両の走行中において、蓄電装置の温度が下限温度以下であるとき、このときの走行距離と、この走行距離に応じたＳＯＣの変化量とを、電費の算出に用いないことができる。蓄電装置の温度は、温度センサによって検出することができる。蓄電装置の温度が低下するほど、蓄電装置の内部抵抗が上昇しやすくなるとともに、蓄電装置のＳＯＣを精度良く推定しにくくなる。
【００２１】
そこで、蓄電装置の温度が下限温度以下である間の走行距離およびＳＯＣの変化量を、電費の算出に用いなければ、推定精度が低下したＳＯＣを用いて、電費が算出されることを抑制できる。これにより、電費や走行可能距離の算出精度が低下することを抑制できる。
【００２２】
車両の走行中において、蓄電装置の温度が上限温度以上であるとき、このときの走行距離と、この走行距離に応じたＳＯＣの変化量とを、電費の算出に用いないことができる。ここで、蓄電装置は、複数の蓄電素子によって構成されており、複数の蓄電素子は、並んで配置されている。このような蓄電装置の構成では、蓄電装置の温度が上昇するほど、複数の蓄電素子の温度がばらつきやすくなる。蓄電素子の内部抵抗は、蓄電素子の温度に依存するため、蓄電素子の温度がばらつくことにより、蓄電素子の内部抵抗もばらつく。
【００２３】
複数の蓄電素子の内部抵抗がばらつくと、蓄電装置の内部抵抗（複数の蓄電素子における全体の内部抵抗）を把握しにくくなる。蓄電装置の内部抵抗を把握しにくくなれば、上述したように、蓄電装置のＳＯＣを推定しにくくなる。ここで、蓄電装置の温度が上限温度以上であるか否かを判別することにより、ＳＯＣの推定精度が低下するか否かを判別している。蓄電装置の温度が上限温度以上である間の走行距離およびＳＯＣの変化量を、電費の算出に用いなければ、推定精度が低下したＳＯＣを用いて、電費が算出されることを抑制できる。これにより、電費や走行可能距離の算出精度が低下することを抑制できる。
【図面の簡単な説明】
【００２４】
【図１】電池システムの構成を示す図である。
【図２】電費を算出するための処理を説明するフローチャートである。
【図３】車速およびアクセル開度の累積値の関係を示す図である。
【図４】組電池の内部抵抗を算出する方法を説明する図である。
【図５】電費の悪化をアナウンスする処理を説明するフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施例について説明する。
【実施例１】
【００２６】
図１は、本実施例の電池システムの構成を示す。図１に示す電池システムは、車両（いわゆるハイブリッド自動車）に搭載されている。この車両は、後述するように、車両を走行させる動力源として、組電池およびエンジンを備えている。
【００２７】
組電池（本発明の蓄電装置に相当する）１０は、直列に接続された複数の単電池１１を有する。単電池（本発明の蓄電素子に相当する）１１としては、ニッケル水素電池やリチウムイオン電池といった二次電池を用いることができる。また、二次電池の代わりに、電気二重層キャパシタを用いることができる。本実施例の組電池１０では、すべての単電池１１が直列に接続されているが、組電池１０には、並列に接続された複数の単電池１１が含まれていてもよい。
【００２８】
監視ユニット２０は、組電池１０の電圧値Ｖｂを検出し、検出結果をコントローラ４０に出力する。なお、監視ユニット２０は、単電池１１の電圧値を検出することもできる。温度センサ２１は、組電池１０の温度（電池温度）Ｔｂを検出し、検出結果をコントローラ４０に出力する。電流センサ２２は、組電池１０の電流値Ｉｂを検出し、検出結果をコントローラ４０に出力する。本実施例において、組電池１０を放電しているときの電流値Ｉｂとして、正の値が用いられ、組電池１０を充電しているときの電流値Ｉｂとして、負の値が用いられる。
【００２９】
組電池１０の正極端子には、正極ラインＰＬが接続され、組電池１０の負極端子には、負極ラインＮＬが接続されている。組電池１０は、正極ラインＰＬおよび負極ラインＮＬを介して、インバータ２３と接続されている。正極ラインＰＬには、システムメインリレーＳＭＲ−Ｂが設けられ、負極ラインＮＬには、システムメインリレーＳＭＲ−Ｇが設けられている。
【００３０】
システムメインリレーＳＭＲ−Ｂ，ＳＭＲ−Ｇは、コントローラ４０からの駆動信号を受けて、オンおよびオフの間で切り替わる。コントローラ４０は、イグニッションスイッチのオンに関する指令を受けて、システムメインリレーＳＭＲ−Ｂ，ＳＭＲ−Ｇをオフからオンに切り替える。これにより、組電池１０およびインバータ２３を接続することができ、図１に示す電池システムが起動状態（Ready-On）となる。電池システムが起動状態にあるときには、以下に説明するように、車両を走行させることができる。
【００３１】
インバータ２３は、組電池１０から出力された直流電力を交流電力に変換し、交流電力をモータ・ジェネレータ（本発明のモータに相当する）ＭＧ２に出力する。モータ・ジェネレータＭＧ２は、インバータ２３から出力された交流電力を受けて動力（運動エネルギ）を生成する。モータ・ジェネレータＭＧ２が生成した動力を駆動輪２４に伝達することにより、車両を走行させることができる。
【００３２】
また、モータ・ジェネレータＭＧ２は、車両の制動時に発生する運動エネルギを交流電力に変換し、交流電力をインバータ２３に出力する。インバータ２３は、モータ・ジェネレータＭＧ２からの交流電力を直流電力に変換し、直流電力を組電池１０に出力する。これにより、組電池１０は、回生電力を蓄えることができる。
【００３３】
動力分割機構２５は、エンジン２６の動力を、駆動輪２４に伝達したり、モータ・ジェネレータＭＧ１に伝達したりする。モータ・ジェネレータＭＧ１は、エンジン２６の動力を受けて発電を行う。モータ・ジェネレータＭＧ１が生成した交流電力は、インバータ２３を介して、モータ・ジェネレータＭＧ２に供給されたり、組電池１０に供給されたりする。モータ・ジェネレータＭＧ１が生成した電力を、モータ・ジェネレータＭＧ２に供給すれば、モータ・ジェネレータＭＧ２が生成した動力によって、駆動輪２４を駆動することができる。モータ・ジェネレータＭＧ１が生成した電力を組電池１０に供給すれば、組電池１０を充電することができる。
【００３４】
組電池１０およびインバータ２３の間の電流経路には、公知のように、昇圧回路（図示せず）を設けることができる。昇圧回路は、組電池１０の出力電圧を昇圧し、昇圧後の電力をインバータ２３に出力することができる。昇圧回路は、インバータ２３の出力電圧を降圧し、降圧後の電力を組電池１０に出力することができる。
【００３５】
システムメインリレーＳＭＲ−Ｂおよびインバータ２３の間の正極ラインＰＬと、システムメインリレーＳＭＲ−Ｇおよびインバータ２３の間の負極ラインＮＬとには、ＤＣ／ＤＣコンバータ２７が接続されている。電池システムが起動状態にあるとき、ＤＣ／ＤＣコンバータ２７は、組電池１０の出力電圧を降圧し、降圧後の電力を補機２８や補機電池２９に供給する。
【００３６】
ＤＣ／ＤＣコンバータ２７から補機２８に電力を供給することにより、補機２８を動作させることができる。補機２８には、エアコンやランプなどの公知の機器が含まれる。ＤＣ／ＤＣコンバータ２７から補機電池２９に電力を供給することにより、補機電池２９を充電することができる。補機電池２９としては、例えば、鉛蓄電池やニッケル水素電池を用いることができる。
【００３７】
組電池１０の正極端子およびシステムメインリレーＳＭＲ−Ｂの間の正極ラインＰＬには、充電ラインＣＨＬ１が接続されている。組電池１０の負極端子およびシステムメインリレーＳＭＲ−Ｇの間の負極ラインＮＬには、充電ラインＣＨＬ２が接続されている。充電ラインＣＨＬ１，ＣＨＬ２は、充電器３１に接続されている。
【００３８】
充電器３１および正極ラインＰＬを接続する充電ラインＣＨＬ１には、充電リレーＣＨＲ−Ｂが設けられている。充電器３１および負極ラインＮＬを接続する充電ラインＣＨＬ２には、充電リレーＣＨＲ−Ｇが設けられている。充電リレーＣＨＲ−Ｂ，ＣＨＲ−Ｇは、コントローラ４０からの駆動信号を受けて、オンおよびオフの間で切り替わる。
【００３９】
充電器３１には、充電ラインＣＨＬ１，ＣＨＬ２を介して、インレット３２が接続されている。インレット３２には、コネクタ３３が接続される。すなわち、コネクタ３３をインレット３２に接続したり、コネクタ３３をインレット３２から外したりすることができる。コネクタ３３は、ケーブルを介して交流電源３４と接続されている。コネクタ３３および交流電源３４は、車両とは別に、車両の外部に設置されている。交流電源３４としては、例えば、商用電源が用いられる。
【００４０】
コネクタ３３をインレット３２に接続することにより、交流電源３４からの電力を組電池１０に供給して、組電池１０を充電することができる。この充電を外部充電という。充電器３１は、交流電源３４から供給された交流電力を直流電力に変換し、直流電力を組電池１０に出力する。また、充電器３１は、交流電源３４の出力電圧を昇圧し、昇圧後の電力を組電池１０に出力することができる。
【００４１】
車両の外部に設置された電源（外部電源）を用いて、組電池１０を充電するシステムは、図１に示す構成に限るものではない。すなわち、外部電源を用いて、組電池１０を充電することができればよい。例えば、充電ラインＣＨＬ１を、システムメインリレーＳＭＲ−Ｂおよびインバータ２３の間の正極ラインＰＬに接続することができる。また、充電ラインＣＨＬ２を、システムメインリレーＳＭＲ−Ｇおよびインバータ２３の間の負極ラインＮＬに接続することができる。
【００４２】
一方、外部電源としては、交流電源３４に加えて、又は交流電源３４の代わりに、直流電源を用いることができる。また、ケーブルを用いずに電力を供給するシステム（いわゆる非接触充電システム）を用いることができる。非接触充電システムとしては、公知の構成を適宜採用することができる。
【００４３】
コントローラ４０は、メモリ４１およびタイマ４２を有する。メモリ４１は、所定の情報を記憶する。タイマ４２は、時間の計測に用いられる。メモリ４１およびタイマ４２は、コントローラ４０に内蔵されているが、メモリ４１およびタイマ４２の少なくとも一方は、コントローラ４０の外部に設けることができる。図１では、１つのコントローラ４０だけを示しているが、コントローラ４０を複数に分けて、互いに異なる処理を行わせてもよい。
【００４４】
車速センサ５１は、車両の走行速度（車速）を検出し、検出結果をコントローラ４０に出力する。傾斜センサ５２は、水平面に対する傾斜角度を検出し、検出結果をコントローラ４０に出力する。大気圧センサ５３は、大気圧を検出し、検出結果をコントローラ４０に出力する。アクセル開度センサ５４は、アクセルペダルの踏み込み量に応じた信号をコントローラ４０に出力する。
【００４５】
本実施例の車両では、走行モードとして、ＣＤ（Charge Depleting）モードおよびＣＳ（Charge Sustain）モードがある。ＣＤモードでは、組電池１０の出力だけを用いた走行、言い換えれば、モータ・ジェネレータＭＧ２の動力だけを用いた走行が優先的に行われる。組電池１０のＳＯＣ（State of Charge）が基準値ＳＯＣ＿ｒｅｆに低下するまでは、ＣＤモードでの走行を行うことができる。ＳＯＣとは、満充電容量に対する充電容量の割合である。公知の手法を用いて、組電池１０のＳＯＣを算出（推定）することができる。
【００４６】
ＣＳモードでは、組電池１０およびエンジン２６の出力を併用した走行が優先的に行われる。組電池１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆよりも低いときには、ＣＳモードでの走行を行うことができる。ＣＤモードおよびＣＳモードの選択は、コントローラ４０によって行われる。
【００４７】
具体的には、組電池１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆ以上であるとき、コントローラ４０は、ＣＤモードを選択する。一方、組電池１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆよりも低いとき、コントローラ４０は、ＣＳモードを選択する。したがって、組電池１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆ以上であるときには、ＣＤモードでの走行が継続される。車両の走行に応じて組電池１０のＳＯＣが低下し、組電池１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆよりも低下すると、ＣＤモードからＣＳモードに切り替わる。
【００４８】
ＣＳモードでは、組電池１０およびエンジン２６を併用しているため、組電池１０のＳＯＣが低下することが抑制される。ここで、組電池１０の充電によって、組電池１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆ以上になると、ＣＳモードからＣＤモードに切り替わる。なお、組電池１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆよりも高いときには、車両に搭載されたスイッチ（図示せず）をユーザが操作することにより、ＣＤモードおよびＣＳモードのいずれかを選択することができる。
【００４９】
ＣＤモードおよびＣＳモードでは、モータ・ジェネレータＭＧ２の動力だけを用いて走行する状態と、エンジン２６およびモータ・ジェネレータＭＧ２の動力を用いて走行する状態とが存在する。ここで、ＣＤモードおよびＣＳモードでは、エンジン２６を始動させる要求パワー（エンジン始動パワーという）が異なる。具体的には、ＣＤモードでのエンジン始動パワーは、ＣＳモードでのエンジン始動パワーよりも大きい。ＣＤモードおよびＣＳモードにおけるエンジン始動パワーは、予め設定することができる。エンジン始動パワーは、エンジン２６の回転数およびトルクによって規定される。
【００５０】
アクセルペダルの操作などによって車両に要求されるパワーが、ＣＤモードでのエンジン始動パワーよりも低いときには、エンジン２６が停止した状態において、モータ・ジェネレータＭＧ２の動力だけを用いて車両の走行が行われる。一方、車両に要求されるパワーが、ＣＤモードでのエンジン始動パワー以上であるときには、エンジン２６およびモータ・ジェネレータＭＧ２の動力を用いて車両の走行が行われる。
【００５１】
なお、ＷＯＴ（Wide Open Throttle）などの限られた走行状態において、車両に要求されるパワーが、ＣＤモードでのエンジン始動パワー以上となる。このため、ＣＤモードでは、モータ・ジェネレータＭＧ２の動力だけを用いた走行が優先的に行われる。
【００５２】
車両に要求されるパワーが、ＣＳモードでのエンジン始動パワーよりも低いときには、エンジン２６が停止した状態において、モータ・ジェネレータＭＧ２の動力だけを用いた車両の走行が行われる。一方、車両に要求されるパワーが、ＣＳモードでのエンジン始動パワー以上であるときには、エンジン２６およびモータ・ジェネレータＭＧ２の動力を用いて車両の走行が行われる。
【００５３】
なお、車両に要求されるパワーが、ＣＳモードでのエンジン始動パワーよりも低くなるときは、アイドリング運転などの運転状態に限られている。このため、ＣＳモードでは、エンジン２６およびモータ・ジェネレータＭＧ２の動力を用いた走行が優先的に行われる。一方、組電池１０のＳＯＣが低下しすぎたときには、モータ・ジェネレータＭＧ１を発電させて、組電池１０を充電するために、エンジン２６が始動される。具体的には、組電池１０のＳＯＣが基準値ＳＯＣ＿ｒｅｆよりも低く、組電池１０のＳＯＣおよび基準値ＳＯＣ＿ｒｅｆの差が所定差以上であるとき、エンジン２６が始動される。
【００５４】
本実施例の車両では、ＣＤモードでの走行を行ったときに、電費を算出している。電費（単位［ｋｍ／％］）とは、単位ＳＯＣあたりの走行距離である。ＣＤモードで走行している間では、走行距離と、組電池１０におけるＳＯＣの変化量ΔＳＯＣ＿ｒｕｎとを算出できる。ＣＤモードでの走行を行えば、組電池１０のＳＯＣが低下しやすいため、変化量ΔＳＯＣ＿ｒｕｎは、組電池１０のＳＯＣの低下量となる。なお、ＣＤモードでの走行において、回生電力が組電池１０に供給されれば、組電池１０のＳＯＣが上昇する。
【００５５】
走行距離を変化量ΔＳＯＣ＿ｒｕｎで除算することにより、電費が算出される。なお、電費は、走行距離および変化量ΔＳＯＣ＿ｒｕｎの比であればよく、変化量ΔＳＯＣ＿ｒｕｎを走行距離で除算した値を電費とすることもできる。
【００５６】
電費を算出しておけば、組電池１０の現在のＳＯＣに基づいて、ＣＤモードにおいて、車両を走行させることができる距離（走行可能距離）を算出できる。走行可能距離とは、モータ・ジェネレータＭＧ２の動力だけを用いて車両を走行させることができる距離である。組電池１０の現在のＳＯＣが基準値ＳＯＣ＿ｒｅｆよりも高いときには、ＣＤモードからＣＳモードに切り替わるまでの変化量ΔＳＯＣ＿ｃｄを算出できる。すなわち、変化量ΔＳＯＣ＿ｃｄは、組電池１０の現在のＳＯＣと、基準値ＳＯＣ＿ｒｅｆとの差分となる。
【００５７】
この変化量ΔＳＯＣ＿ｃｄに電費を乗算すれば、ＣＤモードでの走行可能距離を算出することができる。この走行可能距離や電費は、車両に搭載されたパネル（インストルメントパネル）に表示することができる。ＣＤモードでの走行によって、組電池１０のＳＯＣが低下すれば、上述した変化量ΔＳＯＣ＿ｃｄが低下する。これに伴って、ＣＤモードでの走行可能距離が減少する。一方、モータ・ジェネレータＭＧ２の発電によって組電池１０が充電されれば、組電池１０のＳＯＣが上昇し、上述した変化量ΔＳＯＣ＿ｃｄが増加する。これに伴って、ＣＤモードでの走行可能距離が増加する。
【００５８】
電費の算出は、１回のトリップが終了するたびに行うことができる。例えば、１回のトリップとしては、外部充電を終了してから、次の外部充電が開始されるまでの期間とすることができる。ＣＤモードでの走行可能距離を算出するときには、直近に算出された電費だけを用いることもできるし、直近の電費だけでなく、直近よりも過去の電費も考慮することができる。
【００５９】
過去の電費を考慮するときには、新たに算出した電費を、過去に算出した電費に反映させることができる。具体的には、新たに算出した電費ＲＥａと、過去に算出した電費ＲＥｂとに重み付けをした上で、これらの電費ＲＥａ，ＲＥｂを加算することにより、走行可能距離の算出に用いられる電費ＲＥｃを算出することができる。ここで、電費ＲＥａ，ＲＥｂに対する重み付け係数は、適宜設定することができる。次回のトリップにおいて、電費ＲＥａを新たに算出したときには、前回算出した電費ＲＥｃが過去の電費ＲＥｂとして用いられる。
【００６０】
次に、１回のトリップにおける電費を算出する処理について、図２に示すフローチャートを用いて説明する。図２に示す処理は、電池システムが起動状態であるときに行われ、コントローラ４０によって実行される。また、図２に示す処理は、所定の周期で繰り返される。ＣＤモードが設定され、エンジン２６が停止しているときに、図２に示す処理が開始される。
【００６１】
ステップＳ１０１において、コントローラ４０は、車両が停止しているか否かを判別する。具体的には、コントローラ４０は、車速センサ５１によって検出された車速Ｓ＿ｃｕｒが閾値（車速に関する値）Ｓ＿ｔｈ以下であるか否かを判別する。閾値Ｓ＿ｔｈは、車両が停止していると見なせる車速であり、車速センサ５１の検出誤差などを考慮して適宜設定される。閾値Ｓ＿ｔｈを特定する情報は、メモリ４１に記憶しておくことができる。
【００６２】
車速Ｓ＿ｃｕｒが閾値Ｓ＿ｔｈ以下であるとき、コントローラ４０は、車両が停止していることを判別する。言い換えれば、車速Ｓ＿ｃｕｒが閾値Ｓ＿ｔｈよりも高いとき、コントローラ４０は、車両が走行していることを判別する。ここで、タイマ４２を用いて、車速Ｓ＿ｃｕｒが閾値Ｓ＿ｔｈ以下となっている時間（継続時間）を計測することができる。そして、計測時間が所定時間以上であるときに、車両が停止していることを判別してもよい。この場合において、計測時間が所定時間よりも短いとき、コントローラ４０は、車両が走行していると判別する。ここでの所定時間は、適宜設定することができ、所定時間を特定する情報は、メモリ４１に記憶しておくことができる。
【００６３】
車両が停止していることを判別したとき、コントローラ４０は、図２に示す処理を終了する。図２に示す処理を終了するときには、走行距離および変化量ΔＳＯＣ＿ｒｕｎを積算する処理（後述するステップＳ１０９，Ｓ１１０の処理）が行われない。すなわち、車両が停止している間に発生した組電池１０のＳＯＣの変化量ΔＳＯＣは、変化量ΔＳＯＣ＿ｒｕｎに積算されず、電費の算出に用いられない。ここで、車両が停止しているときには、走行距離が変化しないため、車両が停止している間の走行距離は、電費の算出に影響を与えない。
【００６４】
車両が停止しているとき、走行距離は増加しないが、組電池１０のＳＯＣが低下してしまうことがある。例えば、組電池１０の放電電力を用いて補機２８を動作させているときには、車両が停止しているにもかかわらず、補機２８の動作に応じて、組電池１０のＳＯＣが低下してしまう。また、組電池１０の放電電力を用いて補機電池２９を充電するときにも、組電池１０のＳＯＣが低下してしまう。
【００６５】
このようなＳＯＣの変化は、車両の走行に起因したものではなく、電費の算出に用いられるべきものではない。上述したように、電費は、ＣＤモードでの走行可能距離を算出するために用いられるため、この走行可能距離を把握する上では、車両が停止している間における組電池１０のＳＯＣの変化量ΔＳＯＣは、電費の算出に用いないことが好ましい。また、車両が停止している間における組電池１０のＳＯＣの変化量ΔＳＯＣが上昇しすぎると、この変化量ΔＳＯＣから算出される電費が極端に悪化してしまう。そこで、本実施例では、車両が停止しているときには、図２に示す処理を終了するようにしている。
【００６６】
一方、車両が停止していないことを判別したとき、コントローラ４０は、ステップＳ１０２において、傾斜センサ５２の検出結果に基づいて、車両が坂道（登坂又は降坂）を走行しているか否かを判別する。ここで、車両が登坂を走行しているとき、傾斜センサ５２によって検出された傾斜角度を正の値とすることができる。また、車両が降坂を走行しているとき、傾斜センサ５２によって検出された傾斜角度を負の値とすることができる。
【００６７】
傾斜センサ５２によって検出された傾斜角度が上限値（正の値）以上であるとき、コントローラ４０は、車両が登坂を走行していると判別する。一方、傾斜センサ５２によって検出された傾斜角度が下限値（負の値）以下であるとき、コントローラ４０は、車両が降坂を走行していると判別する。上限値および下限値は、適宜設定することができ、上限値および下限値を特定する情報は、メモリ４１に記憶しておくことができる。
【００６８】
車両が坂道（登坂又は降坂）を走行していると判別したとき、コントローラ４０は、図２に示す処理を終了する。すなわち、車両が坂道（登坂又は降坂）を走行しているときには、走行距離および変化量ΔＳＯＣ＿ｒｕｎを積算する処理（後述するステップＳ１０９，Ｓ１１０の処理）が行われない。
【００６９】
車両が登坂を走行しているときには、車両が水平な道路を走行しているときに比べて、車両を走行させるパワーを確保するために、組電池１０が放電されやすい。車両が登坂を走行することは一時的であり、通常では、水平な道路を走行することが多い。登坂の走行に伴う走行距離および変化量ΔＳＯＣ＿ｒｕｎを電費の算出に反映させてしまうと、電費が悪化しやすくなる。この場合において、ＣＤモードでの走行可能距離を算出すると、ＣＤモードにおいて、水平な道路を走行し続けたときの走行距離は、算出した走行可能距離と異なりやすくなる。そこで、本実施例では、車両が登坂を走行しているときには、図２に示す処理を終了するようにしている。
【００７０】
車両が降坂を走行しているときには、車両が水平な道路を走行しているときに比べて、回生電力が組電池１０に供給されやすく、組電池１０が充電されやすい。車両が降坂を走行することは一時的であり、通常では、水平な道路を走行することが多い。降坂の走行に伴う走行距離および変化量ΔＳＯＣ＿ｒｕｎを電費の算出に反映させてしまうと、電費が良くなりすぎてしまうことがある。この場合において、ＣＤモードでの走行可能距離を算出すると、ＣＤモードにおいて、水平な道路を走行し続けたときの走行距離は、算出した走行可能距離と異なりやすくなる。そこで、本実施例では、車両が降坂を走行しているときには、図２に示す処理を終了するようにしている。
【００７１】
なお、電費が悪化することだけを抑制するのであれば、ステップＳ１０２の処理において、車両が登坂を走行しているか否かを判別するだけでもよい。また、ステップＳ１０２の処理では、傾斜センサ５２の検出結果に基づいて、車両が登坂又は降坂を走行しているか否かを判別しているが、これに限るものではない。車両には、車両が走行している地点を特定するためのナビゲーションシステムが搭載されていることがある。ナビゲーションシステムを用いて車両の走行地点を特定すれば、車両が坂道を走行しているか否かを判別することができる。
【００７２】
ステップＳ１０２の処理において、車両が坂道を走行していないと判別したとき、コントローラ４０は、ステップＳ１０３の処理を行う。ステップＳ１０３において、コントローラ４０は、大気圧センサ５３の検出結果に基づいて、車両の走行地点における標高ＧＨ＿ｃｕｒが閾値（標高に関する値）ＧＨ＿ｔｈ以上であるか否かを判別する。標高が高くなるほど、坂道（登坂や降坂）が発生しやすくなる。そこで、ステップＳ１０３の処理では、標高に基づいて、車両が坂道を走行しているか否かを判別している。閾値ＧＨ＿ｔｈは、坂道が発生しやすい標高の頻度を考慮して適宜設定することができる。閾値ＧＨ＿ｔｈを特定する情報は、メモリ４１に記憶しておくことができる。
【００７３】
標高ＧＨ＿ｃｕｒが閾値ＧＨ＿ｔｈ以上であるとき、コントローラ４０は、図２に示す処理を終了する。すなわち、閾値ＧＨ＿ｔｈ以上の標高ＧＨ＿ｃｕｒにおいて、車両が走行しているときには、走行距離および変化量ΔＳＯＣ＿ｒｕｎを積算する処理（後述するステップＳ１０９，Ｓ１１０の処理）が行われない。標高ＧＨ＿ｃｕｒが閾値ＧＨ＿ｔｈ以上であるときには、車両が坂道を走行しやすくなるため、ステップＳ１０２の処理と同様の理由により、図２に示す処理を終了するようにしている。
【００７４】
本実施例では、ステップＳ１０２，Ｓ１０３の処理を行っているが、ステップＳ１０２，Ｓ１０３の処理の一方だけを行うこともできる。ステップＳ１０３において、標高ＧＨ＿ｃｕｒが閾値ＧＨ＿ｔｈよりも低いとき、コントローラ４０は、ステップＳ１０４の処理を行う。
【００７５】
ステップＳ１０４において、コントローラ４０は、走行抵抗ＲＬ＿ｃｕｒが閾値（走行抵抗に関する値）ＲＬ＿ｔｈ以上であるか否かを判別する。走行抵抗ＲＬ＿ｃｕｒが閾値ＲＬ＿ｔｈ以上であるとき、コントローラ４０は、図２に示す処理を終了する。すなわち、走行抵抗ＲＬ＿ｃｕｒが閾値ＲＬ＿ｔｈ以上であるときには、走行距離および変化量ΔＳＯＣ＿ｒｕｎを積算する処理（後述するステップＳ１０９，Ｓ１１０の処理）が行われない。
【００７６】
車両の走行抵抗ＲＬが上昇すると、車両を走行させるパワーを確保するために、組電池１０が放電されやすい。ここで、乗員や荷物を含む車両の総重量が増加すれば、走行抵抗ＲＬが上昇しやすい。本実施例では、車両の総重量に起因した走行抵抗ＲＬを把握するようにしている。
【００７７】
通常、車両を走行させるときには、乗員などを含む車両の総重量は変化しにくい。しかし、例外的に、車両の使われ方が日常の使われ方と異なることがある。例えば、乗員の数が一時的に増えたり、荷物の重量が一時的に増加したりすることがある。この場合には、車両の総重量の増加によって、走行抵抗ＲＬが上昇しやすくなる。これに伴い、走行距離は短くなりやすく、組電池１０のＳＯＣの変化量ΔＳＯＣは増加しやすくなる。
【００７８】
車両の総重量が一時的に増加している間の走行距離や変化量ΔＳＯＣ＿ｒｕｎを電費の算出に反映させてしまうと、電費を悪化させてしまう。この電費に基づいて走行可能距離を算出すれば、走行可能距離が短くなる。この走行可能距離は、車両の総重量が一時的に増加していない状態（すなわち、車両の日常の使われ方）において、ＣＤモードでの走行を行ったときの走行距離と異なりやすい。そこで、本実施例では、実際の走行距離と走行可能距離との乖離を抑制するために、走行抵抗ＲＬ＿ｃｕｒが閾値ＲＬ＿ｔｈ以上であるときには、図２に示す処理を終了するようにしている。
【００７９】
車両を走行させるときには、通常、乗員などを含めた車両の総重量を測定することができず、車両の総重量に応じた走行抵抗ＲＬ＿ｃｕｒを把握することができない。そこで、下記式（１）に基づいて、走行抵抗ＲＬ＿ｃｕｒを算出（推定）することができる。
【００８０】
ＲＬ＿ｃｕｒ＝Ｓ＿ｌｏｗ／Ｓ＿ｃｕｒ    ・・・（１）
上記式（１）において、Ｓ＿ｌｏｗは、車両の標準的な総重量を考慮した車速である。車両の標準的な総重量は、車種に応じて異なる。Ｓ＿ｃｕｒは、車速センサ５１によって検出された車速である。具体的には、車速Ｓ＿ｃｕｒは、車両の走行を開始してから所定時間Δｔ＿ｓが経過したときの車速である。
【００８１】
車速Ｓ＿ｌｏｗは、図３に示す下限ライン上の車速である。図３において、縦軸は車速であり、横軸は、アクセル開度の累積値である。アクセル開度の累積値とは、車両の走行を開始してから所定時間Δｔ＿ｓが経過するまでの間におけるアクセル開度を累積した値である。アクセル開度としては、アクセル開度センサ５４の検出結果が用いられる。
【００８２】
ここで、車両が水平な路面上において走行を開始したことと、モータ・ジェネレータＭＧ２の動力だけを用いて車両の走行を開始したことを条件として、アクセル開度の累積が行われる。この条件は、車両の総重量を把握するために設定される。坂道において、車両の走行が開始されると、坂道（登坂や降坂）に応じて車速が変化してしまい、車両の総重量を把握しにくくなってしまう。そこで、上述したように、車両が水平な路面上において走行を開始したことを条件としている。水平な路面であるか否かは、傾斜センサ５２の検出結果を用いて判別することができる。
【００８３】
一方、モータ・ジェネレータＭＧ２の動力だけでなく、エンジン２６の動力を用いて車両の走行を開始したときには、アクセル開度に応じた車速が得られやすくなり、上記式（１）に基づいて、車両の総重量に応じた走行抵抗ＲＬ＿ｃｕｒを算出しにくくなる。そこで、上述したように、モータ・ジェネレータＭＧ２の動力だけを用いて車両の走行を開始したことを条件としている。
【００８４】
車両の標準的な総重量を考慮すると、アクセル開度の累積値および車速の関係は、図３に示す上限ラインおよび下限ラインの間（標準領域）に位置する。図３に示す上限ラインは、アクセル開度の累積値に対する最大の車速を示す。すなわち、上限ラインは、車両の総重量が最も小さいときにおける、アクセル開度の累積値および車速の対応関係を示す。車両の総重量が増加するほど、アクセル開度の累積値に対する車速は、上限ライン上の車速よりも低下する。図３に示す下限ラインは、車両の標準的な総重量（想定される総重量の最大値）を考慮したときにおける、アクセル開度の累積値および車速の対応関係を示す。
【００８５】
アクセル開度の累積値および車速の対応関係が、上限ラインおよび下限ラインの間に位置するときには、車両の総重量が標準的な範囲に含まれていると判別できる。一方、アクセル開度の累積値に対応した車速が下限ライン上の車速よりも低いとき、車両の総重量が、標準的な総重量（想定される総重量の最大値）よりも大きいと判別できる。
【００８６】
図３に示す下限ラインを予め定めておけば、アクセル開度の累積値を算出することにより、この累積値に対応した下限ライン上の車速Ｓ＿ｌｏｗを特定できる。また、車速センサ５１を用いれば、所定時間Δｔ＿ｓが経過したときの車速Ｓ＿ｃｕｒを検出することができる。これにより、上記式（１）に基づいて、走行抵抗ＲＬ＿ｃｕｒを算出できる。
【００８７】
車両の総重量が標準的な範囲内にあれば、車速Ｓ＿ｃｕｒは車速Ｓ＿ｌｏｗ以上となり、上記式（１）から算出される走行抵抗ＲＬ＿ｃｕｒは、「１」以下となる。一方、車両の総重量が標準的な範囲の最大値よりも大きいとき、車速Ｓ＿ｃｕｒは車速Ｓ＿ｌｏｗよりも低くなり、上記式（１）から算出される走行抵抗ＲＬ＿ｃｕｒは、「１」よりも大きくなる。
【００８８】
上述した閾値ＲＬ＿ｔｈは、「１」よりも大きな範囲において、適宜設定することができる。走行抵抗ＲＬ＿ｃｕｒが閾値ＲＬ＿ｔｈ以上であるときには、車両の総重量が増加しすぎていることを把握できる。閾値ＲＬ＿ｔｈを特定する情報は、メモリ４１に記憶しておくことができる。車両の走行を開始してから所定時間Δｔ＿ｓが経過したときには、走行抵抗ＲＬ＿ｃｕｒを算出でき、走行抵抗ＲＬ＿ｃｕｒおよび閾値ＲＬ＿ｔｈを比較することができる。
【００８９】
走行抵抗ＲＬ＿ｃｕｒが閾値ＲＬ＿ｔｈよりも低いとき、コントローラ４０は、ステップＳ１０５の処理を行う。ステップＳ１０５において、コントローラ４０は、温度センサ２１によって検出された電池温度Ｔｂが下限温度Ｔｂ＿ｍｉｎ以下であるか否かを判別する。電池温度Ｔｂが下限温度Ｔｂ＿ｍｉｎ以下であるとき、コントローラ４０は、図２に示す処理を終了する。すなわち、電池温度Ｔｂが下限温度Ｔｂ＿ｍｉｎ以下であるとき、走行距離および変化量ΔＳＯＣ＿ｒｕｎを積算する処理（後述するステップＳ１０９，Ｓ１１０の処理）が行われない。
【００９０】
電池温度Ｔｂが低下するほど、組電池１０（単電池１１）の内部抵抗が上昇しやすい。組電池１０のＳＯＣは、公知のように、組電池１０の電流値Ｉｂおよび電圧値Ｖｂに基づいて算出されるが、組電池１０の内部抵抗が上昇すると、組電池１０の電圧値Ｖｂが変化しやすくなる。これにより、組電池１０のＳＯＣを推定する精度が低下しやすくなる。ＳＯＣの推定精度が低下すれば、変化量ΔＳＯＣ＿ｒｕｎを積算するときの精度も低下し、変化量ΔＳＯＣ＿ｒｕｎから算出される電費の精度も低下してしまう。
【００９１】
そこで、本実施例では、電池温度Ｔｂが下限温度Ｔｂ＿ｍｉｎ以下であるときには、図２に示す処理を終了するようにしている。下限温度Ｔｂ＿ｍｉｎは、ＳＯＣの推定精度を低下させる観点に基づいて予め定めることができる。そして、下限温度Ｔｂ＿ｍｉｎを特定する情報は、メモリ４１に記憶しておくことができる。電池温度Ｔｂが下限温度Ｔｂ＿ｍｉｎよりも高いとき、コントローラ４０は、ステップＳ１０６の処理を行う。
【００９２】
ステップＳ１０６において、コントローラ４０は、温度センサ２１によって検出された電池温度Ｔｂが上限温度Ｔｂ＿ｍａｘ以上であるか否かを判別する。電池温度Ｔｂが上限温度Ｔｂ＿ｍａｘ以上であるとき、コントローラ４０は、図２に示す処理を終了する。すなわち、電池温度Ｔｂが上限温度Ｔｂ＿ｍａｘ以上であるときには、走行距離および変化量ΔＳＯＣ＿ｒｕｎを積算する処理（後述するステップＳ１０９，Ｓ１１０の処理）が行われない。
【００９３】
電池温度（組電池１０の温度）Ｔｂが上昇するほど、複数の単電池１１における温度がバラツキやすくなる。組電池１０は、複数の単電池１１によって構成されており、複数の単電池１１は並んで配置されている。このような構成では、複数の単電池１１において、単電池１１の放熱量に差が発生することがある。ここで、電池温度Ｔｂが低下するほど、単電池１１の放熱量の差は発生しにくい。一方、電池温度Ｔｂが上昇するほど、単電池１１の放熱量の差が発生しやすくなる。
【００９４】
単電池１１の内部抵抗は、単電池１１の温度に依存する。このため、単電池１１の温度にバラツキが発生すれば、単電池１１の内部抵抗にもバラツキが発生する。単電池１１の内部抵抗にバラツキが発生しやすくなると、組電池１０の内部抵抗（すなわち、複数の単電池１１における全体の内部抵抗）を把握しにくくなる。組電池１０の内部抵抗を把握しにくくなれば、上述したように、組電池１０のＳＯＣを推定する精度が低下してしまう。
【００９５】
そこで、本実施例では、電池温度Ｔｂが上限温度Ｔｂ＿ｍａｘ以上であるときには、図２に示す処理を終了するようにしている。上限温度Ｔｂ＿ｍａｘは、単電池１１の温度にバラツキが発生しやすくなるときの電池温度Ｔｂを考慮して適宜設定することができる。そして、上限温度Ｔｂ＿ｍａｘを特定する情報は、メモリ４１に記憶しておくことができる。電池温度Ｔｂが上限温度Ｔｂ＿ｍａｘよりも低いとき、コントローラ４０は、ステップＳ１０７の処理を行う。
【００９６】
ステップＳ１０７において、コントローラ４０は、電流センサ２２によって検出された電流値（絶対値）Ｉｂが閾値（電流値に関する値）Ｉｂ＿ｔｈ以下であるか否かを判別する。上述したように、組電池１０を充電しているときの電流値Ｉｂは負の値であり、組電池１０を放電しているときの電流値Ｉｂは正の値である。そこで、ステップＳ１０７の処理では、電流値Ｉｂの絶対値を閾値Ｉｂ＿ｔｈと比較している。
【００９７】
電流値（絶対値）Ｉｂが閾値Ｉｂ＿ｔｈ以下であるとき、コントローラ４０は、図２に示す処理を終了する。すなわち、電流値（絶対値）Ｉｂが閾値Ｉｂ＿ｔｈ以下であるとき、走行距離および変化量ΔＳＯＣ＿ｒｕｎを積算する処理（後述するステップＳ１０９，Ｓ１１０の処理）が行われない。電流センサ２２によって検出された電流値Ｉｂには、電流センサ２２の検出誤差が含まれている。このため、電流値Ｉｂが０［Ａ］に近づくほど、電流値Ｉｂに含まれる検出誤差の割合が大きくなる。
【００９８】
組電池１０のＳＯＣを推定するときには、電流値Ｉｂが用いられるが、電流値Ｉｂに含まれる検出誤差の割合が大きくなるほど、ＳＯＣの推定精度が低下してしまう。ＳＯＣの推定精度が低下すれば、上述したように、変化量ΔＳＯＣ＿ｒｕｎから算出される電費の精度も低下してしまう。そこで、本実施例では、電流値（絶対値）Ｉｂが閾値Ｉｂ＿ｔｈ以下であるときには、図２に示す処理を終了するようにしている。ここで、ＳＯＣの推定精度を確保する観点に基づいて、閾値Ｉｂ＿ｔｈを適宜設定することができる。閾値Ｉｂ＿ｔｈは、０よりも大きい値である。そして、閾値Ｉｂ＿ｔｈを特定する情報は、メモリ４１に記憶しておくことができる。
【００９９】
電流値（絶対値）Ｉｂが閾値Ｉｂ＿ｔｈよりも大きいとき、コントローラ４０は、ステップＳ１０８の処理を行う。ステップＳ１０８において、コントローラ４０は、組電池１０の充電又は放電が所定時間以上継続されているか否かを判別する。具体的には、コントローラ４０は、タイマ４２を用いて、組電池１０の充電又は放電が継続されている時間Δｔ＿ｍを計測する。
【０１００】
ここで、充電から放電に切り替わったとき、時間Δｔ＿ｍの計測が開始される。そして、放電から充電に切り替わるまで、時間Δｔ＿ｍの計測が継続される。また、放電から充電に切り替わったとき、時間Δｔ＿ｍの計測が開始される。そして、充電から放電に切り替わるまで、時間Δｔ＿ｍの計測が継続される。このように、時間Δｔ＿ｍを計測しているときにおいて、コントローラ４０は、現在の計測時間Δｔ＿ｍが所定時間Δｔ＿ｔｈ以上であるか否かを判別する。
【０１０１】
計測時間Δｔ＿ｍが所定時間Δｔ＿ｔｈ以上であるとき、コントローラ４０は、図２に示す処理を終了する。組電池１０のＳＯＣを算出するときには、組電池１０の内部抵抗が用いられる。組電池１０の内部抵抗は、組電池１０を充放電したときの電流値Ｉｂおよび電圧値Ｖｂから算出される。組電池１０を充放電しているときには、任意のタイミングにおいて、電流値Ｉｂおよび電圧値Ｖｂの関係が得られる。図４に示すように、電流値Ｉｂおよび電圧値Ｖｂを座標軸とした座標系に対して、電流値Ｉｂおよび電圧値Ｖｂの関係をプロットし、複数のプロットに近似する直線Ｌを算出すれば、近似直線Ｌの傾きが組電池１０の内部抵抗となる。
【０１０２】
近似直線Ｌから組電池１０の内部抵抗を算出（推定）するときにおいて、図４に示すように、電流値Ｉｂが充電側および放電側に分散していれば、組電池１０の内部抵抗を精度良く推定することができる。ここで、電流値Ｉｂが充電側又は放電側に偏ってしまうと、電流値Ｉｂを充電側および放電側に分散させることができず、内部抵抗の推定精度が低下してしまう。組電池１０の内部抵抗からＳＯＣを算出するとき、内部抵抗の推定精度が低下すれば、ＳＯＣの推定精度も低下してしまう。ＳＯＣの推定精度が低下すれば、上述したように、変化量ΔＳＯＣ＿ｒｕｎから算出される電費の精度も低下してしまう。
【０１０３】
計測時間Δｔ＿ｍが長くなるほど、電流値Ｉｂが充電側又は放電側に偏ってしまう。そこで、本実施例では、計測時間Δｔ＿ｍが所定時間Δｔ＿ｔｈ以上であるときには、図２に示す処理を終了するようにしている。所定時間Δｔ＿ｔｈは、ＳＯＣの推定精度を確保する観点に基づいて、適宜設定することができる。所定時間Δｔ＿ｔｈを特定する情報は、メモリ４１に記憶しておくことができる。
【０１０４】
計測時間Δｔ＿ｍが所定時間Δｔ＿ｔｈよりも短いとき、コントローラ４０は、ステップＳ１０９において、走行距離の積算を行う。具体的には、コントローラ４０は、図２に示す処理を行っている期間において、車速センサ５１の検出結果に基づいて走行距離を算出する。そして、コントローラ４０は、前回までに積算された走行距離に対して、今回算出された走行距離を積算（加算）する。このようにして走行距離の積算が行われ、１回のトリップが終了するまで、走行距離の積算が継続される。なお、１回のトリップが終了したときには、走行距離（積算値）がリセットされ、次回のトリップにおいて、走行距離の積算が新たに開始される。
【０１０５】
また、ステップＳ１０９において、コントローラ４０は、変化量ΔＳＯＣ＿ｒｕｎの積算を行う。コントローラ４０は、組電池１０のＳＯＣを算出し続けることにより、図２に示す処理を行っている期間における変化量ΔＳＯＣ＿ｒｕｎを算出することができる。コントローラ４０は、前回までに積算された変化量ΔＳＯＣ＿ｒｕｎに対して、今回算出された変化量ΔＳＯＣ＿ｒｕｎを積算する。このようにして変化量ΔＳＯＣ＿ｒｕｎの積算が行われ、１回のトリップが終了するまで、変化量ΔＳＯＣ＿ｒｕｎの積算が継続される。なお、１回のトリップが終了したときには、変化量ΔＳＯＣ＿ｒｕｎ（積算値）がリセットされ、次回のトリップにおいて、変化量ΔＳＯＣ＿ｒｕｎの積算が新たに開始される。
【０１０６】
ステップＳ１１０において、コントローラ４０は、ステップＳ１０９の処理で算出された積算値をメモリ４１に記憶する。この積算値とは、走行距離の積算値と、変化量ΔＳＯＣ＿ｒｕｎの積算値である。１回のトリップが終了したとき、メモリ４１に記憶された情報に基づいて、１回のトリップにおける走行距離の積算値および変化量ΔＳＯＣ＿ｒｕｎの積算値が分かる。これにより、上述したように、走行距離の積算値および変化量ΔＳＯＣ＿ｒｕｎの積算値に基づいて、１回のトリップにおける電費を算出することができる。
【０１０７】
走行距離の積算値および変化量ΔＳＯＣ＿ｒｕｎの積算値を算出する処理は、図２に示す処理に限るものではない。走行距離および変化量ΔＳＯＣ＿ｒｕｎを積算する処理を行うときには、少なくともステップＳ１０１の処理を行えばよい。また、ステップＳ１０１の処理と、ステップＳ１０２〜ステップＳ１０８の処理のうち少なくとも１つの処理とを行うこともできる。
【０１０８】
本実施例では、ＣＤモードでの走行を行ったときにおいて、電費を算出しているが、これに限るものではない。車両の走行モードとしては、モータ・ジェネレータＭＧ２の動力だけを用いて走行するモード（ＥＶモードという）がある。上述したように、ＣＤモードでは、エンジン２６が始動する場合があるが、ＥＶモードでは、エンジン２６が始動しない。この点に関して、ＥＶモードは、ＣＤモードとは異なる。
【０１０９】
ＥＶモードでの走行を行ったときには、本実施例と同様に、１回のトリップにおいて、走行距離の積算値および変化量ΔＳＯＣ＿ｒｕｎの積算値を算出することができる。これにより、ＥＶモードでの電費を算出することができる。そして、この電費に基づいて、ＥＶモードで走行することができる距離（走行可能距離）を算出することができる。
【０１１０】
本実施例では、ハイブリッド車両について説明しているが、これに限るものではない。すなわち、本発明は、いわゆる電気自動車にも適用することができる。電気自動車とは、車両を走行させる動力源として、組電池１０だけを備えた車両である。電気自動車において、電費を算出するときにも、図２に示す処理を行うことができる。そして、電費に基づいて、電気自動車を走行させることができる距離（走行可能距離）を算出することができる。
【０１１１】
一方、走行可能距離を算出した後では、実際に車両を走行させた距離（走行距離）と、算出した走行可能距離とを比較することができる。ここで、走行距離および走行可能距離が乖離しているときには、この情報をユーザにアナウンスすることができる。この処理について、図５に示すフローチャートを用いて説明する。図５に示す処理は、コントローラ４０によって実行される。
【０１１２】
ステップＳ２０１において、コントローラ４０は、１回のトリップにおける走行距離Ｄｉｓ＿ｃｕｒを算出する。すなわち、１回のトリップが終了したときには、１回のトリップの間における走行距離Ｄｉｓ＿ｃｕｒを把握することができる。走行距離Ｄｉｓ＿ｃｕｒは、車速センサ５１の検出結果に基づいて算出することができる。
【０１１３】
ステップＳ２０２において、コントローラ４０は、走行可能距離Ｄｉｓ＿ｃａｌから走行距離Ｄｉｓ＿ｃｕｒを減算した値（減算値）が所定値ΔＤｉｓ以上であるか否かを判別する。ここで、走行可能距離Ｄｉｓ＿ｃａｌは、１回のトリップを開始する前に、上述したように、電費および変化量ΔＳＯＣ＿ｃｄから算出される。本実施例のように電費を算出したときには、走行可能距離Ｄｉｓ＿ｃａｌは、走行距離Ｄｉｓ＿ｃｕｒよりも長くなりやすい。所定値ΔＤｉｓは、走行可能距離Ｄｉｓ＿ｃａｌおよび走行距離Ｄｉｓ＿ｃｕｒが乖離しすぎているか否かを判別する観点に基づいて、適宜設定することができる。所定値ΔＤｉｓを特定する情報は、メモリ４１に記憶しておくことができる。
【０１１４】
減算値が所定値ΔＤｉｓ以上であるとき、コントローラ４０は、ステップＳ２０３の処理を行う。一方、減算値が所定値ΔＤｉｓよりも小さいとき、コントローラ４０は、図５に示す処理を終了する。ステップＳ２０３において、コントローラ４０は、現在の運転状態は、電費を悪化させる運転状態であることをユーザにアナウンスする。アナウンスの手段としては、例えば、ディスプレイへの表示を行ったり、音声を出力したりすることができる。これにより、ユーザは、現在の運転状態が電費を悪化させる運転状態であることを認識できる。
【符号の説明】
【０１１５】
１０：組電池（蓄電装置）、１１：単電池、２０：監視ユニット、２１：温度センサ、
２２：電流センサ、２３：インバータ、２４：駆動輪、２５：動力分割機構、
２６：エンジン、２７：ＤＣ／ＤＣコンバータ、２８：補機、２９：補機電池、
３１：充電器、３２：インレット、３３：コネクタ、３４：交流電源、
４０：コントローラ、４１：メモリ、４２：タイマ、５１：車速センサ、
５２：傾斜センサ、５３：大気圧センサ、５４：アクセル開度センサ、
【図１】
2015095917.tif 000003
【図２】
2015095917.tif 000004
【図３】
2015095917.tif 000005
【図４】
2015095917.tif 000006
【図５】
2015095917.tif 000007