(57)【特許請求の範囲】
【請求項１】
車両に搭載される二次電池の充電を制御する二次電池充電制御装置において、
前記二次電池を充電するオルタネータと、
前記二次電池の充電率を求出する求出手段と、
前記オルタネータによって前記二次電池を充電する際に、定電流充電から定電圧充電に変化する変化点を検出する検出手段と、
前記検出手段によって検出された前記変化点における充電率を前記求出手段から取得し、この充電率を下回るように、前記オルタネータによる前記二次電池の充電を制御する制御手段と、
を有することを特徴とする二次電池充電制御装置。
【請求項２】
前記オルタネータは、前記車両の減速時において、前記二次電池に対して回生充電を行うことを特徴とする請求項１に記載の二次電池充電制御装置。
【請求項３】
前記制御手段は、前記変化点における充電率よりも小さい所定の充電率を下回るように制御を行うことを特徴とする請求項１または２に記載の二次電池充電制御装置。
【請求項４】
前記変化点の検出は、前記車両のエンジンを始動した後に実行し、
前記制御手段は、検出された変化点に基づいて前記二次電池の充電制御を行うことを特徴とする請求項１乃至３のいずれか1項に記載の二次電池充電制御装置。
【請求項５】
車両に搭載される二次電池のオルタネータによる充電を制御する二次電池充電制御方法において、
前記二次電池の充電率を求出する求出ステップと、
前記オルタネータによって前記二次電池を充電する際に、一定の電流による充電である定電流充電から、一定の電圧による充電である定電圧充電に変化する変化点を検出する検出ステップと、
前記検出ステップによって検出された前記変化点における充電率を前記求出ステップから取得し、この充電率を下回るように、前記オルタネータによる前記二次電池の充電を制御する制御ステップと、
を有することを特徴とする二次電池充電制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次電池充電制御装置および二次電池状態検出方法に関するものである。
【背景技術】
【０００２】
近年、自動車の燃費向上のために、自動車の減速時にオルタネータの電圧を高く設定することで、自動車が有する運動エネルギを電気エネルギに変換（回生）して、バッテリ（二次電池）に蓄える技術が広く用いられている。
【０００３】
このような回生を効率よく行うためには、バッテリの充電状態が予め定めた設定値になるように制御する必要がある。そこで、特許文献１に開示された技術では、回生発電開始からｔ秒経過後の充電電流値Ａと予め設定した閾値範囲の上下限値Ｂ１，Ｂ２を比較し、Ａ＞Ｂ１のときはバッテリ充電状態（ＳＯＣ）が小さいと推定して放電量を回生発電で得られた充電量より少なくし、Ａ＜Ｂ２のときはバッテリ充電状態が大きいと推定して放電量を回生発電で得られた充電量より多くする制御を行うことで、バッテリを常時充電可能な状態にし、回生発電による燃費低減効果を確保することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−５２１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に開示された技術では、バッテリの受け入れ性が悪いＳＯＣの範囲で制御が行われる場合があり、その場合、バッテリの充電効率が低下することから、燃費低減効果が抑制されるという問題点がある。
【０００６】
本発明は、二次電池の充電効率を高めることが可能な二次電池充電制御装置および二次電池充電制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、車両に搭載される二次電池の充電を制御する二次電池充電制御装置において、前記二次電池を充電するオルタネータと、前記二次電池の充電率を求出する求出手段と、前記オルタネータによって前記二次電池を充電する際に、定電流充電から定電圧充電に変化する変化点を検出する検出手段と、前記検出手段によって検出された前記変化点における充電率を前記求出手段から取得し、この充電率を下回るように、前記オルタネータによる前記二次電池の充電を制御する制御手段と、を有することを特徴とする。
このような構成によれば、二次電池の充電効率を高めることが可能となる。
【０００８】
また、本発明は、前記オルタネータは、前記車両の減速時において、前記二次電池に対して回生充電を行うことを特徴とする。
このような構成によれば、回生時の充電効率を高めることが可能になる。
【０００９】
また、本発明は、前記制御手段は、前記変化点における充電率よりも小さい所定の充電率を下回るように制御を行うことを特徴とする。
このような構成によれば、回生充電中に、充電率が変化点を超えてしまうことを防止できる。
【００１０】
また、本発明は、前記変化点の検出は、前記車両のエンジンを始動した後に実行し、前記制御手段は、検出された変化点に基づいて前記二次電池の充電制御を行うことを特徴とする。
このような構成によれば、最新の変化点に基づいて制御を行うことができるので、制御をより正確に行うことができる。
【００１１】
また、本発明は、車両に搭載される二次電池のオルタネータによる充電を制御する二次電池充電制御方法において、前記二次電池の充電率を求出する求出ステップと、前記オルタネータによって前記二次電池を充電する際に、一定の電流による充電である定電流充電から、一定の電圧による充電である定電圧充電に変化する変化点を検出する検出ステップと、前記検出ステップによって検出された前記変化点における充電率を前記求出ステップから取得し、この充電率を下回るように、前記オルタネータによる前記二次電池の充電を制御する制御ステップと、を有することを特徴とする。
このような方法によれば、二次電池の充電効率を高めることが可能となる。
【発明の効果】
【００１２】
本発明によれば、二次電池の充電効率を高めることが可能な二次電池充電制御装置および二次電池状態検出方法を提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る二次電池充電制御装置の構成例を示す図である。
【図２】図１の制御部の詳細な構成例を示すブロック図である。
【図３】本実施形態の動作の概要を説明するための図である。
【図４】本実施形態の動作原理を説明するための図である。
【図５】本実施形態の動作原理を説明するための図である。
【図６】本実施形態の動作原理を説明するための図である。
【図７】本実施形態の動作原理を説明するための図である。
【図８】本実施形態の動作原理を説明するための図である。
【図９】本発明の実施形態で実行される処理の一例を説明するためのフローチャートである。
【図１０】本発明の実施形態で実行される処理の一例を説明するためのフローチャートである。
【図１１】本発明の実施形態で実行される処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
次に、本発明の実施形態について説明する。
【００１５】
（Ａ）実施形態の構成の説明
図１は、本発明の実施形態に係る二次電池充電制御装置を有する車両の電源系統を示す図である。この図において、二次電池充電制御装置１は、制御部１０、電圧センサ１１、電流センサ１２、温度センサ１３、および、放電回路１５を主要な構成要素としており、二次電池１４の状態を検出する。ここで、制御部１０は、電圧センサ１１、電流センサ１２、および、温度センサ１３からの出力を参照し、二次電池１４の状態を検出する。電圧センサ１１は、二次電池１４の端子電圧を検出し、制御部１０に通知する。電流センサ１２は、二次電池１４に流れる電流を検出し、制御部１０に通知する。温度センサ１３は、二次電池１４自体または周囲の環境温度を検出し、制御部１０に通知する。放電回路１５は、例えば、直列接続された半導体スイッチと抵抗素子等によって構成され、制御部１０によって半導体スイッチがオン／オフ制御されることにより二次電池１４を間欠的に放電させる。
【００１６】
二次電池１４は、例えば、鉛蓄電池、ニッケルカドミウム電池、ニッケル水素電池、または、リチウムイオン電池等によって構成され、オルタネータ１６によって充電され、スタータモータ１８を駆動してエンジンを始動するとともに、負荷１９に電力を供給する。オルタネータ１６は、エンジン１７によって駆動され、交流電力を発生して整流回路によって直流電力に変換し、二次電池１４を充電する。
【００１７】
エンジン１７は、例えば、ガソリンエンジンおよびディーゼルエンジン等のレシプロエンジンまたはロータリーエンジン等によって構成され、スタータモータ１８によって始動され、トランスミッションを介して駆動輪を駆動し車両に推進力を与えるとともに、オルタネータ１６を駆動して電力を発生させる。スタータモータ１８は、例えば、直流電動機によって構成され、二次電池１４から供給される電力によって回転力を発生し、エンジン１７を始動する。負荷１９は、例えば、電動ステアリングモータ、デフォッガ、イグニッションコイル、カーオーディオ、および、カーナビゲーション等によって構成され、二次電池１４からの電力によって動作する。
【００１８】
図２は、図１に示す制御部１０の詳細な構成例を示す図である。この図に示すように、制御部１０は、ＣＰＵ（Central Processing Unit）１０ａ、ＲＯＭ（Read Only Memory）１０ｂ、ＲＡＭ（Random Access Memory）１０ｃ、通信部１０ｄ、Ｉ／Ｆ（Interface）１０ｅを有している。ここで、ＣＰＵ１０ａは、ＲＯＭ１０ｂに格納されているプログラム１０ｂａに基づいて各部を制御する。ＲＯＭ１０ｂは、半導体メモリ等によって構成され、プログラム１０ｂａ等を格納している。ＲＡＭ１０ｃは、半導体メモリ等によって構成され、プログラムｂａを実行する際に生成されるデータや、後述するテーブルまたは数式等のパラメータ１０ｃａを格納する。通信部１０ｄは、上位の装置であるＥＣＵ（Electronic Control Unit）等との間で通信を行い、検出した情報を上位装置に通知する。Ｉ／Ｆ１０ｅは、電圧センサ１１、電流センサ１２、および、温度センサ１３から供給される信号をデジタル信号に変換して取り込むとともに、放電回路１５に駆動電流を供給してこれを制御する。
【００１９】
（Ｂ）実施形態の動作原理の説明
つぎに、図を参照して、実施形態の動作原理について説明する。図３は二次電池１４のＳＯＣと充電受け入れ性の関係を示す図である。この図３に示すように、二次電池１４のＳＯＣが０〜Ａ１％の範囲は、充電受け入れ性は良いが、エンジン１７の再始動不可のおそれがあるＳＯＣ範囲である。また、ＳＯＣがＡ１〜Ａ２％の範囲は、充電受け入れ性は良く、エンジン１７の再始動不可のおそれがないＳＯＣ範囲である。さらに、ＳＯＣがＡ２〜１００％の範囲は、充電受け入れ性は悪いが、エンジンの再始動不可のおそれがないＳＯＣ範囲である。本実施形態では、図３のＳＯＣがＡ１〜Ａ２％の範囲となるように制御することで、回生発電時において、オルタネータ１６が発生した電力を、効率よく二次電池１４に充電することを可能とし、これによって、燃費性能を改善することができる。
【００２０】
つぎに、本発明の詳細な動作原理を、図４を参照して説明する。図４は、二次電池１４のＳＯＣと、二次電池１４の充電電流との関係を示す図である。この図４において、間隔の長い破線は二次電池１４の充電可能な最大電流を示し、間隔の短い破線は二次電池１４に供給可能な最大電流を示している。より詳細には、間隔の短い破線で示す二次電池１４に供給可能な最大電流は、オルタネータ１６の容量と負荷電流によって定まるため、二次電池１４のＳＯＣがＢ３よりも小さい場合には一定の値（この図４の例ではＩｃ）となる。一方、間隔の長い破線で示す二次電池１４の充電可能な最大電流は、ＳＯＣが大きくなるにつれて減少する。このため、間隔の短い破線で示す二次電池１４に供給可能な最大電流と、間隔の長い破線で示す二次電池１４の充電可能な最大電流とが交わるポイントであるＢ３よりもＳＯＣが大きくなった場合には、ＳＯＣの増加とともに、オルタネータ１６から供給される電流は充電されなくなる。
【００２１】
そこで、本発明の実施形態では、二次電池１４に供給可能な最大電流を示す間隔の短い破線と、二次電池１４の充電可能な最大電流を示す間隔の長い破線とが交差するＢ３よりもマージン分だけ小さいＢ２をＳＯＣの上限値とするとともに、Ｂ２より所定量低いＳＯＣをＢ１と定義し、二次電池１４のＳＯＣがＢ１〜Ｂ２の範囲となるように制御を行うことで、回生発電の際の二次電池１４の受け入れ性を向上させ、燃費の改善を図ることができる。なお、エンジン１７の再始動が確保できるＳＯＣよりも所定量高いＳＯＣをＢ１とし、二次電池１４のＳＯＣがＢ１〜Ｂ２の範囲となるように制御を行うようにしてもよい。さらに、図４に示すＢ１が、図３に示すＡ１を下回る場合には、ＳＯＣの制御を停止し、二次電池１４の交換を促すようにしてもよい。
【００２２】
ところで、図４に示す、Ｂ３のポイントは、二次電池１４の状態、経年変化、周辺の温度等によって異なる。このため、本発明の実施形態では、例えば、エンジン１７を始動した際に、このＢ３となるポイントを検出し、検出したＢ３からＢ２を求める。そして、求めたＢ２に基づいて充電制御を行う。これについて、図５および図６を参照して説明する。
【００２３】
図５は、二次電池１４のＳＯＣが図４に示すＢ３よりも少し小さい状態からＢ３を超える状態に変化した場合における、回生発電時の電流と電圧の関係を示している。図５の最上段に示すように、この例では、車両は走行と回生とを繰り返し実行している。時間ｔ３よりも前の状態では、二次電池１４のＳＯＣはＢ３よりも小さい状態であるので、二次電池１４はオルタネータ１６によって定電流（Constant Current）による充電が実行される。すなわち、オルタネータ１６から二次電池１４へは一定の電流Ｉｃが流れ、二次電池１４の電圧は充電の進行に応じて増加する。そして、時間ｔ３よりも後になると、オルタネータ１６から二次電池１４に流れる電流はＩｃよりも小さくなるとともに、二次電池１４の端子電圧は一定になることから、定電圧（Constant Voltage）充電に移行する。
【００２４】
図６は、定電流充電から定電圧充電に変化する場合の電圧と電流の時間的変化を示している。この図６に示すように、定電流充電の状態ではオルタネータ１６から二次電池１４に流れる電流は一定であることから電流の時間的変化ΔＩ≒０となり、二次電池１４に印加される電圧の時間的変化ΔＶ＞０となる。そして、定電流充電から定電圧充電に変化すると、二次電池１４に印加される電圧は一定であることから電圧の時間的変化ΔＶ≒０となり、オルタネータ１６から二次電池１４に流れる電流の時間的変化ΔＩ＜０となる。
【００２５】
本実施形態では、エンジン１７が始動された場合には、まず、二次電池１４のＳＯＣが増加するように制御を行う。これによって、二次電池１４のＳＯＣが増加し、図４に示すＢ３を超えた場合には、定電流充電から定電圧充電に変化するので、この変化点を検出してＢ３とする。ここで、変化点を検出する方法としては、例えば、電圧Ｖと電流Ｉを所定の間隔（例えば、数ミリ秒〜数十ミリ秒間隔）で測定する。そして、測定した電圧Ｖと電流Ｉの時系列データを古い順にＶ３，Ｖ２，Ｖ１，Ｖ０およびＩ３，Ｉ２，Ｉ１，Ｉ０とした場合に、図７に示すように、電圧が単調増加から一定に変化するとともに、電流が一定から単調減少に変化するタイミングのＳＯＣをＢ３に設定する。そして、変化点を特定した後は、このＢ３から数％（例えば１％）を減じて得た値をＢ２としてＳＯＣの上限に設定するとともに、Ｂ２より所定量低いＳＯＣをＢ１に設定し、二次電池１４のＳＯＣがこのＢ１〜Ｂ２の範囲内に収まるように充電制御を行う。なお、前述したように、エンジン１７の再始動が確保できるＳＯＣよりも所定量高いＳＯＣをＢ１とし、二次電池１４のＳＯＣがＢ１〜Ｂ２の範囲となるように制御を行うようにしてもよい。
【００２６】
このような制御によれば、二次電池１４は、図４に示すＢ２よりもＳＯＣが低い状態に保たれることから、回生発電が行われた場合には、オルタネータ１６から供給される電流が全て二次電池１４に受け入れられて蓄積されることになる。この結果、回生充電時の充電効率を高めることで、自動車の運動エネルギを電気エネルギに変換して効率良く蓄えることができる。また、変化点のＳＯＣであるＢ３ではなく、マージンを有するＢ２を上限として使用することで、例えば、回生充電中にＢ３を超えてしまうことで、電力が充電されずに浪費されることを防止できる。なお、マージン値としては、１回の回生充電でのＳＯＣの増加は、車種や二次電池１４の種類にもよるが、一般的には１％以内であるので、１％をマージン値とすることができる。もちろん、余裕をみて数％に設定してもよい。
【００２７】
つぎに、図８を参照して本発明の実施形態の動作をより具体的に説明する。図８において、実線は車速の時間的な変化を示している。この図の例では、時間Ｔ１において車両は加速を始め、時間Ｔ２で定速走行に移行し、時間Ｔ３から減速し、時間Ｔ４で停車している。一方、二点鎖線は従来技術により二次電池１４に流れる充電電流を示し、一点鎖線は本実施形態により二次電池１４に流れる充電電流を示している。これらを比較すると、従来技術では、二次電池１４のＳＯＣが図４に示すＢ３を超えた状態で運用される場合があり、その場合にはオルタネータ１６から供給される電流を全て受け入れできないため、二点鎖線で示すように電流が時間の経過とともに減少する。それに対して、本実施形態では、二次電池１４のＳＯＣは図４に示すＢ２を超えない状態で運用されることから、一点鎖線で示すように、波形がクリップすることなく、最大の電流がオルタネータ１６から二次電池１４に流れる。このため、回生による充電を効率良く実行することができる。本実施形態により、減速時に二次電池１４を効率良く充電することで、アイドリング時、加速時、および、定速走行時等における充電の頻度を低下させ、燃費を改善することができる。
【００２８】
つぎに、図９および図１０を参照して、本実施形態において実行される処理の一例について説明する。まず、図９はエンジン１７の始動から停止までに実行される処理の一例を説明するためのフローチャートである。このフローチャートの処理が開始されると、以下のステップが実行される。
【００２９】
ステップＳ１０では、ＣＰＵ１０ａは、ＳＯＣｍａｘを前回算出してから所定時間以上が経過したか否かを判定し、所定時間以上が経過したと判定した場合（ステップＳ１０：Ｙｅｓ）にはステップＳ１３に進み、それ以外の場合（ステップＳ１０：Ｎｏ）にはステップＳ１１に進む。例えば、前回算出してから１日以上が経過している場合には、所定時間以上が経過していると判定してステップＳ１３に進む。なお、この処理は、前回算出から所定時間以上が経過していない場合には、電池の状態が大幅には変化しないことから、前回測定したＳＯＣｍａｘを再使用できるからである。
【００３０】
ステップＳ１１では、ＣＰＵ１０ａは、前回算出したＳＯＣｍａｘを使用すると判定する。この結果、前回のＳＯＣｍａｘが図１０の処理によって使用され、充電の制御がなされることになる。
【００３１】
ステップＳ１２では、ＣＰＵ１０ａは、Ｂ２＝ＳＯＣｍａｘ−ｍｒｇ１によってＢ２を求めるとともに、Ｂ１＝Ｂ２−ｍｒｇ２によってＢ１を求める。なお、このＢ２は、図４に示すＢ２に対応し、また、ｍｒｇ１は、図４に示すＢ３とＢ２の差分（＝Ｂ３−Ｂ２）に対応する値である。ｍｒｇ１としては、例えば、数％程度（好適には１％）とすることができる。なお、このようにマージンを設定するのは、マージンを持たせない場合には、回生充電中にＢ３を超えてしまって、定電圧充電に移行してしまうことを防止するためである。ｍｒｇ１の具体的な値としては、一般的には１回の回生充電で増加するＳＯＣは１％以内であるので、１％に設定すればよい。もちろん、余裕をみて数％に設定してもよい。また、Ｂ１としては、Ｂ２より所定量（＝ｍｒｇ２）低いＳＯＣをＢ１に設定する。このｍｒｇ２としては、例えば、数％程度とすることができる。なお、Ｂ１をＢ２から求めるのではなく、エンジン１７の再始動が確保できるＳＯＣよりも所定量高いＳＯＣをＢ１としてもよい。
【００３２】
ステップＳ１３では、ＣＰＵ１０ａは、変数Ｖ０〜Ｖ３に格納されている電圧値を一つずつ移動させる。すなわち、３回前の処理で測定されて変数Ｖ２に格納されている電圧値を変数Ｖ３に移動し、２回前の処理で測定されて変数Ｖ１に格納されている電圧値を変数Ｖ２に移動し、１回前の処理で測定されて変数Ｖ０に格納されている電圧値を変数Ｖ１に移動する。
【００３３】
ステップＳ１４では、ＣＰＵ１０ａは、変数Ｉ０〜Ｉ３に格納されている電流値を一つずつ移動させる。すなわち、３回前の処理で測定されて変数Ｉ２に格納されている電圧値を変数Ｉ３に移動し、２回前の処理で測定されて変数Ｉ１に格納されている電流値を変数Ｉ２に移動し、１回前の処理で測定されて変数Ｉ０に格納されている電流値を変数Ｉ１に移動する。
【００３４】
ステップＳ１５では、ＣＰＵ１０ａは、変数ＳＯＣ０〜ＳＯＣ３に格納されているＳＯＣの値を一つずつ移動させる。すなわち、３回前の処理で算出されて変数ＳＯＣ２に格納されているＳＯＣの値を変数ＳＯＣ３に移動し、２回前の処理で算出されてＳＯＣ１に格納されているＳＯＣの値を変数ＳＯＣ２に移動し、１回前の処理で算出されて変数ＳＯＣ０に格納されているＳＯＣの値を変数ＳＯＣ１に移動する。
【００３５】
ステップＳ１６では、ＣＰＵ１０ａは、電圧センサ１１および電流センサ１２の出力を参照して最新の電圧値および電流値を取得してＶ０およびＩ０にそれぞれ格納するとともに、例えば、電流の積算によって求めた最新のＳＯＣの値をＳＯＣ０に格納する。なお、ＳＯＣを算出する方法としては、例えば、エンジン１７の停止時であって、二次電池１４の状態が安定しているときに、放電回路１５を用いて二次電池１４をパルス放電させ、そのときの電圧および電流から計算される内部抵抗を用いてＳＯＣを求めることができる。あるいは、二次電池１４の電圧変動が安定したと判定されるときの電圧値（開回路電圧）からＳＯＣを求めることができる。そして、エンジン１７の始動後は、このＳＯＣに対して二次電池１４に流れる電流を積算することで、その時点のＳＯＣを求めることができる。なお、ＳＯＣはこれ以外の方法によって算出するようにしてもよい。
【００３６】
以上のステップＳ１３〜Ｓ１６の処理により、変数Ｖ０〜Ｖ３に図７に示す時系列の電圧値が格納され、変数Ｉ０〜Ｉ３に図７に示す時系列の電流値が格納され、変数ＳＯＣ０〜ＳＯＣ３に図７に示す電圧および電流に対応する時系列のＳＯＣの値が格納される。
【００３７】
ステップＳ１７では、ＣＰＵ１０ａは、最新の電圧Ｖ０がＶｃｈｇよりも大きいかを判定し、大きい場合（ステップＳ１７：Ｙｅｓ）にはステップＳ１８に進み、それ以外の場合（ステップＳ１７：Ｎｏ）には処理を終了する。ここで、Ｖｃｈｇは、回生充電が行われているか否かを判定するための閾値電圧であり、検出した電圧がＶｃｈｇを超えている場合には、回生充電が行われていると判定する。なお、Ｖｃｈｇとしては、例えば、１４Ｖを用いることができる。
【００３８】
ステップＳ１８では、ＣＰＵ１０ａは、｜Ｖ０−Ｖ１｜＜Ｖｔｈ１かつＶ２−Ｖ３＞Ｖｔｈ２が満たされるか否かを判定し、これらの条件をともに満たす場合（ステップＳ１８：Ｙｅｓ）にはステップＳ１９に進み、それ以外の場合（ステップＳ１８：Ｎｏ）には処理を終了する。ここで、１番目の条件である｜Ｖ０−Ｖ１｜＜Ｖｔｈ１は、図７に示すようにＶ０≒Ｖ１であることを示し、２番目の条件であるＶ２−Ｖ３＞Ｖｔｈ２は、図７に示すようにＶ２＞Ｖ３であることを示すため、図７に示すｔ３のタイミングで、これらの２つの条件がともに満足されることになる。なお、閾値Ｖｔｈ１，Ｖｔｈ２に関しては、例えば、Ｖｔｈ１として０．０１Ｖ、Ｖｔｈ２として０．０５Ｖを用いることができる。なお、これらの閾値Ｖｔｈ１，Ｖｔｈ２は、サンプリング周期によって異なるので、サンプリング周期および環境等に応じて適切な値を用いることが望ましい。
【００３９】
ステップＳ１９では、ＣＰＵ１０ａは、Ｉ０−Ｉ１＜Ｉｔｈ１かつ｜Ｉ２−Ｉ３｜＜Ｉｔｈ２であるか否かを判定し、これらの条件をともに満たす場合（ステップＳ１９：Ｙｅｓ）にはステップＳ２０に進み、それ以外の場合（ステップＳ１９：Ｎｏ）には処理を終了する。ここで、１番目の条件であるＩ０−Ｉ１＜Ｉｔｈ１は、図７に示すようにＩ０＜Ｉ１であることを示し、２番目の条件である｜Ｉ２−Ｉ３｜＜Ｉｔｈ２は、図７に示すようにＩ２≒Ｉ３であることを示すため、図７に示すｔ３のタイミングで、これらの２つの条件がともに満足されることになる。なお、閾値Ｉｔｈ１，Ｉｔｈ２に関しては、例えば、Ｉｔｈ１として−０．０５Ａ、Ｉｔｈ２として０．０１Ａを用いることができる。なお、これらの閾値Ｉｔｈ１，Ｉｔｈ２は、前述したように、サンプリング周期によって異なるので、サンプリング周期および環境等に応じて適切な値を用いることが望ましい。
【００４０】
ステップＳ２０では、ＣＰＵ１０ａは、ＳＯＣｍａｘ＝（ＳＯＣ１＋ＳＯＣ２）／２によってＳＯＣｍａｘを求める。なお、ＳＯＣｍａｘは、図４のＢ３に対応する値である。また、ＳＯＣ１は図７に示すＶ１，Ｉ１を測定したタイミングで算出したＳＯＣであり、ＳＯＣ２は図７に示すＶ２，Ｉ２を測定したタイミングで算出したＳＯＣである。このため、ＳＯＣ１とＳＯＣ２の平均のＳＯＣを求めることで、時間ｔ３におけるＳＯＣに相当する値を求めることができる。なお、平均値を求めるのではなく、ＳＯＣｍａｘ＝ＳＯＣ１またはＳＯＣｍａｘ＝ＳＯＣ２としてもよい。そのような方法によれば、計算を簡略化することができる。
【００４１】
ステップＳ２１では、ＣＰＵ１０ａは、ステップＳ１２の場合と同様に、Ｂ２＝ＳＯＣｍａｘ−ｍｒｇ１によってＢ２を求めるとともに、Ｂ１＝Ｂ２−ｍｒｇ２によってＢ１を求める。なお、ｍｒｇ１およびｍｒｇ２の値の求め方については、前述したステップＳ１２の場合と同様である。
【００４２】
以上の処理により、エンジン１７の始動後において、定電流充電から定電圧充電への変化点であるｔ３を検出し、検出したｔ３前後のＳＯＣ２，ＳＯＣ１からＳＯＣｍａｘを求めるとともに、このＳＯＣｍａｘに基づいてＢ２を算出することができる。
【００４３】
つぎに、図１０を参照して、車両が走行中に実行される処理の一例について説明する。図１０に示す処理が実行されると、以下のステップが実行される。
【００４４】
ステップＳ３０では、ＣＰＵ１０ａは、二次電池１４のその時点におけるＳＯＣを算出する。なお、ＳＯＣを求める方法としては、前述したステップＳ１６で説明した方法と同じ方法を用いることができる。
【００４５】
ステップＳ３１では、ＣＰＵ１０ａは、ステップＳ３０で算出したＳＯＣ＞Ｂ１であるか否かを判定し、この条件を満たす場合（ステップＳ３１：Ｙｅｓ）にはステップＳ３２に進み、それ以外の場合（ステップＳ３１：Ｎｏ）にはステップＳ３３に進む。ここで、Ｂ１は、図９のステップＳ１２またはステップＳ２１で求めた値を用いることができる。
【００４６】
ステップＳ３２では、ＣＰＵ１０ａは、ステップＳ３０で算出したＳＯＣ＜Ｂ２であるか否かを判定し、この条件を満たす場合（ステップＳ３２：Ｙｅｓ）にはステップＳ３３に進み、それ以外の場合（ステップＳ３２：Ｎｏ）にはステップＳ３４に進む。ここで、Ｂ２は、図９のステップＳ１２またはステップＳ２１で求めた値を用いることができる。
【００４７】
ステップＳ３３では、ＣＰＵ１０ａは、オルタネータ１６を制御して、発電を開始させるか、または、発電中である場合には発電を継続させる。これにより、二次電池１４のＳＯＣがＢ１より大きく、かつ、Ｂ２より小さい場合（Ｂ１＜ＳＯＣ＜Ｂ２の場合）、または、ＳＯＣがＢ１以下である場合（Ｂ１≦ＳＯＣの場合）には、二次電池１４の充電が開始または継続されることになる。
【００４８】
ステップＳ３４では、ＣＰＵ１０ａは、オルタネータ１６を制御して、発電を停止させる。これにより、二次電池１４のＳＯＣがＢ２以上の場合（Ｂ２≧ＳＯＣの場合）には、二次電池１４の充電が停止されることになる。
【００４９】
以上の処理によれば、ＳＯＣがＢ２未満である場合にはオルタネータ１６による充電が開始または継続され、ＳＯＣがＢ２以上である場合にはオルタネータ１６の発電が停止される。
【００５０】
（Ｄ）変形実施形態の説明
以上の実施形態は一例であって、本発明が上述したような場合のみに限定されるものでないことはいうまでもない。例えば、以上の実施形態では、図４に示すように、定電流充電から定電圧充電へ変化する変化点のＳＯＣであるＢ３から所定のマージンｍｒｇ１を減じて得たＢ２に基づいて制御を行うようにしたが、もちろん、ｍｒｇ１＝０に設定する場合も本発明に含まれるものである。
【００５１】
また、以上の実施形態では、ＳＯＣの下限値Ｂ１はＢ２からマージンｍｒｇ２を減じて求めるようにしたが、Ｂ１を固定値（例えば、６０％）としてもよい。あるいは、温度センサ１３によって検出される温度に応じて変更するようにしてもよい。例えば、エンジン１７の始動が困難になる気温が低い場合にはＢ１の値を一時的に大きくするようにしてもよい。
【００５２】
また、Ｂ１とＢ２の差が小さくなった場合には、二次電池１４の劣化が進行したと判定し、エンジン１７の再始動を優先するために、Ｂ２以上に充電されるようにしてもよい。
【００５３】
また、図９に示す処理では、図７に示す時間ｔ３のタイミングでステップＳ２０に進んでＳＯＣｍａｘを求めるようにしたが、時間ｔ３の検出を逃してしまう場合も想定される。そのような場合には、例えば、図１１に示す処理によって、ＳＯＣｍａｘを求めることができる。なお、図１１において図７と対応する部分には同一の符号を付してその説明を省略する。図１１では、図７に比較すると、ステップＳ５０およびステップＳ５１の処理が追加されている。これら以外は図７と同様であるので、以下では、ステップＳ５０，Ｓ５１を中心に説明する。ステップＳ１８において、ＣＰＵ１０ａが、｜Ｖ０−Ｖ１｜＜Ｖｔｈ１かつＶ２−Ｖ３＞Ｖｔｈ２が満たされるか否かを判定し、これらの条件をともに満たす場合（ステップＳ１８：Ｙｅｓ）にはステップＳ１９に進み、それ以外の場合（ステップＳ１８：Ｎｏ）にはステップＳ５０に進む。ステップＳ５０では、ＣＰＵ１０ａは、｜Ｖ０−Ｖ１｜＜Ｖｔｈ１かつ｜Ｖ２−Ｖ３｜＜Ｖｔｈ１であるか否かを判定し、これらの条件をともに満たす場合（ステップＳ５０：Ｙｅｓ）にはステップＳ５１に進み、それ以外の場合（ステップＳ５０：Ｎｏ）には処理を終了する。例えば、時間ｔ３のタイミングを逃してしまった場合、Ｖ１〜Ｖ３は図７に示すＣＶ充電の期間の傾きがほぼ０の直線上に配置され、その場合、｜Ｖ０−Ｖ１｜＜Ｖｔｈ１かつ｜Ｖ２−Ｖ３｜＜Ｖｔｈ１が成立することからステップＳ５１に進む。ステップＳ５１では、ＣＰＵ１０ａは、Ｉ０−Ｉ１＜Ｉｔｈ１かつＩ２−Ｉ３＜Ｉｔｈ１であるか否かを判定し、これらの条件をともに満たす場合（ステップＳ５１：Ｙｅｓ）にはステップＳ２０に進んでＳＯＣｍａｘを算出し、それ以外の場合（ステップＳ５１：Ｎｏ）には処理を終了する。例えば、時間ｔ３のタイミングを逃してしまった場合、Ｉ１〜Ｉ３は図７に示すＣＶ充電の期間の傾きがマイナスの直線上に配置され、その場合、Ｉ０−Ｉ１＜Ｉｔｈ１かつＩ２−Ｉ３＜Ｉｔｈ１が成立することからステップＳ２０に進んで、ＳＯＣｍａｘが算出される。以上に説明したように、図１１に示すフローチャートによれば、時間ｔ３のタイミングの検出を逃してしまった場合であっても、ＳＯＣｍａｘを適切に算出することができる。
【符号の説明】
【００５４】
１  二次電池充電制御装置
１０  制御部（求出手段、制御手段）
１０ａ  ＣＰＵ
１０ｂ  ＲＯＭ
１０ｃ  ＲＡＭ
１０ｄ  通信部
１０ｅ  Ｉ／Ｆ
１１  電圧センサ（検出手段）
１２  電流センサ（検出手段）
１３  温度センサ
１４  二次電池
１５  放電回路
１６  オルタネータ
１７  エンジン
１８  スタータモータ
１９  負荷
【図１】
0005911897.tif 000002
【図２】
0005911897.tif 000003
【図３】
0005911897.tif 000004
【図４】
0005911897.tif 000005
【図５】
0005911897.tif 000006
【図６】
0005911897.tif 000007
【図７】
0005911897.tif 000008
【図８】
0005911897.tif 000009
【図９】
0005911897.tif 000010
【図１０】
0005911897.tif 000011
【図１１】
0005911897.tif 000012