(57)【要約】  【課題】  内燃機関の発電制御装置において、必要な発電量を確保しつつ、発電による燃料消費量増加分を確実に低減する。  【解決手段】  発電機の発電を実行した場合の燃料消費率と発電機の発電を停止した場合の燃料消費率との差分から発電による燃料消費率増加分を求め、この発電による燃料消費率増加分を発電機の発電量で割り算して電費（単位発電量当たりの燃料消費量増加分）を求める。走行中に、電費のクラス毎の使用頻度を求めると共に、クラス毎の発電可能量と平均消費電力を算出し、クラス毎の使用頻度と発電可能量と平均消費電力とに基づいてバッテリの充放電収支が０となるように目標電費を設定する。そして、この目標電費を現在のＳＯＣ（バッテリ充電割合）と目標ＳＯＣとの偏差に応じて補正し、補正後の最終目標電費と現在の電費とを比較して発電機１６の発電を実行するか否かを判定する。  【選択図】  図８
2006340514.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の動力で駆動される発電機と、前記発電機で発電した電力が充電されるバッテリとを備えた内燃機関の発電制御装置において、
前記バッテリの充電状態を検出するバッテリ充電状態検出手段と、
前記発電機の発電による燃料消費量増加分と発電量とに基づいて単位発電量当たりの燃料消費量増加分を算出する燃料消費量算出手段と、
前記単位発電量当たりの燃料消費量増加分と目標の燃料消費量増加分とを比較して前記発電機の発電を制御する発電制御手段と、
前記バッテリ充電状態検出手段で検出したバッテリの充電状態に基づいて前記目標の燃料消費量増加分を補正する目標値補正手段と
を備えていることを特徴とする内燃機関の発電制御装置。
【請求項２】
前記発電制御手段は、前記バッテリの充電量と放電量の収支（以下「充放電収支」という）をバランスさせるように前記目標の燃料消費量増加分を設定することを特徴とする請求項１に記載の内燃機関の発電制御装置。
【請求項３】
前記発電制御手段は、過去の走行履歴における単位発電量当たりの燃料消費量増加分のクラス毎の使用頻度に基づいて前記目標の燃料消費量増加分を設定することを特徴とする請求項１又は２に記載の内燃機関の発電制御装置。
【請求項４】
前記発電制御手段は、過去の走行履歴における単位発電量当たりの燃料消費量増加分のクラス毎の使用頻度と発電可能量とに基づいて前記目標の燃料消費量増加分を設定することを特徴とする請求項１又は２に記載の内燃機関の発電制御装置。
【請求項５】
前記発電制御手段は、過去の走行履歴における単位発電量当たりの燃料消費量増加分のクラス毎の使用頻度と発電可能量と平均消費電力とに基づいて前記目標の燃料消費量増加分を設定することを特徴とする請求項１又は２に記載の内燃機関の発電制御装置。
【請求項６】
前記バッテリ充電状態検出手段は、前記バッテリの充電割合を算出し、
前記目標値補正手段は、前記バッテリの充電割合に基づいて前記目標の燃料消費量増加分を補正することを特徴とする請求項１乃至５のいれかに記載の内燃機関の発電制御装置。
【請求項７】
前記目標値補正手段は、前記バッテリの充電割合と目標充電割合との偏差を小さくするように前記目標の燃料消費量増加分をフィードバック補正することを特徴とする請求項６に記載の内燃機関の発電制御装置。
【請求項８】
前記目標値補正手段は、前記バッテリの充電割合を目標充電割合に一致させるのに必要な充放電量を算出し、算出した充放電量に基づいて前記バッテリの充放電収支の基準点を補正することで前記目標の燃料消費量増加分を補正することを特徴とする請求項２に記載の内燃機関の発電制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発電機の発電による燃料消費量増加分を考慮して発電機を制御する機能を備えた内燃機関の発電制御装置に関する発明である。
【背景技術】
【０００２】
車両に搭載された発電機（オルタネータ）の制御は、バッテリの充電状態を監視して、バッテリが充電不足とならないように発電機の制御電流（界磁電流）を制御して発電量を制御するようにしたものが多い（特許文献１，２参照）。
【０００３】
この発電機は、内燃機関（エンジン）の動力で駆動されて行うため、発電時には、発電機を駆動する負荷に応じて燃料が余分に消費されることになる。そこで、発電時の燃料消費量が少なくなる領域でのみ、発電機の発電を行うようにしたものがある（特許文献３，４参照）。
【特許文献１】特開２０００−４５０２号公報
【特許文献２】特開２００１−７８３６５号公報
【特許文献３】特表平６−５０５６１９号公報
【特許文献４】特開２００５−１２９７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献３，４の技術は、いずれも発電による燃料消費量増加分を低減する技術であるが、発電を実行する運転条件を予め設定されたマップで決定するため、マップの精度や車両の使用環境（走行道路状況の相違、運転者による車速・加減速の相違等）や車両特性のばらつきによって燃費節減効果が左右されやすく、必ずしも十分な燃費節減効果が得られるとは限らない。
【０００５】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、必要な発電量を確保しつつ、発電による燃料消費量増加分を確実に低減することができる内燃機関の発電制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に係る発明は、内燃機関の動力で駆動される発電機と、前記発電機で発電した電力が充電されるバッテリとを備えた内燃機関の発電制御装置において、前記バッテリの充電状態を検出するバッテリ充電状態検出手段と、前記発電機の発電による燃料消費量増加分と発電量とに基づいて単位発電量当たりの燃料消費量増加分を算出する燃料消費量算出手段と、前記単位発電量当たりの燃料消費量増加分と目標の燃料消費量増加分とを比較して前記発電機の発電を制御する発電制御手段と、前記バッテリ充電状態検出手段で検出したバッテリの充電状態に基づいて前記目標の燃料消費量増加分を補正する目標値補正手段とを備えた構成としたものである。このように、単位発電量当たりの燃料消費量増加分を、バッテリの充電状態に応じて補正された目標の燃料消費量増加分と比較して発電機の発電を制御するようにすれば、発電を実行する運転条件を予め設定されたマップで決定する従来の発電制御方式と比較して、マップの精度や車両の使用環境（走行道路状況の相違、運転者による車速・加減速の相違等）や車両特性のばらつきの影響が少なくなり、実際のバッテリの充電状態に応じて必要な発電量を確保しつつ、発電による燃料消費量増加分を確実に低減することができる。
【０００７】
この場合、請求項２のように、バッテリの充電量と放電量の収支（以下「充放電収支」という）をバランスさせるように目標の燃料消費量増加分を設定すると良い。これにより、必要最小限の発電量でバッテリを過不足なく充電することができ、燃費低減と充放電収支の両立が可能となる。
【０００８】
また、請求項３のように、過去の走行履歴における単位発電量当たりの燃料消費量増加分のクラス毎の使用頻度に基づいて目標の燃料消費量増加分を設定するようにしても良い。このようにすれば、車両の使用環境（走行道路状況の相違、運転者による車速・加減速の相違等）や車両特性のばらつきに合わせて目標の燃料消費量増加分を自動的に精度良く設定することができる。ここで、「クラス」とは、単位発電量当たりの燃料消費量増加分の最小値（０）から最大値までの範囲を所定数に分割した所定範囲を意味する。
【０００９】
更に、請求項４のように、過去の走行履歴における単位発電量当たりの燃料消費量増加分のクラス毎の使用頻度と発電可能量とに基づいて目標の燃料消費量増加分を設定するようにしても良い。このようにすれば、クラス毎の発電可能量も考慮して、より正確に目標の燃料消費量増加分を設定することができる。
【００１０】
更に、請求項５のように、過去の走行履歴における単位発電量当たりの燃料消費量増加分のクラス毎の使用頻度と発電可能量と平均消費電力とに基づいて目標の燃料消費量増加分を設定するようにしても良い。このようにすれば、クラス毎の発電可能量と平均消費電力も考慮して、より正確に目標の燃料消費量増加分を設定することができる。
【００１１】
また、請求項６のように、バッテリ充電状態検出手段によってバッテリの充電割合を算出し、このバッテリの充電割合に基づいて目標の燃料消費量増加分を補正するようにしても良い。このようにすれば、バッテリの充電状態に応じた目標の燃料消費量増加分の補正をより正確に行うことができる。
【００１２】
この場合、請求項７のように、バッテリの充電割合と目標充電割合との偏差を小さくするように目標の燃料消費量増加分をフィードバック補正するようにしても良い。これにより、低燃費の要求を満たしつつ、バッテリの充電割合を目標充電割合に収束させるように制御することができる。
【００１３】
また、請求項８のように、バッテリの充電割合を目標充電割合に一致させるのに必要な充放電量を算出し、算出した充放電量に基づいて前記バッテリの充放電収支の基準点を補正することで目標の燃料消費量増加分を補正するようにしても良い。このようにすれば、低燃費の要求を満たしつつ、バッテリの目標充電割合への収束性を高めることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態を具体化した２つの実施例１，２を説明する。
【実施例１】
【００１５】
本発明の実施例１を図１乃至図８に基づいて説明する。
図１に示す制御装置１１は、バッテリ１２からキースイッチ１３を介して電源が供給され、エンジン運転中に点火装置１４と噴射装置１５の動作を制御すると共に、発電機１６（オルタネータ）の発電を制御する発電制御手段として機能する。
【００１６】
この制御装置１１は、電流センサ１７（電流検出手段）で検出したバッテリ１２の充放電電流及び／又は電圧センサ１８（電圧検出手段）で検出したバッテリ１２の開放端子電圧に基づいてバッテリ１２の充電割合ＳＯＣを算出する。例えば、バッテリ１２の充放電電流を電流センサ１７（電流検出手段）で検出して、その検出値を積算していく。この際、バッテリ１２の充電電流をプラス値とし、バッテリ１２の放電電流をマイナス値とすることで、充放電電流積算値をバッテリ１２の充電割合ＳＯＣに応じて増減させる。これにより、充放電電流積算値をバッテリ充電割合ＳＯＣの検出データとして用いることが可能となる。或は、バッテリ１２の開放端子電圧と充電割合ＳＯＣとの関係を表すマップを参照して、現在のバッテリ１２の開放端子電圧に応じた充電割合ＳＯＣを算出するようにしても良い。勿論、バッテリ１２の充放電電流積算値と開放端子電圧の両方に基づいてバッテリ１２の充電割合ＳＯＣを算出するようにしても良い。
【００１７】
次に、本実施例１の発電制御について説明する。
図２は、単位時間当たりの燃料消費量である燃料消費率とエンジン運転条件との関係を示す図である。図２に示すように、燃料消費率は、エンジン回転速度とエンジントルクによって変化する。燃料消費率は、エンジントルクに応じて曲線的に変化するため、エンジン回転速度が一定の場合は、エンジントルクの増加量に対して、燃料消費率の増加量が大きい条件と小さい条件がある。例えば、発電機１６で一定量の発電を実施した場合、発電によりエンジントルクに発電機１６によるトルクが付加され、エンジンの動作点が変わる。このため、燃料消費率は、発電量により変化する。この時、燃料消費率が少ない条件のみ選択して、発電を実施すれば、燃料消費率を低減することが可能となる。
【００１８】
そこで、本実施例１では、発電制御のパラメータとして、単位発電量当たりの燃料消費率増加分（以下「電費」という）を用いる。この電費は、次のようにして算出される。まず、エンジン運転中（走行中）に、発電機１６の発電を実行した場合の燃料消費率（発電時燃料消費率）と発電機１６の発電を停止した場合の燃料消費率（非発電時燃料消費率）との差分から発電による燃料消費率増加分を求め、この発電による燃料消費率増加分を発電機１６の発電量で割り算して電費（単位発電量当たりの燃料消費量増加分）を求める。
電費(g/skW) ＝（発電時燃料消費率−非発電時燃料消費率）／発電量
【００１９】
更に、本実施例１では、走行中に、電費のクラス毎の使用頻度を求めると共に、クラス毎の発電可能量と平均消費電力を算出し、クラス毎の使用頻度と発電可能量と平均消費電力とに基づいてバッテリ１２の充放電収支が０となる（充電量と放電量がバランスする）ように目標電費を設定すると共に、現在のバッテリ充電割合ＳＯＣと目標充電割合との偏差を小さくするように目標電費をＰＩ制御によりフィードバック補正し、現在の電費を補正後の目標電費（最終目標電費）と比較して発電機１６の発電を実行するか否かを判定する。ここで、「クラス」とは、電費の最小値（０）から最大値までの範囲を所定数に分割した所定範囲を意味する。
【００２０】
以上説明した本実施例１の発電制御は、制御装置１１によって図３乃至図８の各ルーチンによって実行される。以下、これら各ルーチンの処理内容を説明する。
【００２１】
［電費算出ルーチン］
図３の電費算出ルーチンは、エンジン運転中に所定周期（例えば８ｍｓ周期）で実行され、特許請求の範囲でいう燃料消費量算出手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ１０１で、現在の運転条件（例えばエンジン回転速度、吸入空気量、要求発電量等）を読み込む。ここで、要求発電量は、予め発電機１６の最大発電可能量、発電機１６の発電効率等から定めておく。
【００２２】
この後、ステップ１０２に進み、現在の運転条件から現在のエンジントルクを算出した後、ステップ１０３に進み、要求発電量をトルクに換算し（つまり要求発電量分の発電を行うのに必要なトルクを算出し）、これを要求発電量トルクとして制御装置１１のＲＡＭに記憶する。
【００２３】
そして、次のステップ１０４で、発電機１６が発電中であるか否かを判定し、発電中であれば、ステップ１０５に進み、現在の発電量をトルクに換算して、これを現在の発電量トルクとして制御装置１１のＲＡＭに記憶し、次のステップ１０６で、上記ステップ１０２で算出した現在のエンジントルクから上記ステップ１０５で算出した現在の発電量トルクを差し引いて非発電時トルクを求める。この非発電時トルクは、発電機１６の発電を停止した場合のエンジントルクに相当する。一方、上記ステップ１０４で、発電中でないと判定されれば、ステップ１０７に進み、現在のエンジントルクをそのまま非発電時トルクとする。
【００２４】
以上のようにして非発電時トルクを算出した後、ステップ１０８に進み、上記ステップ１０２で算出した現在のエンジントルクに上記ステップ１０３で算出した要求発電量トルクを加算して発電時トルクを求める。この発電時トルクは、発電機１６の発電を実行した場合のエンジントルクに相当する。
【００２５】
この後、ステップ１０９に進み、現在のエンジン回転速度と非発電時トルクに応じた非発電時燃料消費率(g/s) を図２と同様の燃料消費率算出マップにより算出する。この非発電時燃料消費率は、発電機１６の発電を停止した場合の燃料消費率に相当する。燃料消費率の算出マップは、定常運転条件における燃料消費率を予め計測し、設定しておく。
【００２６】
この後、ステップ１１０に進み、現在のエンジン回転速度と発電時トルクに応じた発電時燃料消費率(g/s) を図２と同様の燃料消費率算出マップにより算出する。この発電時燃料消費率は、発電機１６の発電を実行した場合の燃料消費率に相当する。
【００２７】
この後、ステップ１１１に進み、発電時燃料消費率(g/s) と非発電時燃料消費率(g/s) との差分を現在の発電量(kW)で割り算して、単位発電量当たりの燃料消費率である電費ＣＦＣ(g/skW) を求める。
ＣＦＣ(g/kWs) ＝（発電時燃料消費率−非発電時燃料消費率）／発電量
【００２８】
［電費クラスデータ蓄積ルーチン］
図４の電費クラスデータ蓄積ルーチンは、エンジン運転中に所定周期（例えば８ｍｓ周期）で実行され、過去の走行履歴における電費ＣＦＣのクラス毎の使用頻度、電費平均値、発電可能量平均値を次のようにして算出して、それらのデータを制御装置１１のＲＡＭに蓄積する。
【００２９】
本ルーチンが起動されると、まずステップ２０１で、エンジン回転速度と発電機１６の発電特性との関係を表すマップ等から現在のエンジン回転速度に応じた発電可能量ＧＰを算出する。この後、ステップ２０２に進み、現在までの合計サンプル数ＮＦＣtotal のカウント値をカウントアップして、ステップ２０３ａに進み、今回の電費ＣＦＣが最小のクラスであるクラスＡに含まれるか否か（電費ＣＦＣ＜Ａか否か）を判定し、今回の電費ＣＦＣがクラスＡに含まれれば、クラスＡのデータを次のようにして更新する。
【００３０】
まず、ステップ２０４ａで、クラスＡのサンプル数ＮＦＣ(A) のカウント値をカウントアップした後、ステップ２０５ａに進み、クラスＡの前回の電費平均値 oldＣＦＣave(A)とサンプル数ＮＦＣ(A) と今回の電費ＣＦＣから、クラスＡの電費平均値ＣＦＣave(A)を次式により算出する。
ＣＦＣave(A)＝［ oldＣＦＣave(A)×｛ＮＦＣ(A) −１｝＋ＣＦＣ］／ＮＦＣ(A)
【００３１】
この後、ステップ２０６ａに進み、クラスＡの前回の発電可能量 oldＧＰave(A)とサンプル数ＮＦＣ(A) と今回の発電可能量ＧＰから、クラスＡの発電可能量平均値ＧＰave(A)を次式により算出する。
ＧＰave(A)＝［ oldＧＰave(A)×｛ＮＦＣ(A) −１｝＋ＧＰ］／ＮＦＣ(A)
【００３２】
この後、ステップ２０７ａに進み、クラスＡのサンプル数ＮＦＣ(A) を全クラスＡ〜Ｚの合計サンプル数ＮＦＣtotal で割り算してクラスＡの使用頻度Ｒ(A) を求める。
Ｒ(A) ＝ＮＦＣ(A) ／ＮＦＣtotal
【００３３】
一方、前記ステップ２０３ｂで、今回の電費ＣＦＣがクラスＡに含まれていないと判定されれば、ステップ２０３ｂに進み、今回の電費ＣＦＣがクラスＡの次に大きいクラスＢに含まれるか否か（Ａ≦電費ＣＦＣ＜Ｂか否か）を判定し、今回の電費ＣＦＣがクラスＢに含まれれば、ステップ２０４ｂ〜２０７ｂの処理を実行して、上記と同様の方法で、クラスＢのサンプル数ＮＦＣ(B) 、電費平均値ＣＦＣave(B)、発電可能量平均値ＧＰave(B)、使用頻度Ｒ(B) を算出して、それらの記憶データを更新する。
【００３４】
以下、走行中に、同様の方法で、クラスＣ、クラスＤ、……クラスＹ、クラスＺの電費平均値ＣＦＣave(C)〜ＣＦＣave(Z)、発電可能量平均値ＧＰave(C)〜ＧＰave(Z)、使用頻度Ｒ(C) 〜Ｒ(Z) を算出して、これらのデータを更新する。
【００３５】
［平均消費電力算出ルーチン］
図５の平均消費電力算出ルーチンは、エンジン運転中に所定周期（例えば８ｍｓ周期）で実行される。本ルーチンが起動されると、まずステップ３０１で、車両で消費される演算周期当たりの消費電力ＣＰを算出する。この後、ステップ３０２に進み、前回の平均消費電力 oldＣＰave と合計サンプル数ＮＦＣtotal と今回の消費電力ＣＰから、平均消費電力ＣＰave を次式により算出する。
ＣＰave ＝｛ oldＣＰave ×（ＮＦＣtotal −１）＋ＣＰ｝／ＮＦＣtotal
【００３６】
［目標電費算出ルーチン］
図６の目標電費算出ルーチンは、エンジン運転中に所定周期（例えば８ｍｓ周期）で実行され、次のようにして目標電費ＴＣＦＣを算出する。本ルーチンが起動されると、まずステップ４０１で、各クラスＡ〜Ｚの発電可能量平均値ＧＰave(A)〜ＧＰave(Z)にそれぞれ使用頻度Ｒ(A) 〜Ｒ(Z) を乗算して各クラスＡ〜Ｚの発電可能量ＧＰ(A) 〜ＧＰ(Z) を求める。
【００３７】
ＧＰ(A) ＝ＧＰave(A)×Ｒ(A)
ＧＰ(B) ＝ＧＰave(B)×Ｒ(B)
・・・・・・・・・・・・・
ＧＰ(Z) ＝ＧＰave(Z)×Ｒ(Z)
【００３８】
この後、ステップ４０２に進み、クラスＡでの充放電収支ＢＡＬ(A) を、クラスＡの発電可能量ＧＰ(A) から平均消費電力ＣＰave を差し引いて求める。
ＢＡＬ(A) ＝ＧＰ(A) −ＣＰave
【００３９】
この後、ステップ４０２に進み、クラスＡからクラスＢまでの充放電収支ＢＡＬ(B) をクラスＡでの充放電収支ＢＡＬ(A) にクラスＢの発電可能量ＧＰ(B) を足し合わせて求める。
ＢＡＬ(B) ＝ＢＡＬ(A) ＋ＧＰ(B)
【００４０】
以下、同様の処理を各クラスＣ〜Ｚ毎に繰り返すことで、クラスＡから各クラスＣ〜Ｚまでの充放電収支ＢＡＬ(C) 〜ＢＡＬ(Z) を算出する（ステップ４０４）。
ＢＡＬ(C) ＝ＢＡＬ(B) ＋ＧＰ(C)
・・・・・・・・・・・・・・・
ＢＡＬ(Z) ＝ＢＡＬ(Y) ＋ＧＰ(Z)
【００４１】
この後、ステップ４０５ａに進み、クラスＡでの充放電収支ＢＡＬ(A) が０より大きいか否か（プラス値であるか否か）を判定する。その結果、クラスＡでの充放電収支ＢＡＬ(A) が０より大きい（プラス値）と判定されれば、クラスＡのみの発電で充放電収支が取れる（クラスＡの範囲内で目標電費ＴＣＦＣを設定すれば良い）と判断して、ステップ４０６ａに進み、クラスＡの上限値［Ａ］、充放電収支ＢＡＬ(A) 、発電可能量ＧＰ(A) を用いて、目標電費ＴＣＦＣを次式により算出する。
ＴＣＦＣ＝Ａ−（Ａ−０）×ＢＡＬ(A) ／ＧＰ(A)
これにより、クラスＡの範囲内で充放電収支が０となる電費を算出して、この電費を目標電費ＴＣＦＣとする。
【００４２】
一方、上記ステップ４０５ａで、クラスＡでの充放電収支ＢＡＬ(A) が０以下（マイナス値）と判定されれば、ステップ４０５ｂに進み、クラスＡからクラスＢまでの充放電収支ＢＡＬ(B) が０より大きいか否か（プラス値であるか否か）を判定する。その結果、クラスＡからクラスＢまでの充放電収支ＢＡＬ(B) が０より大きい（プラス値）と判定されれば、クラスＡからクラスＢまでの発電で充放電収支が取れる（クラスＢの範囲内で目標電費ＴＣＦＣを設定すれば良い）と判断して、ステップ４０６ｂに進み、クラスＢの上限値［Ｂ］、充放電収支ＢＡＬ(B) 、発電可能量ＧＰ(B) を用いて、目標電費ＴＣＦＣを次式により算出する。
ＴＣＦＣ＝Ｂ−（Ｂ−Ａ）×ＢＡＬ(B) ／ＧＰ(B)
これにより、クラスＢの範囲内で充放電収支が０となる電費を算出して、この電費を目標電費ＴＣＦＣとする。
【００４３】
以下、同様の処理を各クラスＣ〜Ｙ毎に繰り返すことで、充放電収支が０以上となる最小のクラスを探索して、充放電収支が０以上となる最小のクラスの範囲内で充放電収支が０となる電費を算出して、この電費を目標電費ＴＣＦＣとする（ステップ４０５ｙ、４０６ｙ）。
ＴＣＦＣ＝Ｃ−（Ｃ−Ｂ）×ＢＡＬ(C) ／ＧＰ(C)
・・・・・・・・・・・・・・・・・・・・・・
ＴＣＦＣ＝Ｙ−（Ｙ−Ｘ）×ＢＡＬ(Y) ／ＧＰ(Y)
【００４４】
クラスＡからクラスＹまでの充放電収支ＢＡＬ(Y) が０以下（マイナス値）となる場合は、クラスＡからクラスＹまでの範囲を使用して発電しても、充放電収支が取れないことを意味するため、ステップ４０６ｚに進み、目標電費ＴＣＦＣを許容される最大の電費であるクラスＺの上限値［Ｚ］に設定する。
ＴＣＦＣ＝Ｚ
【００４５】
［目標電費補正量算出ルーチン］
図７の目標電費補正量算出ルーチンは、エンジン運転中に所定周期（例えば８ｍｓ周期）で実行され、次のようにして目標電費補正量ＴＣＦＣcmp を算出する。本ルーチンが起動されると、まずステップ５０１で、現在のＳＯＣ（バッテリ充電割合）と目標ＳＯＣとの偏差を小さくするように目標電費ＴＣＦＣをフィードバック補正するためのＩ項（積分項）補正量Ｉcmp(i)を次式により算出する。
Ｉcmp(i)＝Ｉcmp(i-1)＋（ＳＯＣ−目標ＳＯＣ）×ＫＩ
ここで、Ｉcmp(i-1)は前回のＩ項補正量、ＫＩはＩ項ゲインである。
【００４６】
この後、ステップ５０２に進み、目標電費ＴＣＦＣをＰＩ制御（比例積分制御）によりフィードバック補正するための目標電費補正量ＴＣＦＣcmp を、Ｐ項（比例項）補正量Ｐcmp(i)とＩ項補正量Ｉcmp(i)とを加算して求める。
ＴＣＦＣcmp ＝Ｐcmp(i)＋Ｉcmp(i)
＝（ＳＯＣ−目標ＳＯＣ）×ＫＰ＋Ｉcmp(i)
ここで、ＫＰはＰ項ゲインである。
【００４７】
［発電実行判定ルーチン］
図８の発電実行判定ルーチンは、エンジン運転中に所定周期（例えば８ｍｓ周期）で実行される。本ルーチンが起動されると、まずステップ６０１で、前記図６の目標電費算出ルーチンで算出した目標電費ＴＣＦＣに上記目標電費補正量ＴＣＦＣcmp を加算することで、目標電費ＴＣＦＣを目標電費補正量ＴＣＦＣcmp で補正して最終目標電費ＴＣＦＣｆを求める。
ＴＣＦＣｆ＝ＴＣＦＣ＋ＴＣＦＣcmp
このステップ６０１の処理が図７の目標電費補正量算出ルーチンと共に特許請求の範囲でいう目標値補正手段としての役割を果たす。
【００４８】
この後、ステップ６０２に進み、現在の電費ＣＦＣが最終目標電費ＴＣＦＣｆよりも大きいか否かを判定し、現在の電費ＣＦＣが最終目標電費ＴＣＦＣｆよりも大きければ、ステップ６０３に進み、発電指令値を０にセットして、発電機１６の発電を停止させる。これにより、バッテリ１２の過充電を防止する。
【００４９】
一方、現在の電費ＣＦＣが最終目標電費ＴＣＦＣｆ以下であれば、ステップ６０４に進み、発電指令値を要求発電量にセットする。これにより、走行中（エンジン運転中）に、発電機１６の界磁コイルに発電指令値に応じた制御電流を流して、要求発電量に応じた電力を発電させることで、電費ＣＦＣを最終目標電費ＴＣＦＣｆに制御して、ＳＯＣ（バッテリ充電割合）を目標ＳＯＣに収束させる。ここで、要求発電量は、現在のエンジン回転速度に応じてマップ等により算出される。
【００５０】
以上説明した本実施例１では、単位発電量当たりの燃料消費量増加分である電費ＣＦＣをバッテリ１２の充電割合（ＳＯＣ）に応じて補正された最終目標電費ＴＣＦＣｆと比較して発電機１６の発電を制御するようにしたので、発電を実行する運転条件を予め設定されたマップで決定する従来の発電制御方式と比較して、マップの精度や車両の使用環境（走行道路状況の相違、運転者による車速・加減速の相違等）や車両特性のばらつきの影響が少なくなり、実際のバッテリ１２の充電割合（ＳＯＣ）に応じて必要な発電量を確保しつつ、発電による燃料消費量増加分を確実に低減することができ、燃費低減と充放電収支の両立が可能となる。
【００５１】
しかも、本実施例１では、バッテリ１２の充放電収支が０となるように目標費ＴＣＦＣを設定するようにしたので、必要最小限の発電量でバッテリ１２を過不足なく充電することができる。
【００５２】
更に、本実施例１では、過去の走行履歴における電費ＣＦＣのクラス毎の使用頻度と発電可能量と平均消費電力とに基づいて目標電費ＴＣＦＣを設定するようにしたので、車両の使用環境（走行道路状況の相違、運転者による車速・加減速の相違等）や車両特性のばらつきに合わせて目標電費ＴＣＦＣを自動的に精度良く設定することができる。
【００５３】
この場合、過去の走行履歴における電費ＣＦＣのクラス毎の使用頻度のみに基づいて目標電費ＴＣＦＣを設定したり、電費ＣＦＣのクラス毎の使用頻度と発電可能量とに基づいて目標電費ＴＣＦＣを設定しても良い。
【実施例２】
【００５４】
上記実施例１では、バッテリ１２の充放電収支の基準点を“０”としたが、図９乃至図１１に示す本発明の実施例２では、バッテリ１２のＳＯＣを目標ＳＯＣに一致させるのに必要な充放電量に応じてバッテリ１２の充放電収支の基準点を補正するようにしている。以下、本実施例２で実行する図９乃至図１１の各ルーチンの処理内容を説明する。
【００５５】
図９の充放電収支基準点補正量算出ルーチンは、エンジン運転中に所定周期（例えば８ｍｓ周期）で実行される。本ルーチンが起動されると、ステップ７０１で、目標ＳＯＣと現在のＳＯＣとの偏差に満充電量とバッテリ電圧を乗算して、バッテリ１２のＳＯＣを目標ＳＯＣに一致させるのに必要な充放電量を算出し、この充放電量に補正ゲインＫＧを乗算して充放電収支基準点補正量ＢＡＬcmp を求める。
ＢＡＬcmp ＝（目標ＳＯＣ−ＳＯＣ）×満充電量×バッテリ電圧×ＫＧ
【００５６】
前述した実施例１で実行する図６の目標電費算出ルーチンでは、ステップ４０５ａ〜４０５ｙにおいて、各クラスＡ〜Ｙの充放電収支ＢＡＬ(A) 〜ＢＡＬ(Y) の基準点を“０”に設定して、各クラスＡ〜Ｙの充放電収支ＢＡＬ(A) 〜ＢＡＬ(Y) が“０”よりも大きいか否かで、バッテリ１２の充放電収支がバランスする最小のクラスを探索するようにしたが、本実施例２で実行する図１０の目標電費算出ルーチンでは、ステップ４０５ａ’〜４０５ｙ’において、各クラスＡ〜Ｙの充放電収支ＢＡＬ(A) 〜ＢＡＬ(Y) の基準点として、図９の充放電収支基準点補正量算出ルーチンで算出した充放電収支基準点補正量ＢＡＬcmp を用い、各クラスＡ〜Ｙの充放電収支ＢＡＬ(A) 〜ＢＡＬ(Y) が充放電収支基準点補正量ＢＡＬcmp よりも大きいか否かで、バッテリ１２の充放電収支が充放電収支基準点補正量ＢＡＬcmp 以上となる最小のクラスを探索する。そして、この最小のクラスの範囲内で充放電収支が充放電収支基準点補正量ＢＡＬcmp と一致する電費を算出して、この電費を目標電費ＴＣＦＣとする（ステップ４０６ａ’〜４０６ｙ’）。
【００５７】
ＴＣＦＣ＝Ａ−（Ａ−０）×｛ＢＡＬ(A) −ＢＡＬcmp ｝／ＧＰ(A)
ＴＣＦＣ＝Ｂ−（Ｂ−Ａ）×｛ＢＡＬ(B) −ＢＡＬcmp ｝／ＧＰ(B)
ＴＣＦＣ＝Ｃ−（Ｃ−Ｂ）×｛ＢＡＬ(C) −ＢＡＬcmp ｝／ＧＰ(C)
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
ＴＣＦＣ＝Ｙ−（Ｙ−Ｘ）×｛ＢＡＬ(Y) −ＢＡＬcmp ｝／ＧＰ(Y)
【００５８】
図１０の目標電費算出ルーチンは、ステップ４０５ａ’〜４０５ｙ’、４０６ａ’〜４０６ｙ’を除いて、前述した図６の目標電費算出ルーチンの各ステップの処理と同じである。
【００５９】
図１１の発電実行判定ルーチンは、エンジン運転中に所定周期（例えば８ｍｓ周期）で実行される。本ルーチンが起動されると、まずステップ８０１で、現在の電費ＣＦＣが目標電費ＴＣＦＣよりも大きいか否かを判定し、現在の電費ＣＦＣが目標電費ＴＣＦＣよりも大きければ、ステップ８０２に進み、発電指令値を０にセットして、発電機１６の発電を停止させる。これにより、バッテリ１２の過充電を防止する。一方、現在の電費ＣＦＣが目標電費ＴＣＦＣ以下であれば、ステップ８０３に進み、発電指令値を要求発電量にセットする。これにより、走行中（エンジン運転中）に、発電機１６の界磁コイルに発電指令値に応じた制御電流を流して、要求発電量に応じた電力を発電させることで、電費ＣＦＣを目標電費ＴＣＦＣに制御して、バッテリ１２のＳＯＣを目標ＳＯＣに収束させる。ここで、要求発電量は、現在のエンジン回転速度等に基づいて算出される。
【００６０】
以上説明した本実施例２では、バッテリ１２のＳＯＣを目標ＳＯＣに一致させるのに必要な充放電量に応じて充放電収支基準点補正量ＢＡＬcmp を算出し、各クラスＡ〜Ｙの充放電収支ＢＡＬ(A) 〜ＢＡＬ(Y) が充放電収支基準点補正量ＢＡＬcmp 以上となる最小のクラスを探索して、この最小のクラスの範囲内で充放電収支が充放電収支基準点補正量ＢＡＬcmp と一致する電費を算出して、この電費を目標電費ＴＣＦＣとするようにしたので、低燃費の要求を満たしつつ、バッテリ１２の目標ＳＯＣへの収束性を高めることができる。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施例１のシステム構成を説明するブロック図である。
【図２】燃料消費率とエンジン運転条件との関係を示す図である。
【図３】実施例１の電費算出ルーチンの処理の流れを示すフローチャートである。
【図４】実施例１の電費クラスデータ蓄積ルーチンの処理の流れを示すフローチャートである。
【図５】実施例１の平均消費電力算出ルーチンの処理の流れを示すフローチャートである。
【図６】実施例１の目標電費算出ルーチンの処理の流れを示すフローチャートである。
【図７】実施例１の目標電費補正量算出ルーチンの処理の流れを示すフローチャートである。
【図８】実施例１の発電実行判定ルーチンの処理の流れを示すフローチャートである。
【図９】実施例２の充放電収支基準点補正量算出ルーチンの処理の流れを示すフローチャートである。
【図１０】実施例２の目標電費算出ルーチンの処理の流れを示すフローチャートである。
【図１１】実施例２の発電実行判定ルーチンの処理の流れを示すフローチャートである。
【符号の説明】
【００６２】
１１…制御装置（充電状態検出手段，発電制御手段，燃料消費量算出手段，目標値補正手段）、１２…バッテリ、１３…キースイッチ、１６…発電機、１７…電流センサ、１８…電圧センサ
【図１】
2006340514.tif 000003
【図２】
2006340514.tif 000004
【図３】
2006340514.tif 000005
【図４】
2006340514.tif 000006
【図５】
2006340514.tif 000007
【図６】
2006340514.tif 000008
【図７】
2006340514.tif 000009
【図８】
2006340514.tif 000010
【図９】
2006340514.tif 000011
【図１０】
2006340514.tif 000012
【図１１】
2006340514.tif 000013