(57)【特許請求の範囲】
【請求項１】
電動補助車両の駆動を補助するモータに電力を供給するとともに、前記モータによる回生制動時に生じる電力を回収する蓄電素子と、
充電容量を取得する充電容量取得部と、
前記充電容量取得部のデータに基づいて、回生による充電容量上限値に対して、充電余地を残して前記蓄電素子の回生による充電以外による充電を停止する充電制御部と、
前記蓄電素子に充電電流を供給する経路と、
前記蓄電素子が充電不可の状態であるときにオフされて前記経路を遮断するスイッチ素子と、
前記蓄電素子の充電容量が予め設定された容量になると前記スイッチ素子をオフすることにより前記充電余地を残して前記蓄電素子の充電を停止する余地充電制御部と、
を備え、
前記スイッチ素子を徐々にオフするようにした
充電制御装置。
【請求項２】
前記回生による充電容量上限値に対して充電余地を残して前記蓄電素子の充電を停止する余地充電モード及び満充電に達するまで前記蓄電素子を充電する満充電モードのいずれかの指定を受け付けて記憶する充電モード設定部と、
前記余地充電モードが指定されている場合は予め設定された容量の充電余地を残して前記蓄電素子の充電を停止する余地充電制御部と、
前記満充電モードが指定されている場合は満充電になると前記蓄電素子の充電を停止する満充電制御部と、
をさらに備える、請求項１に記載の充電制御装置。
【請求項３】
複数の異なる値に設定された容量を充電余地として残す複数の充電モードのいずれかの指定を受け付ける充電モード設定部と、
指定された前記充電モードについて設定されている容量の充電余地を残して前記蓄電素子の充電を停止する余地充電制御部と、
をさらに備える、請求項１に記載の充電制御装置。
【請求項４】
現在指定されている前記充電モードを示す情報を出力する出力部をさらに備える、
請求項３に記載の充電制御装置。
【請求項５】
前記蓄電素子に充電器が接続されているか否かを検出する充電器接続検出部を備え、
前記充電制御部は、前記充電器による前記蓄電素子の充電を停止した後、前記充電器の接続が解除されたことを条件として前記スイッチ素子をオンするスイッチ素子制御部を備える、
請求項１に記載の充電制御装置。
【請求項６】
前記スイッチ素子は、電界効果トランジスタを用いて構成され、前記スイッチ素子のゲートとソース間に容量素子を備える、
請求項１に記載の充電制御装置。
【請求項７】
前記蓄電素子の端子間電圧を計測する電圧検出部を備え、
前記充電容量取得部は、前記端子間電圧を前記蓄電素子の充電容量に換算することにより前記蓄電素子の充電容量を算出する、
請求項１乃至６のいずれか一項に記載の充電制御装置。
【請求項８】
前記蓄電素子の充電電流を計測する電流検出部を備え、
前記充電容量取得部は、前記充電電流を積分して得られる値に基づき前記蓄電素子の充電容量を算出する、
請求項１乃至７のいずれか一項に記載の充電制御装置。
【請求項９】
前記回生による充電以外の充電による前記蓄電素子の充電回数が所定の回数になると前記蓄電素子が満充電に達するまで充電を行うように制御する、
請求項８に記載の充電制御装置。
【請求項１０】
請求項１乃至９のいずれか一項に記載の前記充電制御装置と前記蓄電素子とを備える蓄電装置。
【請求項１１】
請求項３に記載の前記充電制御装置と前記蓄電素子とを備えた蓄電装置であって、
ユーザから前記充電モードの指定を受け付ける入力部を備える蓄電装置。
【請求項１２】
前記入力部は、所定の操作を前記蓄電素子の充電容量を示す情報の出力指示として受け付け、前記所定の操作とは異なる他の操作を前記充電モードの切り換え指示として受け付ける、
請求項１１に記載の蓄電装置。
【請求項１３】
充電器が接続されているか否かを検出する充電器接続検出部を備え、
前記充電器接続検出部が充電器が接続されていることを検出し、かつ、前記入力部が前記他の操作を受け付けた場合に前記充電モードの切り換えを行う、
請求項１２に記載の蓄電装置。
【請求項１４】
請求項３に記載の充電制御装置と蓄電素子とを備えた蓄電装置であって、
現在設定されている前記充電モードの状態を表示する表示部を備える蓄電装置。
【請求項１５】
請求項１乃至９のいずれか一項に記載の前記充電制御装置を備える電動補助車両。
【請求項１６】
請求項１０乃至１４のいずれか一項に記載の前記蓄電装置を備える電動補助車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、充電制御装置、蓄電装置、及び電動補助車両に関する。
【背景技術】
【０００２】
特許文献１には、モータを発電機として作動させて自転車を制動する回生制動装置を備えた電動補助動力自転車について記載されている。より詳細には、慣性走行時にユーザが違和感を抱くことのないよう、スイッチのオン／オフにより制動あるいは減速が必要な走行状態の時に限り回生制動装置を動作させるようにすること、回生制御装置にブレーキレバー変位量を検出するボリームを設け、ブレーキレバーの変位量に応じた発電量をバッテリーに充電させることで変位量に応じた制動を自転車の駆動伝達系に加えること等が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２５４８６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のように回生動作により得られる制動力をブレーキの制動力として利用した場合、例えば、長い下り坂の走行時や低速走行時に運転者に快適な乗車フィーリングを与えることができる。また走行時の安定性が向上するため、とくに高齢者や女性、子供等が自転車を運転する際の安全性を高めることができる。
【０００５】
しかし回生動作により得られる制動力は、モータの回転エネルギーを電気エネルギーとしてバッテリーに吸収させることにより生じるものであるため、バッテリーが満充電に近づくにつれ減少する。そのため、例えば、長距離走行に備えてバッテリーを満充電まで充電してしまうと、走行当初は十分な制動力を得ることができない。また満充電もしくは満充電に近い状態では、ある程度放電されて回生動作が可能な状態と比較してブレーキのフィーリングが異なるため、ユーザが走行中に違和感を感じてしまう。
【０００６】
本発明は、こうした背景を鑑みてなされたものであり、回生動作によって制動力を生じさせるのに必要な充電余地を確保して蓄電装置を充電することが可能な充電制御装置、蓄電装置、及び電動補助車両を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明のうちの一つは、充電制御装置であって、電動補助車両の駆動を補助するモータに電力を供給するとともに、前記モータによる回生制動時に生じる電力を回収する蓄電素子と、充電容量を取得する充電容量取得部と、前記充電容量取得部のデータに基づいて、回生による充電容量上限値に対して、充電余地を残して前記蓄電素子の回生による充電以外による充電を停止する充電制御部と、前記蓄電素子に充電電流を供給する経路と、前記蓄電素子が充電不可の状態であるときにオフされて前記経路を遮断するスイッチ素子と、 前記蓄電素子の充電容量が予め設定された容量になると前記スイッチ素子をオフすることにより前記充電余地を残して前記蓄電素子の充電を停止する余地充電制御部と、を備え、前記スイッチ素子を徐々にオフするようにした。
【０００８】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄の記載、及び図面の記載等により明らかにされる。
【発明の効果】
【０００９】
本発明によれば、回生動作によって制動力を生じさせるのに必要な充電余地を確保して蓄電装置を充電することができる。
【図面の簡単な説明】
【００１０】
【図１】電動アシスト自転車１の外観を示す図である。
【図２】モータ駆動装置１００並びに電池パック２０のハードウェア構成を示す図である。
【図３】駆動回路１０２２が備える機能及び駆動回路１０２２が記憶するデータを示す図である。
【図４】電池パック２０の制御回路２０４が備える機能及び制御回路２０４が記憶するデータを示す図である。
【図５】電池パック２０並びに充電器３０のハードウェア構成を示す図である。
【図６】制御回路５２２が備える機能を示す図である。
【図７】（ａ）は、電池パック２０と充電器３０の外観構成の一例であり、（ｂ）は、出力回路２０９による充電モードの表示態様の一例である。
【図８】充電モード設定処理Ｓ８００を説明するフローチャートである。
【図９】充電モード設定処理Ｓ９００を説明するフローチャートである。
【図１０】充電時処理Ｓ１０００を説明するフローチャートである。
【図１１】充電時処理Ｓ１０００により電池パック２０の充電を行った際の蓄電セル２０１の端子間電圧の変化の例を示す図である。
【図１２】充電時処理Ｓ１０００により電池パック２０の充電を行った際の蓄電セル２０１のＳＯＣの変化の例を示す図である。
【図１３】充電制御素子オン処理Ｓ１３００を説明するフローチャートである。
【図１４】回生充電処理Ｓ１４００を説明するフローチャートである。
【図１５】（ａ），（ｂ）は夫々、充電制御素子２０７が電界効果トランジスタで構成される場合におけるサージ電圧を抑制する回路の構成例を示す図である。
【図１６】正側ライン２１に充電電流を遮断するためのスイッチ素子２７０を別途設けた場合の回路の構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下、適宜図面を参照し、本発明の実施形態を説明する。
【００１２】
図１に、電動補助車両（電動アシスト付車両）の一例として示す、前輪ハブモータ付き電動アシスト自転車１（モータ付き自転車）の外観を示している。同図に示すように、電動アシスト自転車１は、フレーム２、前輪３、後輪４、ハンドル５、ブレーキレバー６、サドル７、ペダル８、フロントギア９、伝動ベルト１０（又はチェーン）等を備える。
【００１３】
同図に示すように、電動アシスト自転車１は、モータ駆動装置１００として、前輪３の回転軸付近に設けられたモータ１０１、ペダル８の近傍に設けられたモータ駆動制御器１０２、トルクセンサ１０３、ブレーキセンサ１０４、ペダル回転センサ１０５、前輪回転センサ１０６、及び操作パネル１０７等を備える。電動アシスト自転車１のサドル７の下方には、モータ駆動装置１００と電気的に接続される電池パック２０（蓄電装置）が脱着可能に配設される。以下の説明において、トルクセンサ１０３、ブレーキセンサ１０４、ペダル回転センサ１０５、及び前輪回転センサ１０６を、各種センサと総称することがある。
【００１４】
モータ１０１は、例えば、三相直流ブラシレスモータであるが、他の種類のモータであってもよい。モータ１０１は、電池パック２０から供給される電気エネルギーを回転トルクに変換して前輪を回転させる。モータ１０１は、例えば、ロータが前輪３の回転に応じて回転するようにロータ側が直接又は減速器等を介して前輪３に連結されている。モータ１０１は、ホール素子等を用いて構成された上記の前輪回転センサ１０６を備える。前輪回転センサ１０６は、ロータの回転情報をモータ駆動制御器１０２に入力する。
【００１５】
操作パネル１０７は、ユーザがモータ駆動装置１００に対して設定や状態監視等を行う際に使用するユーザインタフェースである。操作パネル１０７は、例えば、ハンドル５の所定位置に設けられる。操作パネル１０７は、例えば、アシストの有無に関する指示やアシスト有りの場合における希望アシスト比等をユーザから受け付け、受け付けた指示をモータ駆動制御器１０２に入力する 。操作パネル１０７は、後述する充電モードの指定をユーザから受け付け、受け付けた充電モードの指定をモータ駆動制御器１０２に入力する。
【００１６】
上記のトルクセンサ１０３は、例えば、電動アシスト自転車１のクランク軸や当該クランク軸周辺の所定位置に設けられる。トルクセンサ１０３は、ユーザのペダル８の踏力を示す信号をモータ駆動制御器１０２に入力する。トルクセンサ１０３としては、例えば、機械式や磁歪式のものが用いられる。
【００１７】
上記のブレーキセンサ１０４は、例えば、ブレーキレバー６の近傍に設けられる。ブレーキセンサ１０４は、ブレーキレバー６の操作量を示す信号をモータ駆動制御器１０２に入力する。ブレーキセンサ１０４は、ユーザのブレーキ操作を検出するセンサである。ブレーキセンサ１０４は、例えば、ブレーキ操作が有りの状態と無しの状態をスイッチの切り離しで検出するものでもよいし、ユーザのブレーキ操作に応じたブレーキワイヤの張力の変化を検出する張力センサ等、他の種類のセンサであってもよい。
【００１８】
上記のペダル回転センサ１０５は、例えば、電動アシスト自転車１のクランク軸や当該クランク軸周辺の所定位置に設けられる。ペダル回転センサ１０５は、ペダル８の回転数を示す信号をモータ駆動制御器１０２に入力する。
【００１９】
図２に、図１に示したモータ駆動装置１００並びに電池パック２０のハードウェア構成を示している。電池パック２０は、当該電池パック２０及び電動アシスト自転車１の夫々の所定位置に設けられた接続機構５０を介してモータ駆動装置１００と電気的に接続される。同図に示すように、接続機構５０は、４つの電気的な接続ピン（正側端子５１、通信端子５２、充電器検出端子５３、負側端子５４）を有する。
【００２０】
同図に示すように、モータ駆動制御器１０２は、インバータ１０２１、駆動回路１０２２、及び逆流防止素子１０２３を備える。
【００２１】
このうちインバータ１０２１は、例えば、Ｕ，Ｖ，Ｗの相毎に２個のスイッチ素子（例えば、ＭＯＳＦＥＴ（Metal-Oxide-Semiconductor Field-Effect Transistor）等）が直列接続された構成を有する三相ブリッジインバータ回路を含む。アシスト動作時、インバータ１０２１は、電池パック２０からモータ１０１に駆動電力を供給する。また回生動作（回生充電）時、インバータ１０２１は、モータ１０１から電池パック２０に回生電力を供給する。
【００２２】
駆動回路１０２２は、マイクロコンピュータ等の情報処理装置を用いて構成され、中央処理装置（ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）等）、記憶装置（ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＮＶＲＡＭ（Non-Volatile RAM）等）等を有する。駆動回路１０２２は、各種センサから入力される信号に基づき生成した制御信号をインバータ１０２１に入力し、アシスト動作に関する各種制御や回生動作に関する各種制御を行う。
【００２３】
逆流防止素子１０２３は、スイッチ素子（例えば、ＭＯＳＦＥＴ等）を用いて構成される。逆流防止素子１０２３は、例えば、モータ１０１が通常走行から外れた高速回転をしているときにオフされ、モータ１０１の３相端子間に生じる逆起電力によりインバータ１０２１の三相ブリッジを構成するスイッチ素子の寄生ダイオードを介して電池パック２０に電流が流れ込む（逆流）のを防ぐ役割を果たす。
【００２４】
図３に駆動回路１０２２が備える機能及び駆動回路１０２２が記憶するデータを示している。同図に示すように、駆動回路１０２２は、駆動制御部３１１、充電モード設定部３１２、入力処理部３１３、出力制御部３１４、及び通信制御部３１５の各機能を備える。これらの機能は、例えば、駆動回路１０２２の中央処理装置が駆動回路１０２２の記憶装置に格納されているプログラムを読み出して実行することにより、また例えば、駆動回路１０２２が備えるハードウェアにより実現される。
【００２５】
駆動制御部３１１は、各種センサから入力される信号に基づき、インバータ１０２１に制御信号を入力し、アシスト動作に関する制御や回生動作に関する制御を行う。駆動制御部３１１は、上記回生動作に関する制御に際し、例えば、ブレーキセンサ１０４からの入力信号から把握されるブレーキレバー６の操作量に応じて、回生動作により得られる制動力（以下、回生ブレーキとも称する。）の大きさを調節する。
【００２６】
上記制御信号の生成に際し、駆動制御部３１１は、例えば、前輪３の直径又は半径などの走行速度の算出に必要な値や走行速度の算出、トルクセンサ１０３からの入力信号に基づく踏力の算出、回生動作時におけるモータ１０１の回転数に基づくモータ１０１出力電圧の算出、ブレーキセンサ１０４からの入力信号に応じた回生ブレーキの要求量の算出、回生ブレーキの要求量に応じた回生デューティ比（デューティ量）の算出、トルクセンサ１０３からの入力信号に基づくアシスト駆動のデューティ比の算出等を適宜行う。
【００２７】
充電モード設定部３１２は、装着されている電池パック２０に対して後述の充電モードの設定に関する処理を行う。充電モード設定部３１２は、操作パネル１０７を介してユーザから充電モードの指定を受け付けると、通信制御部３１５を介して電池パック２０と通信し、指定された充電モードで動作するよう電池パック２０を設定する。充電モード設定部３１２は、電池パック２０が備える後述の充電モード設定部４１３と同様の機能を備えていてもよい。
【００２８】
入力処理部３１３は、操作パネル１０７に対してユーザが行う操作入力を受け付ける。出力制御部３１４は、操作パネル１０７に、電動アシスト自転車１に関する情報（ライトの点灯有無等）や電池パック２０の状態（充電容量（電池パック２０が備える後述の各蓄電セル２０１に蓄えられている電気エネルギーの総量（電池残量））等）等の様々な情報を表示する。通信制御部３１５は、例えば、ＳＭバス（System Management Bus）やＩ２Ｃ（Inter-Integrated Circuit）等の通信インタフェースを備え、通信端子５２を介して電池パック２０と通信する。
【００２９】
＜電池パック＞
図２に示すように、電池パック２０は、蓄電セル２０１、監視回路２０２、電流検出抵抗２０３、制御回路２０４（充電制御装置）、オンオフ制御回路２０５、放電制御素子２０６及び充電制御素子２０７（以下、適宜「保護素子」と総称する）、入力回路２０８、出力回路２０９（出力部）、及び一つ以上の温度センサ２１０を備える。
【００３０】
蓄電セル２０１（蓄電素子）は、例えば、リチウムイオン二次電池であるが、リチウムイオンポリマー二次電池、ニッケル水素電池、電気二重層キャパシタ等であってもよい。本実施形態では、蓄電セル２０１は、公称電圧３．７Ｖのリチウムイオン二次電池であるものとする。電池パック２０は、必要な出力電圧を得るべく、例えば、直列又は並列に接続された複数の蓄電セル２０１を備える。
【００３１】
監視回路２０２は、蓄電セル２０１の端子間電圧、電池パック２０の出力電圧（正側ライン２１と負側ライン２２との間の電圧）、電池パック２０の出力電流又は充電電流（電流検出抵抗２０３により検出される電流）、及び温度センサ２１０から入力される温度等の計測値を取得し、取得した計測値を制御回路２０４に入力する。温度センサ２１０は、例えば、サーミスタであり、蓄電セル２０１、放電制御素子２０６、充電制御素子２０７等の温度を計測する。
【００３２】
制御回路２０４は、マイクロコンピュータ等の情報処理装置を用いて構成され、中央処理装置（ＣＰＵ、ＭＰＵ等）及び記憶装置（ＲＯＭ、ＲＡＭ、ＮＶＲＡＭ等）を有する。制御回路２０４は、監視回路２０２や入力回路２０８、もしくは通信端子５２から入力される信号に基づき、保護素子のオンオフを制御する。制御回路２０４が備える機能の詳細については後述する。
【００３３】
オンオフ制御回路２０５は、制御回路２０４から入力される制御信号に応じて保護素子をオンオフする。尚、オンオフ制御回路２０５が、監視回路２０２から入力される制御信号に応じて保護素子を直接オンオフする構成としてもよい。またオンオフ制御回路２０５を介さずに、制御回路２０４が保護素子を直接オンオフする構成としてもよい。
【００３４】
保護素子は、蓄電セル２０１からモータ駆動装置１００に供給される電流の供給経路上（正側ライン２１上）に設けられ、電池パック２０に異常が発生した際に蓄電セル２０１からモータ駆動装置１００への電流の供給を遮断する。保護素子は、例えば、ＭＯＳＦＥＴ等を用いて構成される。本実施形態では、保護素子は、いずれもＰチャネル型のＭＯＳＦＥＴで構成されているものとする。放電制御素子２０６及び充電制御素子２０７は、遮断時における寄生ダイオードによる漏れ電流を防ぐためにバック・ツー・バック（back to back）接続されている。
【００３５】
入力回路２０８は、ユーザの操作入力を受け付けるインタフェースであり、例えば、プッシュスイッチ等で構成される。ユーザは、例えば、後述する充電モードの切り替えを入力回路２０８を操作して行うことができる。
【００３６】
出力回路２０９は、ユーザに情報を提供するユーザインタフェースであり、例えば、一つ以上の発光ダイオード（ＬＥＤ）等を用いて構成される。ユーザは、例えば、電池パック２０の電池残量や電池パック２０に現在設定されている後述の充電モードを、出力回路２０９を参照することにより知ることができる。尚、出力回路２０９は、音声等の表示以外の方法でユーザに情報を提供するものであってもよい。
【００３７】
図４に電池パック２０の制御回路２０４が備える機能及び制御回路２０４が記憶するデータを示している。同図に示すように、制御回路２０４は、監視制御部４１１、充電制御部４１２、充電モード設定部４１３、充電容量取得部４１４、充電器接続検出部４１５、入力処理部４１６、出力制御部４１７、及び通信制御部４１８の各機能を備える。これらの機能は、制御回路２０４の中央処理装置が制御回路２０４の記憶装置に格納されているプログラムを読み出して実行することにより、また例えば、制御回路２０４が備えるハードウェアにより実現される。また同図に示すように、制御回路２０４は、現在の充電モード４５１、余地充電容量上限値４５２等のデータを記憶する。
【００３８】
監視制御部４１１は、監視回路２０２から入力される計測値に基づき保護素子のオンオフを制御する。監視制御部４１１は、例えば、蓄電セル２０１や保護素子の温度の異常、蓄電セル２０１の過充電や過放電、充電時の過電流や放電時の過電流を監視し、異常を検出すると保護素子をオフする。
【００３９】
充電制御部４１２は、充電器３０による充電や回生充電が行われる際、蓄電セル２０１の充電制御（充電電流の制御、蓄電セル２０１間のセルバランスの制御等）を行う。また充電制御部４１２は、電池パック２０に設定されている後述の充電モードに応じて上記充電制御を行う。
【００４０】
充電制御部４１２は、充電モードが後述する「余地充電モード」に設定されている場合に、充電余地を残して（後述の余地充電容量上限値に達した（充電容量＝余地充電容量上限値）ところで）充電制御素子２０７をオフして蓄電セル２０１への充電電流の供給を停止する余地充電制御部４１２１を備える。また充電制御部４１２は、充電モードが後述の「満充電モード」に設定されている場合に、満充電になる（充電容量＝満充電時の容量）と充電制御素子２０７をオフして蓄電セル２０１への充電電流の供給を停止する満充電制御部４１２２を備える。同図に示すスイッチ素子制御部４１２３については後述する。尚、電池パック２０の満充電時の充電容量は、充電器により充電を行う場合と回生により充電を行う場合とで必ずしも一致しない。例えば、回生により充電を行う場合の満充電時の充電容量（回生による充電容量上限値）が、充電器により充電を行う場合の満充電時の充電容量（充電器による充電容量上限値）よりも低い値に設定されることがある。
【００４１】
充電制御部４１２は、「余地充電モード」で充電を行う際、保護素子として実装されている充電制御素子２０７をオフすることにより蓄電セル２０１への充電電流の供給を停止する。このため、「余地充電モード」による制御を実現するために新たな素子を追加する必要がなく、また制御回路２０４のファームウェアの変更量も抑えられる。
【００４２】
充電モード設定部４１３は、充電器３０による充電時の電池パック２０の充電方法（以下、充電モードと称する。）の設定に関する処理を行う。充電モード設定部４１３は、入力処理部４１６を介してユーザから充電モードの指定を受け付け、受け付けた充電モードを現在の充電モード４５１として記憶する。
【００４３】
ここで充電モードには、大別して、充電モード設定部４１３が、満充電になるまで充電を行う「満充電モード」と、充電モード設定部４１３が、回生ブレーキを機能させるのに必要な充電余地を残して充電動作を停止する（電池パック２０の電池残量が予め設定された余地充電容量上限値４５２に達すると充電動作を停止する）「余地充電モード」とがある。余地充電容量上限値４５２は、例えば、満充電の充電容量（回生による充電容量上限値）を１００％とした場合、８０％、５０％、３０％等に設定される。
【００４４】
電池パック２０に、充電モードとして前者の「満充電モード」を設定して充電を行った場合、充電完了後の電池パック２０は満充電の状態となる。そのため、これを電動アシスト自転車１に装着した場合は長距離の走行が可能である。一方、後者の「余地充電モード」を設定して充電を行った場合、充電余地を残して充電が停止するため「満充電モード」を設定した場合と比べて充電容量は少なくなるが、この電池パック２０を電動アシスト自転車１に装着した場合、ユーザは走行当初から回生ブレーキを利用することができる。また充電余地を十分に確保することで、ユーザは走行当初から違和感なく回生ブレーキを利用することができる。
【００４５】
ユーザは、例えば、走行予定のルートの地形に応じて電池パック２０に設定する充電モードを自由に選択することができる。例えば、走行当初に上り坂が多く、回生ブレーキよりも走行距離を優先したい場合、ユーザは「満充電モード」を選択する。また例えば、走行当初から下り坂が多く走行距離よりも回生ブレーキを優先したい場合、ユーザは「余地充電モード」を選択する。
【００４６】
「余地充電モード」として、余地充電容量上限値４５２の異なる複数種類の「余地充電モード」をユーザが選択できるようにしてもよい。具体的には、例えば、満充電の充電容量（回生による充電容量上限値）１００％に対して、余地充電容量上限値４５２を８０％、５０％、３０％等とした複数の「余地充電モード」を設ける。これにより、走行予定ルートの地形やユーザが走行中に求めるブレーキフィーリング等、多様なユーザニーズに幅広く対応することができる。さらに充電モード設定部４１３が、入力処理部３１３や入力処理部４１６を介して任意の余地充電容量上限値４５２をユーザから受け付け、ユーザが任意に設定した余地充電容量上限値４５２の「余地充電モード」を登録できるようにしてもよい。
【００４７】
充電容量取得部４１４は、電池パック２０の現在の充電容量を算出する。充電容量取得部４１４は、例えば、蓄電セル２０１の電圧と充電容量との関係を示すデータを記憶し、上記データに基づき、監視回路２０２から入力される蓄電セル２０１の電圧を充電容量に換算して電池パック２０の充電容量を算出する。また充電容量取得部４１４は、例えば、監視回路２０２から入力される電池パック２０の出力電流又は蓄電セル２０１の充電電流を積分することにより電池パック２０の充電容量を算出する。
【００４８】
充電器接続検出部４１５は、電池パック２０に現在、充電器３０が接続されているか否かを検出する。充電器接続検出部４１５は、例えば、電池パック２０に充電器３０が正しく接続されているときに充電器検出端子５３に充電器３０から入力される予定の電圧が検出されるか否かに基づき、電池パック２０に現在、充電器３０が接続されているか否かを判定する。また充電器接続検出部４１５は、例えば、通信端子５２を介して充電器３０と通信し、通信により取得される情報から接続されている機器が充電器であることが確認できるか否かに基づき、充電器３０が接続されているか否かを判定する。
【００４９】
入力処理部４１６は、ユーザが入力回路２０８に対して行う操作を受け付け、受け付けた操作に対応する信号を制御回路２０４に入力する。出力制御部４１７は、出力回路２０９に情報を出力する。通信制御部４１８は、通信端子５２を介してモータ駆動装置１００と通信する。通信制御部４１８が、通信端子５２を介して充電器３０と通信する構成としてもよい。
【００５０】
制御回路２０４は、所有者以外の第三者による電池パック２０の無断使用や複製品・類似品の使用を防ぐための照合情報をモータ駆動装置１００や充電器３０との間で通信する機能等の他の機能をさらに備えていてもよい。
【００５１】
＜充電器＞
図５は電池パック２０と電池パック２０の充電に用いる充電器３０とが接続された状態を示すハードウェア構成図である。
【００５２】
同図に示すように、充電器３０は、電源回路５１１、電流検出抵抗５１２、及び遮断スイッチ５１３を備える。また電源回路５１１は、ＡＣ／ＤＣコンバータ５２１、制御回路５２２、電圧検出回路５２３、電流検出回路５２４、定電圧回路５２５、及び定電流回路５２６を備える。
【００５３】
ＡＣ／ＤＣコンバータ５２１は、商用電源等から供給される交流電力を直流電力に変換し、電池パック２０を充電するための充電電流を生成する。制御回路５２２は、マイクロコンピュータ等の情報処理装置を用いて構成され、中央処理装置（ＣＰＵ、ＭＰＵ等）及び記憶装置（ＲＯＭ、ＲＡＭ、ＮＶＲＡＭ等）を有する。
【００５４】
電圧検出回路５２３は、充電器３０の出力電圧を計測し、計測した値を制御回路５２２に入力する。電流検出回路５２４は、電流検出抵抗５１２により充電器３０の出力電流を計測し、計測した値を制御回路５２２に入力する。
【００５５】
定電圧回路５２５は、充電器３０の出力電圧が一定になるように制御する。定電流回路５２６は、充電器３０の出力電流が一定になるように制御する。定電圧回路５２５及び定電流回路５２６は、定電流定電圧制御（ＣＶＣＣ（Constant Voltage Constant Current power supply））を実現する。
【００５６】
遮断スイッチ５１３は、制御回路５２２によりオンオフされ、充電器３０から電池パック２０への充電電流の供給有無を制御する。遮断スイッチ５１３は、例えば、電池パック２０が接続されていないときや電池パック２０の充電が完了したときにオフされる。
【００５７】
図６に制御回路５２２が備える機能を示している。同図に示すように、制御回路５２２は、充電制御部６１１及び検出信号出力部６１２の各機能を備える。これらの機能は、制御回路５２２の中央処理装置が制御回路５２２の記憶装置に格納されているプログラムを読み出して実行することにより、また例えば、制御回路５２２が備えるハードウェアにより実現される。
【００５８】
充電制御部６１１は、例えば、電池パック２０の充電電圧及び充電電流を監視しつつ、定電流定電圧制御（ＣＶＣＣ）により充電制御を行う。
【００５９】
検出信号出力部６１２は、電池パック２０側で充電器３０が現在、接続されているか否かの判定に用いる信号を充電器検出端子５３に出力する。
【００６０】
＜各種設定と表示＞
図７（ａ）は、電池パック２０と充電器３０の外観構成の一例である。同図に示すように、この電池パック２０は、入力回路２０８として、単数のプッシュボタン７１１を備えている。またこの電池パック２０は、出力回路２０９として、直線状に隣接配置された５つの発光ダイオードを有するインジケータ７１２を備えている。ユーザは、プッシュボタン７１１を操作することにより、電池残量をインジケータに表示させることができる。またユーザは、プッシュボタン７１１に対して通常時と異なる操作を行うことで、電池パック２０に対して充電モードや余地充電容量上限値４５２を簡便に設定することができる。またユーザは、インジケータ７１２を参照することにより、現在、電池パック２０に設定されている充電モード等の情報を容易に確認することができる。
【００６１】
充電モードの設定方法としては様々なものが考えられるが、例えば、入力回路２０８及び出力回路２０９が図７（ａ）に示す態様である場合、例えば、ユーザがプッシュボタン７１１に対して所定の操作（例えば、プッシュボタン７１１を所定時間（数十秒程度）以上長押しする操作やプッシュボタン７１１を短時間に複数回連続して押す操作等）を行うことで、電池パック２０に設定される充電モード（現在の充電モード４５１の内容）が切り替わるようにする。
【００６２】
例えば、切り換え可能な充電モードが「満充電モード」と「余地充電モード」の２つである場合、ユーザがプッシュボタン７１１に対して所定の操作（例えば、プッシュボタン７１１を所定時間（３０秒）以上長押しする操作）を行う度に、現在の充電モード４５１の内容が上記いずれかの充電モードに交互に切り替わるようにする。
【００６３】
また例えば、切り換え可能な充電モードが３つ以上（例えば、「満充電モード」と、余地充電容量上限値４５２が異なる複数の「余地充電モード」）である場合、ユーザがプッシュボタン７１１に対して所定の操作（例えば、プッシュボタン７１１を所定時間（３０秒等）以上長押しする操作やプッシュボタン７１１を短時間に複数回連続して押す操作等）を行う度に、現在の充電モード４５１の内容が上記いずれかの充電モードに循環的（サイクリックに）に切り替わるようにする。
【００６４】
尚、ユーザの誤操作を防ぐべく、充電モードの切り換えを指示する際にプッシュボタン７１１に対して行う操作は、他の操作、例えば、電池残量の出力指示や電池パック２０の診断(例えば、電池寿命や充電制限、放電制限、使用禁止などの異常状態の判別)時の操作（例えば、長押しでない操作）との違いが明確になるようにすることが好ましい。
【００６５】
また不用意に充電モードが切り換わることのないように、例えば、充電モード設定部４１３が、電池パック２０が現在、充電器３０に接続されていることや、電池パック２０が現在、モータ駆動装置１００に接続されていることを条件として、充電モードの切り換え指示を受け付けるようにしてもよい。また例えば、入力回路２０８や入力処理部４１６が、電池パック２０に充電器３０が接続されていないときは充電器３０に接続されているときに比べてユーザが行った操作に対する反応が鈍くなるように動作する（例えば、長押しの時間（反応時間）を長くする）ようにしてもよい。
【００６６】
また安全性を高めるべく、充電モード設定部４１３が、現在、正常充電が行われていることや、充電が正常に完了していることを条件として、充電モードの切り換え指示を受け付けるようにしてもよい。また電池パック２０が保護状態になっている等、電池パック２０に何らかの障害が発生している場合に充電モード設定部４１３が充電モードの切り換え指示を受け付けないようにしてもよい。
【００６７】
図７（ｂ）は、出力回路２０９により充電モードを表示した場合の一例である。この例では、電池パック２０の現在の充電モードが「満充電モード」である場合、５つの発光ダイオードのうち両端の２つの発光ダイオードについては点灯又は点滅させ、他の３つの発光ダイオードについては消灯させている。また現在の充電モードが「余地充電モード」である場合、５つの発光ダイオードのうち両端の２つの発光ダイオードについては消灯させ、中３つの発光ダイオードについては点灯又は点滅させている。尚、ユーザが他の情報の表示と混乱することのないように、充電モードの表示が、例えば、充電モードが変更された直後の数秒間だけ行われるようにしてもよい。また例えば、充電モードの表示が、充電モードの切り換え指示を受け付け可能な状態のときにプッシュボタン７１１が押下された直後の数秒間だけ行われるようにしてもよい。また出力回路２０９（出力制御部４１７）が、電池パック２０に現在設定されている余地充電容量上限値４５２を出力するようにしてもよい。
【００６８】
以上、電池パック２０における充電モードの設定や出力（表示）に関する構成について説明したが、以上と同様の構成をモータ駆動装置１００側に設け、ユーザが操作パネル１０７を介して各種設定を行ったり電池パック２０に現在設定されている情報（充電モードや余地充電容量上限値４５２等）を確認できるようにしてもよい。尚、この場合、例えば、モータ駆動装置１００が、通信端子５２を介して適宜電池パック２０と通信することで、設定しようとする内容（充電モード、余地充電容量上限値等）の通知を電池パック２０に対して行ったり、電池パック２０側で保持されている情報（電池パック２０の状態、充電モード、余地充電容量上限値等）を電池パック２０から取得するようにする。
【００６９】
＝処理説明＝
続いて、電池パック２０及びモータ駆動装置１００において行われる処理について順に説明する。
【００７０】
＜充電モード設定処理＞
図８は、充電モードの設定に際して電池パック２０において行われる処理（以下、充電モード設定処理Ｓ８００と称する。）を説明するフローチャートである。以下、同図とともに充電モード設定処理Ｓ８００について説明する。尚、ユーザは、充電モードとして、「満充電モード」と「余地充電モード」の２つの充電モードのうちのいずれかを選択できるものとする。
【００７１】
同図に示すように、制御回路２０４は、入力回路２０８に対して操作が行われたか否かをリアルタイムに監視している（Ｓ８１１：ＮＯ）。制御回路２０４は、入力回路２０８に対して操作が行われたことを検出すると（Ｓ８１１：ＹＥＳ）、Ｓ８１２からの処理を行う。
【００７２】
Ｓ８１２では、制御回路２０４が、行われた操作が電池残量の出力を指示する操作であるか否かを判定する（Ｓ８１２）。行われた操作が電池残量の出力を指示する操作である場合（Ｓ８１２：ＹＥＳ）、制御回路２０４は、電池パック２０の電池残量を算出し、算出した値を出力回路２０９に出力する（Ｓ８１３）。その後、処理はＳ８１１に戻る。行われた操作が電池残量の出力を指示する操作でない場合（Ｓ８１２：ＮＯ）、処理はＳ８１４に進む。
【００７３】
Ｓ８１４では、制御回路２０４が、行われた操作が充電モードの切り替えを指示する操作であるか否かを判定する。行われた操作が充電モードの切り替えを指示する操作である場合（Ｓ８１４：ＹＥＳ）、制御回路２０４はＳ８１５からの処理を行う。行われた操作が充電モードの切り替えを指示する操作でない場合（Ｓ８１４：ＮＯ）、処理はＳ８１１に戻る。
【００７４】
Ｓ８１５では、制御回路２０４が、記憶している現在の充電モード４５１を参照し、電池パック２０に現在設定されている充電モードを調べる。電池パック２０に現在設定されている充電モードが「満充電モード」である場合（Ｓ８１５：満充電）、制御回路２０４は、現在の充電モード４５１の内容を「余地充電モード」に変更する（Ｓ８１６）。その後、処理はＳ８１１に戻る。一方、電池パック２０に現在設定されている充電モードが「余地充電モード」である場合（Ｓ８１５：余地充電）、制御回路２０４は、現在の充電モード４５１の内容を「満充電モード」に変更する（Ｓ８１７）。その後、処理はＳ８１１に戻る。
【００７５】
図９は、充電モードの設定に際し、電池パック２０において行われる処理の他の一例（以下、充電モード設定処理Ｓ９００と称する。）を説明するフローチャートである。以下、同図とともに充電モード設定処理Ｓ９００について説明する。尚、図８と同様、本例においても、ユーザは、充電モードとして、「満充電モード」と「余地充電モード」のいずれかを選択できるものとする。
【００７６】
同図に示すように、制御回路２０４は、入力回路２０８に対して操作が行われたか否かをリアルタイムに監視している（Ｓ９１１：ＮＯ）。制御回路２０４は、入力回路２０８に対して操作が行われたことを検出すると（Ｓ９１１：ＹＥＳ）、Ｓ９１２からの処理を行う。
【００７７】
Ｓ９１２では、制御回路２０４が、電池パック２０に現在、充電器３０が接続されているか否かを判定する。電池パック２０に現在、充電器３０が接続されていない場合（Ｓ９１２：ＮＯ）、制御回路２０４は、電池パック２０の電池残量を算出し、算出した値を出力回路２０９に出力する（Ｓ９１３）。その後、処理はＳ９１１に戻る。一方、電池パック２０に現在、充電器３０が接続されている場合（Ｓ９１２：ＹＥＳ）、処理はＳ９１４に進む。
【００７８】
Ｓ９１４では、制御回路２０４が、電池パック２０が現在、保護状態（電池パック２０に現在、何らかの異常が検出されている状態）であるか否かを判定する。電池パック２０が現在、保護状態である場合（Ｓ９１４：ＹＥＳ）、処理はＳ９１１に戻る。一方、電池パック２０が現在、保護状態でない場合（Ｓ９１４：ＮＯ）、処理はＳ９１５に進む。
【００７９】
Ｓ９１５では、制御回路２０４が、行われた操作が充電モードの切り替えを指示する操作であるか否かを判定する（Ｓ９１５）。行われた操作が充電モードの切り替えを指示する操作である場合（Ｓ９１５：ＹＥＳ）、制御回路２０４はＳ９１６からの処理を行う。一方、行われた操作が充電モードの切り替えを指示する操作でない場合（Ｓ９１５：ＮＯ）、処理はＳ９１１に戻る。
【００８０】
Ｓ９１６では、制御回路２０４が、記憶している現在の充電モード４５１を参照し、電池パック２０に現在設定されている充電モードを調べる。電池パック２０に現在設定されている充電モードが「満充電モード」である場合（Ｓ９１６：満充電）、制御回路２０４は、現在の充電モード４５１の内容を「余地充電モード」に変更する（Ｓ９１７）。その後、処理はＳ９１１に戻る。一方、電池パック２０に現在設定されている充電モードが「余地充電モード」である場合（Ｓ９１６：余地充電）、制御回路２０４は、現在の充電モード４５１の内容を「満充電モード」に変更する（Ｓ９１８）。その後、処理はＳ９１１に戻る。
【００８１】
以上に説明した充電モード設定処理Ｓ９００では、制御回路２０４が、電池パック２０に現在、充電器３０が接続されているか否かを判定し、電池パック２０に現在充電器３０が接続されている場合にのみ、充電モードの切り換え操作を受け付ける。このため、ユーザが意図しない場合等に不用意に充電モードが変更されてしまうのを防ぐことができる。また制御回路２０４が、電池パック２０が現在、保護状態であるか否かを判定し、保護状態でない場合にのみ、充電モードの切り換え操作を受け付ける。このため、何らかの異常が検出されている場合に不用意に充電モードが変更されてしまうのを防ぐことができる。
【００８２】
＜充電時処理＞
図１０は、充電器３０により電池パック２０の充電が行われる際に電池パック２０において行われる処理（以下、充電時処理Ｓ１０００と称する。）を説明するフローチャートである。以下、同図とともに充電時処理Ｓ１０００について説明する。尚、充電時処理Ｓ１０００の開始時において、電池パック２０には充電器３０が接続されていないものとし、また充電制御素子２０７はオンされているものとする。
【００８３】
同図に示すように、制御回路２０４は、当該電池パック２０に充電器３０が接続されたか否かをリアルタイムに監視している（Ｓ１０１１：ＮＯ）。制御回路２０４は、充電器３０が接続されたことを検出すると（Ｓ１０１１：ＹＥＳ）、Ｓ１０１２からの処理を行う。
【００８４】
Ｓ１０１２では、制御回路２０４は、電池パック２０が現在、充電可能な状態であるか否かを判定する。ここで充電可能な状態であるか否かは、例えば、蓄電セル２０１の現在の状態を予め設定された判定基準と比較することにより行う。上記判定基準は、例えば、蓄電セル２０１の温度が正常（例えば、０℃以上４５℃以下）か否か、蓄電セル２０１の電圧が正常（例えば、４．２５Ｖ以下）であるか否か等である。上記判定基準として、例えば、電池パック２０を安全に使用するための条件（過充電を防ぐための条件等）をさらに課してもよい。電池パック２０が現在、充電可能な状態である場合（Ｓ１０１２：ＹＥＳ）、処理はＳ１０１３に進む。電池パック２０が現在、充電可能な状態でない場合（Ｓ１０１２：ＮＯ）、処理はＳ１０１８に進む。
【００８５】
Ｓ１０１３では、制御回路２０４は、充電制御素子２０７が現在、オフであるか否かを判定する。充電制御素子２０７が現在、オンである場合（Ｓ１０１３：ＮＯ）、処理はＳ１０１５に進む。充電制御素子２０７が現在、オフである場合（Ｓ１０１３：ＹＥＳ）、制御回路２０４は、充電制御素子２０７をオンする（Ｓ１０１４）。尚、充電制御素子２０７をオンすることにより充電器３０から電池パック２０への充電電流の供給が開始され、電池パック２０の充電が開始される。
【００８６】
Ｓ１０１５では、制御回路２０４は、現在の充電モード４５１を参照し、電池パック２０に現在設定されている充電モードを調べる。電池パック２０に現在設定されている充電モードが「満充電モード」である場合（Ｓ１０１５：満充電）、制御回路２０４は、電池パック２０の充電容量が満充電に達するまで充電を継続する（Ｓ１０１６）。制御回路２０４が、電池パック２０の充電容量が満充電に達したと判定すると（Ｓ１０１６：ＹＥＳ）、処理はＳ１０１８に進む。
【００８７】
一方、電池パック２０に現在設定されている充電モードが「余地充電モード」である場合（Ｓ１０１５：余地充電）、制御回路２０４は、電池パック２０の充電容量が余地充電容量上限値４５２に達するまで充電を継続する（Ｓ１０１７）。制御回路２０４が、電池パック２０の充電容量が余地充電容量上限値４５２に達したと判定すると（Ｓ１０１７：ＹＥＳ）、処理はＳ１０１８に進む。
【００８８】
Ｓ１０１８では、制御回路２０４は、充電制御素子２０７をオフする。その後、処理は終了する。尚、このように充電が完了した後は充電制御素子２０７がオフされているので、電池パック２０を電動アシスト自転車１に装着して走行する際は充電制御素子２０７をオンして電池パック２０を充放電（回生充電、アシスト動作のための放電）が可能な状態にする必要がある。充電制御素子２０７をオンする仕組みについては後述する。
【００８９】
ところで、以上に説明した充電時処理Ｓ１０００は、電池パック２０が主体となって行う処理であるため、「余地充電モード」による充電の仕組みを実現するにあたり、充電器３０側に新たな構成や仕組みを設ける必要がなく、例えば、既存の充電器３０の構成をそのまま利用して実現することができる。
【００９０】
＜充電制御の例＞     
図１１は、充電時処理Ｓ１０００により電池パック２０の充電を行った際における、蓄電セル２０１の端子間電圧の変化の一例である。同図において、ｔ１は充電モードが「余地充電モード」である場合の充電完了時点を示す。この例では、蓄電セル２０１の端子間電圧が３．９Ｖに達した時点で充電制御素子２０７をオフして充電を停止している。ｔ２は充電モードが「満充電モード」である場合の充電完了時点を示す。この例では、蓄電セル２０１の端子間電圧が４．２Ｖに達した時点で充電制御素子２０７をオフして充電を停止している。
【００９１】
図１２は、充電時処理Ｓ１０００により電池パック２０の充電を行った際における、蓄電セル２０１のＳＯＣの変化の一例である。同図において、ｔ１は充電モードが「余地充電モード」である場合の充電完了時点を示す。この例ではＳＯＣが８０％に達した時点で充電制御素子２０７をオフして充電を停止している。ｔ２は充電モードが「満充電モード」である場合の充電完了時点を示す。この例では、ＳＯＣが１００％に達した時点で充電制御素子２０７をオフして充電を停止している。
【００９２】
＜充電制御素子オン処理＞
図１３は、電池パック２０が充電制御素子２０７をオンする処理（以下、充電制御素子オン処理Ｓ１３００）を説明するフローチャートである。図１０に示したように、充電器３０による充電が完了した後、電池パック２０の充電制御素子２０７はオフされている（Ｓ１０１８）。そこで充電が完了した電池パック２０が電動アシスト自転車１に装着された際、電池パック２０は、この充電制御素子オン処理Ｓ１３００を実行して充電制御素子２０７をオンとし、回生充電やアシスト動作のための放電が可能な状態とする。
【００９３】
同図に示すように、制御回路２０４は、（当該電池パック２０が）モータ駆動装置１００が接続されたか否か（当該電池パック２０が電動アシスト自転車１に装着されたか否か）をリアルタイムに監視している（Ｓ１３１１）。制御回路２０４は、モータ駆動装置１００が接続されたか否かを、例えば、モータ駆動装置１００の間で通信端子５２を介して所定の通信（例えば、予め設定された情報の授受）が可能か否かに基づき判定する。制御回路２０４は、（当該電池パック２０が）モータ駆動装置１００に接続されたと判定すると（Ｓ１３１１：ＹＥＳ）、Ｓ１３１２からの処理を行う。
【００９４】
Ｓ１３１２では、制御回路２０４は、充電制御素子２０７が現在、オフであるか否かを判定する。充電制御素子２０７が現在、オンである場合（Ｓ１３１２：ＮＯ）、充電制御素子オン処理Ｓ１３００は終了する。充電制御素子２０７が現在、オフである場合（Ｓ１３１２：ＹＥＳ）、制御回路２０４は、Ｓ１３１３からの処理を行う。
【００９５】
Ｓ１３１３では、制御回路２０４は、電池パック２０が現在、充電可能な状態であるか否かを判定する。ここで充電可能な状態であるか否かは、例えば、蓄電セル２０１の現在の状態を予め設定された判定基準と比較することにより行う。上記判定基準は、例えば、蓄電セル２０１の温度が正常（例えば、０℃以上４５℃以下）か否か、蓄電セル２０１の電圧が正常（例えば、４．２５Ｖ以下）であるか否か等である。上記判定基準として、例えば、電池パック２０を安全に使用するための条件（過充電や過放電を防ぐための条件等）をさらに課してもよい。電池パック２０が現在、充電可能な状態である場合（Ｓ１３１３：ＹＥＳ）、制御回路２０４は充電制御素子２０７をオンする（Ｓ１３１４）。電池パック２０が現在、充電可能な状態でない場合（Ｓ１３１３：ＮＯ）、充電制御素子オン処理Ｓ１３００は終了する。
【００９６】
尚、以上に示した仕組みの他、充電完了後にオフされた充電制御素子２０７をオンにする仕組みとして、例えば、蓄電セル２０１への充電電流の供給を停止した後、充電器３０の接続が解除されたことを条件として充電制御素子２０７をオンする機能（図４のスイッチ素子制御部４１２３）を充電制御部４１２に設けてもよい。
【００９７】
＜回生充電処理＞
図１４は、電動アシスト自転車１に装着された電池パック２０に対して回生充電が行われる際にモータ駆動装置１００の駆動回路１０２２が行う処理（以下、回生充電処理Ｓ１４００と称する。）を説明するフローチャートである。以下、同図とともに回生充電処理Ｓ１４００について説明する。尚、回生充電処理Ｓ１４００の開始時において、電池パック２０は電動アシスト自転車１に既に装着されモータ駆動装置１００に接続されているものとし、また充電制御素子２０７はオンされているものとする。
【００９８】
同図に示すように、駆動回路１０２２は、ブレーキセンサ１０４から入力される信号に基づき、ブレーキレバー６が操作されたか否かをリアルタイムに監視している（Ｓ１４１１：ＮＯ）。駆動回路１０２２は、ブレーキレバー６が操作されたことを検出すると（Ｓ１４１１：ＹＥＳ）、Ｓ１４１２からの処理を行う。尚、本例では、ブレーキレバー６が操作されたことを回生充電を開始する契機としているが、他の事象を回生充電を開始する契機としてもよい。
【００９９】
Ｓ１４１２では、駆動回路１０２２は、電池パック２０が現在、充電可能な状態であるか否かを判定する。ここで充電可能な状態であるかは、例えば、電池パック２０の端子間電圧や通信端子５２を介して電池パック２０と通信することにより取得される蓄電セル２０１の現在の状態を、予め設定された判定基準と比較することにより行う。上記判定基準は、例えば、蓄電セル２０１の温度が正常（例えば、０℃以上４５℃以下）か否か、蓄電セル２０１の電圧が正常（例えば、３．９Ｖ以下）であるか否か等である。上記判定基準として、例えば、電池パック２０を安全に使用するための条件（過充電を防ぐための条件等）をさらに課してもよい。電池パック２０が現在、充電可能な状態である場合（Ｓ１４１２：ＹＥＳ）、処理はＳ１４１３に進む。電池パック２０が現在、充電可能な状態でない場合（Ｓ１４１２：ＮＯ）、処理はＳ１４１１に戻る。
【０１００】
Ｓ１４１３では、駆動回路１０２２は、電池パック２０に対して回生充電を開始する。回生充電の開始後、駆動回路１０２２は、Ｓ１４１１やＳ１４１２と同様、ブレーキレバー６が現在、操作されているか、電池パック２０が現在、充電可能な状態であるか否かをリアルタイムに監視する（Ｓ１４１４，Ｓ１４１５）。ブレーキレバー６が現在操作されていなければ（Ｓ１４１４：ＮＯ）、駆動回路１０２２は回生充電を停止する（Ｓ１４１６）。また電池パック２０が現在、充電可能な状態でなければ（Ｓ１４１５：ＮＯ）、駆動回路１０２２は回生充電を停止する（Ｓ１４１６）。その後、処理はＳ１４１１に戻る。
【０１０１】
以上に説明したように、本実施形態の電池パック２０は、充電モードが「余地充電モード」に設定されている場合、充電余地を残して充電を停止するので、ユーザは、充電器３０による充電が完了した直後から、回生動作により得られる制動力をブレーキの制動力として利用することができる。また「余地充電モード」により十分な充電余地を残して充電を完了することでユーザが走行中にブレーキのフィーリングに違和感を感じることもない。尚、満充電の状態で電池パック２０に回生充電を行うと電池パック２０の劣化や故障に繋がる可能性があるが、「余地充電モード」で充電を行うことで電池パック２０の劣化や故障を防ぐこともできる。
【０１０２】
＜サージ電圧の抑制＞
図１０のＳ１０１８では、電池パック２０への充電を完了させるために充電制御素子２０７をオフしているが、この際、充電制御素子２０７を含む電池パック２０の内部回路の寄生インダクタンスに起因するサージ電圧が発生し、内部回路の誤動作や素子の破損等に繋がる可能性がある。このサージ電圧を抑制する仕組みとしては、例えば、次のようなものが考えられる。
【０１０３】
図１５（ａ），（ｂ）は、いずれも充電制御素子２０７周辺の回路構成を示した図であり、充電制御素子２０７が電界効果トランジスタを用いて構成されている場合に電池パック２０の内部回路に生じるサージ電圧を抑制する仕組みの例である。図１５（ａ），（ｂ）において、Ｒ１，Ｒ２は電荷引き抜き抵抗であり、Ｒ３，Ｒ４はゲートプルダウン抵抗である。またＴＲ１，ＴＲ２は、いずれも制御回路２０４等からの制御信号によって充電制御素子２０７を駆動するトランジスタである。充電制御素子２０７がオフした際は、電荷引き抜き抵抗Ｒ１，Ｒ２を介して充電制御素子２０７のゲート〜ソース間の電荷が引き抜かれる。
【０１０４】
図１５（ａ）に示すように、この例では、充電制御素子２０７のゲート〜ソースの間に容量素子Ｃ１を設けている。このような構成とした場合、充電制御素子２０７がオフした際、充電制御素子２０７及び電荷引き抜き抵抗Ｒ１を介してゲート〜ソース間の電荷が抜けて充電制御素子２０７がハイインピーダンスとなるまでに所定時間を要し、その結果、サージ電圧の発生を抑制することができる。
【０１０５】
図１５（ｂ）に示すように、この例では、正側ライン２１に充電制御素子２０７を複数（本例では２つ）、並列に設けている。また複数の充電制御素子２０７の一部（本例では２つの充電制御素子２０７の一方）についてはオン抵抗が他方よりも高いものを用いている。充電制御素子２０７をオフする場合、まずオン抵抗の低い充電制御素子２０７を先にオフし、その後、時間をあけてオン抵抗の高い充電制御素子２０７をオフする。これにより、オン抵抗の低い充電制御素子２０７がオフした際、オン抵抗の高い充電制御素子２０７によって電流が制限され、その結果、充電電流の急峻な変化が抑えられてサージ電圧の発生を抑制することができる。
【０１０６】
以上、本発明の実施の形態を説明したが、本発明はこれに限定されない。上述した各部材の素材、形状、及び配置は、本発明を実施するための実施形態に過ぎず、発明の趣旨を逸脱しない限り、様々な変更を行うことができる。
【０１０７】
例えば、以上の実施形態では、充電制御素子２０７をオフすることで電池パック２０の充電を停止させているが、例えば、図１６に示すように、正側ライン２１に充電電流を遮断するためのスイッチ素子２７０（電界効果トランジスタ等）を別途設け、このスイッチ素子２７０を制御回路２０４がオフすることにより充電電流を遮断するようにしてもよい。
【０１０８】
また「余地充電モード」にて満充電に達しない充電が繰り返し行われると、充電容量取得部４１４が算出する充電容量と実際の充電容量との間に誤差が生じることがある。そこでこの誤差を解消すべく、例えば、電池パック２０の制御回路２０４が、充電器３０による充電回数（もしくは「余地充電モード」による充電回数）をカウントし、カウントした値が所定回数に達する度に自動的に「満充電モード」に移行して満充電まで充電を行うようにしてもよい。ここで制御回路２０４は、充電電圧及び充電電流に基づき電池パック２０が満充電になったタイミングを正確に検出することができるので、例えば、満充電を検出したタイミングで充電容量取得部４１４が算出した充電容量を満充電に対応する値として制御回路２０４が再認識することで上記誤差を補正することができる。
【０１０９】
以上では、電動補助車両の一例として電動アシスト自転車１について説明したが、本発明は、電動アシスト車椅子等、他の種類の電動補助車両にも広く適用することができる。
【符号の説明】
【０１１０】
１  電動アシスト自転車、２０  電池パック、１００  モータ駆動装置、１０１  モータ、
１０２  モータ駆動制御器、１０２１  インバータ、１０２２  駆動回路、１０４  ブレーキセンサ、１０７  操作パネル、２０４  制御回路、２０５  オンオフ制御回路、２０６  放電制御素子、２０７  充電制御素子、２０８  入力回路、２０９  出力回路、４１１  監視制御部、４１２  充電制御部、４１２１  余地充電制御部、４１２２  満充電制御部、４１２３  スイッチ素子制御部、４１３  充電モード設定部、４１４  充電容量取得部、４１５  充電器接続検出部、４１６  入力処理部、４１７  出力制御部、４１８  通信制御部、４５１  現在の充電モード、４５２  余地充電容量上限値、５２２  制御回路、６１１  充電制御部、６１２  検出信号出力部
【図１】
0006599743.tif 000002
【図２】
0006599743.tif 000003
【図３】
0006599743.tif 000004
【図４】
0006599743.tif 000005
【図５】
0006599743.tif 000006
【図６】
0006599743.tif 000007
【図７】
0006599743.tif 000008
【図８】
0006599743.tif 000009
【図９】
0006599743.tif 000010
【図１０】
0006599743.tif 000011
【図１１】
0006599743.tif 000012
【図１２】
0006599743.tif 000013
【図１３】
0006599743.tif 000014
【図１４】
0006599743.tif 000015
【図１５】
0006599743.tif 000016
【図１６】
0006599743.tif 000017