以下、本発明の充電システムおよび充電装置の実施形態について図を参照して説明する。図1および図2に示すように、本実施形態に係る充電システム2は、電動車両として、バッテリ式フォークリフト(以下「フォークリフト」という)10のバッテリ20を充電するものであり、複数のフォークリフト10a,10b,10c,10d,10e,10f,10g(以下「フォークリフト10a〜10g」という)のそれぞれに搭載されたバッテリ20a,20b,20c,20d,20e,20f,20g(以下「バッテリ20a〜20g」という)に対応可能に構成されている。フォークリフト10は、搭載したバッテリ20から供給される電力で駆動する電動車両の一例であり、本実施形態の電動車両には、例えば、無人搬送車(AGV;Automated guided vehicle)、電動カートや電動車椅子等が含まれる。
本実施形態の充電システム2は、例えば、1台の充電装置50と、複数のフォークリフト10a〜10gに搭載されたバッテリ20a〜20gにそれぞれ内蔵されるBMU30a,30b,30c,30d,30e,30f,30g(以下「BMU30a〜30g」という)と、から構成されている。BMUは、前述した電池管理装置(BMU;Battery Management Unit)のことである。本実施形態では、バッテリ20a〜20gは、フォークリフト10a〜10gに搭載された状態のままで充電ケーブル70を介して充電装置50に電気的に接続されて充電できるように構成されている。充電装置50とBMU30a〜30gは、後述するように無線通信回線90を介して情報通信可能に構成されている。
図2に示すように、充電装置50は、交流電源ACから入力された3相交流電力をバッテリ20に適した直流電力に変換して出力するものである。充電装置50は、例えば、主に、整流部52、電圧変換部53、制御部54、通信部58等により構成されており、これらは金属製のハウジング51内に収容されている。ハウジング51には、例えば、3相交流電源ACからの3相交流電力が入力される入力端子、後述の充電ケーブル70が接続される出力端子や後述する充電開始スイッチ51a等が設けられている。
整流部52は、例えば、3相交流電源ACから供給される3相200Vの交流電圧の全相(U相,V相,W相)について全波整流可能に複数のダイオードにより構成される半導体モジュールであり、入力側にハウジング51に設けられる入力端子に接続され、出力側に電圧変換部53が接続されている。なお、本実施形態では、整流部52の入力側には、後述するゼロクロス検出部57も接続されている。
電圧変換部53は、整流部52から出力される直流電圧を降圧するDC−DCコンバータであり、例えば、半導体スイッチング素子とインダクタ等からなる降圧チョッパ回路により構成されている。半導体スイッチング素子には、例えばIGBT(絶縁ゲートバイポーラトランジスタ)が用いられ、スイッチング周波数(周期)を変化させることによって出力電圧を制御する。電圧変換部53の出力側には、出力電圧に含まれ得るスイッチングノイズやリップル成分を除去可能な平滑コンデンサ55が出力と並列に設けられている。
制御部54は、電圧変換部53の出力電圧や出力電流を制御するコントローラであり、例えば、MPU、メモリ(RAM、ROM)、インタフェース等により構成されるマイコンモジュールである。本実施形態では、制御部54には、電圧センサ56a、電流センサ56bやゼロクロス検出部57等が接続されており、これらから出力される出力電圧、出力電流や入力電圧の情報が入力される。
即ち、電圧変換部53の出力側に並列に接続されている電圧センサ56aと、同出力側に直列に接続されている電流センサ56bとから、電圧変換部53の出力電圧や出力電流の情報が制御部54に入力される。また、3相交流電源ACから供給される3相交流電圧の所定の2相間に接続されているゼロクロス検出部57から、ゼロクロス点のタイミング情報が制御部54に入力される。ゼロクロス点は、交流電圧の極性が周期的に切り替わる点のことである。
制御部54では、電圧センサ56a、電流センサ56bやゼロクロス検出部57から入力される、出力電圧、出力電流およびゼロクロスタイミングの情報に基づいて、電圧変換部53のスイッチング素子をオンオフする制御(スイッチング制御)を3相交流電圧に同期させて行っている(後述する充電処理)。また本実施形態では、制御部54は、後述する各実施形態におけるバッテリ識別処理等も行う。なお、これらの制御処理については、図4以降を参照しながら後で詳述する。
通信部58は、無線通信回線90を介してBMU30a〜30gと情報通信可能な近距離無線通信が可能な無線ユニット(例えば、Bluetooth(登録商標)や ZigBee(登録商標)等の無線規格に準拠したもの)であり、ハウジング51の外に設けられるアンテナ59を備えている。本実施形態では、通信部58は、制御部54に接続されており、BMU30a〜30gから送られてくるバッテリ20a〜20gの充電情報を受信して通信部58に出力したり、制御部54から送出する制御情報をBMU30a〜30gに送信したりし得るように構成されている。
なお、ハウジング51に設けられている充電開始スイッチ51aは、例えば、ボタンを押している間だけオン状態になるモーメンタリタイプの押しボタン式のスイッチであり、制御部54に接続されている。本実施形態では、充電を開始する際に作業者等が充電開始スイッチ51aを押下操作(オン操作)をすることによって、制御部54にプレ充電開始(または充電開始)のトリガ信号が入力される。
このように構成される充電装置50は、ハウジング51に取り付けられた充電ケーブル70を介して出力電力(出力電圧、出力電流)をバッテリ20に出力する。つまり、充電電力(充電電圧、充電電流)をバッテリ20に供給する。本実施形態では、バッテリ20は、例えば、フォークリフト10内に収容されており運転席内等に設けられた充電レセプタ12に充電ケーブル70の出力コネクタ73を接続することにより充電が行われる。充電レセプタ12とバッテリ20の間は電力ケーブル15により電気的に接続されている。
図3(A)および図3(B)に示すように、バッテリ20は、主に、バッテリケース21とバッテリケース21内に収容されているバッテリセル群23とから構成されている。バッテリセル群23は、例えば、単体で公称電圧2Vを出力可能なバッテリセルを24個直列に接続して48Vの直流電圧を出力し得るように構成されている。12個を直列に接続して24Vの直流電圧を出力し得るものもある。定格容量は、バッテリセルの単体容量または並列接続数により異なり、例えば、280Ah、320Ahや450Ah等である。
このようにバッテリセル群23は組電池であり、本実施形態では、鉛蓄電池(以下「鉛電池」という)で構成されている場合、リチウムイオン二次電池(以下「リチウム電池」という)で構成されている場合やニッケル水素充電池(以下「ニッケル水素電池」という)で構成されている場合等がある。なお、以下、バッテリセルのことを単に「セル」と表現する場合がある。
バッテリケース21には、プラス端子21aとマイナス端子21bが設けられている。プラス端子21aはバッテリセル群23の陽極端子に接続され、マイナス端子21bはバッテリセル群23の陰極端子に接続されている。本実施形態では、これらの端子21a,21bは、端子カバー17で覆われているとともに、ケーブル15を介して充電レセプタ12のプラス端子12aやマイナス端子12bに電気的に接続されている。なお、充電レセプタ12のプラス端子12aは、充電ケーブル70の出力コネクタ73のプラス端子75aに、またマイナス端子12bは出力コネクタ73のマイナス端子75bにそれぞれ接続され得るように構成されている。
本実施形態のバッテリ20には、BMU30,30’(BMU30a〜30g)が設けられている。BMU30,30’は、例えば、制御部31、通信部32、電圧センサ36、電流センサ37、温度センサ38等により構成されている。BMU30,30’は、バッテリ20に対する取り付け方が異なる。即ち、図3(A)に示すように、バッテリ20の中に予め組み込まれている内蔵タイプのBMU30は、当該BMU30を構成する制御部31等がバッテリ20のバッテリケース21内に収容されている。
これに対して、図3(B)に示すように、バッテリ20の外に取り付けられる後付けタイプのBMU30’は、制御部31および通信部32を収容したハウジング35がバッテリケース21に取り付けられているとともに、プラス端子21aとマイナス端子21bに接続される電圧センサ36や電流センサ37が端子カバー17内に収容されている。温度センサ38は、バッテリケース21の温度を計測可能にハウジング35内に設けられる。
このように構成されるBMU30,30’のうち、本実施形態では、バッテリ20(20a〜20g)に内蔵タイプのBMU30を搭載している。しかし、BMUが内蔵されていないバッテリの場合には後付けタイプのBMU30’を取り付けてもよい。
制御部31は、例えば、MPU、メモリ、インタフェース等が同一モジュール内に組み込まれたワンチップマイコンにより構成されている。また通信部32は、充電装置50の通信部58と無線通信可能な近距離無線モジュール(例えば、Bluetooth(登録商標)や ZigBee(登録商標)等の無線規格に準拠したもの)でありアンテナ33を備えている。制御部31と通信部32は電気的に接続されており、制御部31は、無線通信回線90を介して充電装置50の制御部54と情報通信可能に構成されている。
電圧センサ36は、バッテリ20の端子間電圧を計測可能にプラス端子21aとマイナス端子21bの間に接続されている。電流センサ37は、プラス端子21aに流れる電流を計測可能にバッテリセル群23の陽極端子とプラス端子21aの間(またはプラス端子21aに直列)に接続されている。温度センサ38は、バッテリセル群23の表面温度や、バッテリセル群23を構成するセルのうち予め定められた所定のセル内の電解液の温度を直接的(または間接的)に計測可能に設けられる。
これらのセンサ36,37,38は、いずれもその出力が制御部31に接続されており、電圧情報、電流情報および温度情報が制御部31に入力され得るように構成されている。なお、図3には図示されていないが、セル内の電解液の液量を、予め定められた所定のセルについて計測する液量センサを備えている場合がある。所定のセルが複数のときには液量センサも当該セル数に対応して複数設けられる。液量センサを備えている場合には、その出力は制御部31に接続されて、液量情報が制御部31に入力され得るように構成される。
なお、バッテリセル群23を構成する各セルごとに、電圧、電流、温度や電解液の液量を計測し得る各センサを設けるとともに各セルを複数のセルグループに分けてこれらのセルグループごとに制御モジュールを設けて、各セルグループの制御モジュールがそれぞれのセンサデータ(電圧情報、電流情報、温度情報、液量情報)を制御部31に送出し得るように、本実施形態のBMU30を構成してもよい。これにより、バッテリセル群23を構成する各セルごとに詳細な電圧情報等が得られるため、バッテリ20のより正確かつ緻密な状態情報を収集したり充電装置50に送信したりすることが可能になる。
このように構成されるBMU30は、それぞれが監視するバッテリ20の放電状態に関する情報(放電情報)や充電状態に関する情報(充電情報)を取得して外部に送信する。本実施形態では、後述する充電状態監視処理をBMU30の制御部31が実行することによって、バッテリ20の充電情報を充電装置50の制御部54に適宜送信する。これにより、充電装置50の制御部54は、後述するバッテリ識別処理を実行することによって、現在、充電しているバッテリ20を複数のバッテリ20a〜20gの中から識別することが可能になる。
このような充電装置50および複数のBMU30で構成される充電システム2では、バッテリ20(20a〜20g)のセルの種類(例えば、鉛電池、リチウム電池、ニッケル水素電池等)、公称電圧(例えば、24V、36V、48V等)や定格容量(例えば、280Ah、320Ahや450Ah等)に適した充電特性の充電方式でバッテリ20a〜20gの充電を行う。そのため、以下、充電装置50の充電方式ごとに適した充電システムの実施形態(第1実施形態〜第3実施形態)を例示して説明する。
[第1実施形態]
まず、第1実施形態では、上述した複数のバッテリ20a〜20gが同じ種類の電池ではなく、2種類以上の二次電池(異なる二次電池)である場合にも適用することが可能な充電システム2Aを例示して説明する。具体的には、例えば、図1に示すフォークリフト10a,10bのバッテリ20a,20bがリチウム電池で構成されており、その他のフォークリフト10c,10d,10e,10f,10gのバッテリ20c,20d,20e,20f,20gがそれぞれ鉛電池で構成されている場合等である。
本第1実施形態の充電システム2Aでは、充電装置50の制御部54が図4および図5に示す充電制御処理を行い、BMU30の制御部31が図6に示す充電状態監視処理を行う。充電装置50により行われる図4に示す充電制御処理から説明する。
この充電制御処理は、制御部54のメモリ(ROM)に記憶された充電制御プログラムを制御部54のMPUが実行することにより実現される。充電制御プログラム(充電制御処理)は、例えば、充電装置50が備える図略の電源スイッチがオン操作された直後から制御部54により起動され、同電源スイッチがオフ操作されるまで実行され続ける。
図4に示すように、充電制御処理では、まずステップS101により所定の初期化処理が行われる。この処理では、例えば、制御部54のメモリ(RAM)の本処理用のワーク領域やフラグ(保存フラグ等)をクリアしたり、電圧変換部53や通信部58に初期設定用の制御コマンドを送出したりする。
次のステップS103ではバッテリ識別処理が行われる。この処理は、これから充電装置50が充電を行うバッテリ20を複数のバッテリ20a〜20gから識別して特定するものであり、サブルーチンとして図5にその流れが図示されている。そのため、ここからは図5を主に参照しながら説明する。
図5に示すように、バッテリ識別処理では、まずステップS201によりバッテリ情報受信処理が行われる。この処理は、後述するように、複数のバッテリ20a〜20gに対応するそれぞれのBMU30a〜30gから、無線通信回線90を介して送信されてくるバッテリ20a〜20gのバッテリ情報を受信する。バッテリ情報は、基本情報と状態情報を含むものである。基本情報は、例えば、ID(identifier)、公称電圧、定格容量、充電レート等により構成されている。
IDは、各BMU30a〜30gに固有の識別子(識別情報)であり、例えば1バイトの情報でID=0〜255が表現される。本第1実施形態では、各BMU30a〜30gは、各バッテリ20a〜20gに対して一対一の関係で対応づけられている。またこれらのバッテリ20a〜20gも、各フォークリフト10a〜10gに対して一対一の関係で対応づけられている。
このため、各BMU30a〜30gに固有のIDは、各バッテリ20a〜20gにも、また各フォークリフト10a〜10gにも固有の識別子として機能し得る。したがって、本明細書においては、IDが各バッテリ20a〜20gや各フォークリフト10a〜10gに固有である旨を記載する場合があることに注意されたい。
公称電圧(V)は、バッテリ20を通常の状態で使用した場合に得られる出力電圧であり、例えば、24V、36Vや48V等である。定格容量(Ah)は、バッテリ20の満充電電圧から放電終止電圧に至るまでに得られる電気量のことであり、例えば、280Ah、320Ahや450Ah等である。なお、本第1実施形態では、ID=1〜9は充電装置50の通信部58に付与されているので、BMU30は10〜254がIDとして付与される。なお、例えば、ID=0と255は一斉送信時の宛先IDとして利用される。
充電レートは、いわゆるCレート(バッテリを定電流で充電や放電させた場合に1時間で完全に充電させたり放電させたりする電流の大きさのこと)であるが、本第1実施形態では、充電装置50が充電を行う場合において、充電開始段階(充電初期段階)等にバッテリ20に供給すべき単位時間当たりの充電電流値を表す。なお、この充電電流値は、充電を開始するバッテリ20の状態(端子間電圧、電流、積算放電量、温度等)により適宜変更する必要がある。
一方、状態情報は、バッテリ20の端子間電圧(V)、入出力電流(A)、積算放電量(Ah)、温度(バッテリセル群23の表面温度またはセル内の電解液の温度)(℃)、セル内の電解液の液量(cc)等である。BMU30の構成によっては、バッテリセル群23を構成する各セルごとの電圧(V)、電流(A)、温度(℃)、液量(cc)、充電開始時からの端子間電圧の変化率(V/時間)等が含まれる場合もある。また、電流が流れる方向に基づいて当該バッテリ20が放電中であるか充電中であるかを制御部31が把握可能であるため、状態情報に充放電情報が含まれる場合がある。なお、バッテリ20の端子間電圧や入出力電流およびセルごとの電圧や電流は、いずれもセンサにより計測されたタイミングにおける瞬時値である。また、温度や液量もそれらの計測時の値である。
バッテリ情報受信処理(S201)によりバッテリ20a〜20gのいずれかのバッテリ情報(基本情報および状態情報)が取得されると、そのバッテリ情報は、次のステップS202により制御部54のメモリに記憶される。そして、このようなステップS201,S202による各処理を、充電装置50が通信可能な所定の範囲に存在する全てのフォークリフト10のバッテリ20について行い、それらのバッテリ情報が制御部54のメモリに全て記憶されるまで繰り返し行われる(S203;No)。
通信可能な所定の範囲にフォークリフト10が存在するか否かは、例えば、通信部58から得られる通信可能(または通信不可)の情報や受信信号強度(RSSI; Received Signal Strength Indication)の情報に基づいて判定する。また、通信可能な所定の範囲に存在する全てのフォークリフト10のバッテリ20のバッテリ情報を記憶することができたか否かは、例えば、当該所定の範囲に存在するフォークリフト10のバッテリ情報を取得しその情報に基づいて判定したり、予め定められた時間が経過したか否かで判定したりする。
例えば、図1においては、充電装置50の通信可能範囲に存在する3台のフォークリフト10a〜10cについてバッテリ20a〜20cのバッテリ情報をBMU30a〜30cから受信することができるまでステップS201,S202の各処理を行う。
後述するように、バッテリ情報は、例えば、コンテンション方式では数ミリ秒ごとにBMU30から充電装置50に送信される。そのため、所定の信号強度以上の受信信号や信号強度に関係なく受信できた受信信号から得られたバッテリ情報を所定時間(例えば1秒間)内に取得して記憶することによって、通信可能な所定の範囲に存在する全てのフォークリフト10についてそれらのバッテリ情報を記憶することができたとみなす。
また、例えば、ポーリング方式では充電装置50からBMU30a〜30gに対してポーリング信号を送信しそれに呼応可能なBMU30a等がレスポンス信号やバッテリ情報を充電装置50に送信する。このような場合には、充電装置50からBMU30a等にポーリング信号が届きかつBMU30a〜30gから充電装置50にレスポンス信号が届く範囲が所定の通信可能な範囲になる。そして、予め定められているポーリングシーケンスが一巡または二巡したところで所定の通信可能な範囲に存在する全てのフォークリフト10についてそれらのバッテリ情報を記憶することができたとみなす。
ステップS203により通信可能な所定の範囲に存在する全てのフォークリフト10のバッテリ情報を記憶することができたと判定された場合には(S203;Yes)、ステップS204によりプレ充電電流算出処理が行われる。プレ充電は、充電装置50がバッテリ20に対してバッテリ20の仕様や性能に合致した最適な充電を開始する前に行われる。本第1実施形態では、通常の充電電流よりも小さい電流値であってバッテリ20を識別するために必要な最小値の充電電流(プレ充電電流)を当該バッテリ20に流す。
このため、このプレ充電電流算出処理では、ステップS202によりメモリに記憶されたバッテリ20a等のバッテリ情報(基本情報および状態情報)に基づいてプレ充電電流値が計算される。例えば、制御部54のメモリに記憶されたバッテリ20a等の基本情報から各バッテリ20a等の充電レートを参照するとともに各バッテリ20a等の状態情報(端子間電圧、電流、積算放電量、温度等)に基づいて、各バッテリ20a等ごとに充電開始時における適切な充電電流値を算出する。そして、算出された各バッテリ20a等ごとの充電電流値のうちで最も小さい充電電流値を選択してそれをプレ充電電流値にする。
つまり、充電装置50の通信可能範囲に存在する、どのフォークリフト10a等のバッテリ20a等であっても、この充電電流値であればバッテリ20等が故障しない安全値(最小電流値)がプレ充電電流値として算出される。
なお、このステップS204は、プレ充電電流算出処理に代えてプレ充電電圧算出処理を用いてもよい。即ち、ステップS202によりメモリに記憶されたバッテリ20a等のバッテリ情報(基本情報および状態情報)に基づいて、通常の充電電圧よりも小さい電圧値であってバッテリ20aを識別するために必要な充電電流をバッテリ20a等に流すことが可能なプレ充電電圧値を計算するようにアルゴリズムを構成してもよい。例えば、充電装置50の通信可能範囲に存在する、どのフォークリフト10a等のバッテリ20a等であっても、この充電電圧値であればバッテリ20等が故障しない安全値(最小電圧値)がプレ充電電圧値として算出される。
続くステップS206では、充電ケーブル70がバッテリ20に接続されかつプレ充電開始操作の有無の判定処理が行われる。充電ケーブル70は、例えば、作業者等による手作業により電気的にバッテリ20に接続される。充電ケーブル70の出力コネクタ73がフォークリフト10a等の充電レセプタ12に接続された場合には、当該フォークリフト10a等のバッテリ20a等から出力される電圧(バッテリ20a等の端子間電圧)がケーブル本体71を介して電圧変換部53の出力側に現れる。そのため、このような電圧または電圧の変化を充電装置50の電圧センサ56aにより検出することによって、充電ケーブル70が充電レセプタ12(電気的にはバッテリ20)に接続されたか否かを判定することが可能になる。
また、充電装置50には、ハウジング51に充電開始スイッチ51aが設けられており、作業者等が充電開始スイッチ51aのオン操作をすることによりプレ充電開始のトリガ信号が制御部54に入力される。そのため、このようなトリガ信号の入力の有無に基づいてプレ充電開始操作の有無を判定することが可能になる。ステップS206の判定処理の結果、充電ケーブル70が接続され、かつ、プレ充電を開始する操作があったと判定された場合には(S206;Yes)、次のステップS210に処理を進める。
これに対して、充電ケーブル70が接続されていない、またはプレ充電を開始する操作がされていないと判定された場合には(S206;No)、所定期間(例えば5分間)が経過するまで待つ。そして、所定期間が経過してもこれら2つの条件を両方とも満たさない場合には(S206;Time's Up)、通信可能な所定の範囲におけるフォークリフト10a等の存在状況が変化している可能性がある。そのため、ステップS201に戻り、再びバッテリ情報受信処理からやり直す。
ステップS210ではプレ充電開始処理が行われる。この処理では、充電装置50に充電ケーブル70を介して接続されているバッテリ20に対してプレ充電が開始される。プレ充電により当該バッテリ20に供給される充電電流は、ステップS204のプレ充電算出処理により得られたプレ充電電流値に設定されている。なお、プレ充電電流算出処理に代えてプレ充電電圧算出処理が用いられている場合には、その処理により得られてプレ充電電圧値に設定された充電電圧が当該バッテリ20に供給される。以下、充電装置50により現在充電されているバッテリ20のことを「充電中バッテリ20p」と表現する。
ステップS210のプレ充電開始処理では、充電中の充電装置50が無線通信回線90を介して充電中バッテリ20pを特定するために必要な情報(充電情報等)を取得する対象になるバッテリ(以下「対象バッテリ」という)20xが選択される。対象バッテリ20xは、バッテリ情報の送信があったバッテリ20a等から選択される。なお、対象バッテリ20xを監視するBMU30を「対象BMU30x」等と表現する。
先の図1の例示では、バッテリ20a〜20cの中から対象バッテリ20xが選択される。選択方法は、例えば、各バッテリ20a等のBMU30a等に関連付けられたIDが最も小さい(または最も大きい)ものから先に選ばれ、IDが最も大きい(または最も小さい)ものが最後に選ばれる。ランダムに選んでもよいが、一度選択されたBMU30a等はその後の選択処理(S219)においては除外される。
なお、ステップS210によりプレ充電を開始する直前に、対象バッテリ20xを監視する対象BMU30xに対してプレ充電開始情報を無線送信する処理(プレ充電開始情報送信処理)を追加してもよい。これにより、対象BMU30xは、後述する充電状態監視処理(図6)の充電開始情報取得処理(図6に示すS305)においてプレ充電が開始された情報を比較的容易に取得することが可能になる。対象BMU30xの送信先指定は、例えば、送信データを構成する宛先IDに対象BMU30xのIDをセットすることにより行われる。
ステップS210によりプレ充電が開始されると、次のステップS211により、対象BMU30xに対し、充電情報として対象バッテリ20xの現在のバッテリ電圧を要求する情報(要求情報)を送信する処理が行われる。この処理は、後述する充電状態監視処理(図6)の要求情報受信判定処理(図6に示すS309)に関連するものである。そのため、後述するように、この要求情報を受信した対象BMU30xは、その要求内容に応じた充電情報(今回は現在の対象バッテリ20xの電圧情報)を充電装置50に送信する。
このように対象BMU30xから送信された対象バッテリ20xの現在の電圧情報は、ステップS215のバッテリ電圧情報受信処理により充電装置50の制御部54が取得する。本第1実施形態ではこのバッテリ電圧情報受信処理に先立ってステップS213により出力電圧情報取得処理が行われる。この処理では、充電装置50が現在出力している電圧、つまりプレ充電の電圧情報を制御部54が電圧センサ56aから取得する。
このように本第1実施形態では、要求情報送信処理(S211)の直後かつバッテリ電圧情報受信処理(S215)の直前に出力電圧情報取得処理(S213)が行われることによって、制御部54がプレ充電の電圧情報を取得するタイミングと、対象BMU30xが現在の対象バッテリ20xの電圧情報を取得するタイミングと、を接近させてリアルタイム性を高めることが可能になる。これにより、この後のステップS217による電圧値の一致判定の精度を向上させることができる。
なお、このようなステップS211,S213,S215の順番に処理を行うことにより得られる「一致判定の精度を向上させる」効果は、後述する要求情報送信処理(S221)、出力電流情報取得処理(S223)およびバッテリ電流情報受信処理(S225)の場合や、要求情報送信処理(S231)、出力時間情報取得処理(S233)およびバッテリ充電時間情報受信処理(S235)の場合においても、同様に得られる。
ステップS217では、出力電圧情報取得処理(S213)により取得されたプレ充電の電圧情報と、バッテリ電圧情報受信処理(S215)により対象BMU30xから受信した対象バッテリ20xの電圧情報とに基づいて、充電装置50が行うプレ充電の電圧値と、対象バッテリ20xの端子間電圧値とが一致するか否かの判定が行われる。
即ち、現在、充電装置50がプレ充電を行っている充電中バッテリ20pと、現在、対象BMU30xが監視している対象バッテリ20xと、が同一である場合には、充電ケーブル70の抵抗損失による僅かな電圧低下やそれぞれの電圧センサ56a,36による計測タイミングに若干のズレ等が存在したとしても、充電装置50が充電(出力)する電圧値と対象バッテリ20xの端子間の電圧値とは、ほぼ一致する蓋然性が高い。
このため、ステップS217の判定処理により、両者の電圧値が一致、またはほぼ一致すると判定された場合には(S217;Yes)、充電中バッテリ20pと対象バッテリ20xは同じバッテリ(同一)である可能性がある。そのため、続くステップS221〜S227により次の判定処理等が行われる。なお、ほぼ一致する場合とは、例えば、両者の電圧値の差が1%以下である場合をいう。
これに対して、ステップS217の判定処理により、両者の電圧値が一致せず、またほぼ一致もしないと判定された場合には(S217;No)、充電中バッテリ20pと対象バッテリ20xは異なった別々のバッテリである可能性が高い。そのため、このような場合には、ステップS218に処理を移行して対象BMU30xに対してプレ充電を中断する情報(プレ充電中断情報)を送信する。対象BMU30xは、後述する充電状態監視処理(図6)においてプレ充電中断情報を受信することにより(図6に示すS317)、当該充電状態監視処理を一旦終了することが可能になる(図6に示すS319;Yes)。
プレ充電中断情報処理(S218)が終了すると、続いてステップS219により対象バッテリ変更処理が行われる。つまり、前述のプレ充電開始処理(S210)により選択された対象バッテリ20xは充電中バッテリ20pではないため、それに代えて、充電情報を取得する次の対象バッテリ20yを選択する処理が行われる。この対象バッテリ20yは、バッテリ情報の送信があったバッテリ20a等から先の対象バッテリ20xを除いた中から、前述した選択方法に従って選択される。図1の例では、バッテリ20b,20cの中からIDが小さい(または大きい)ものが対象バッテリ20yとして選択される。
ステップS217の判定処理により、プレ充電で充電装置50が出力する電圧値と対象バッテリ20xの端子間の電圧値とが一致またはほぼ一致すると判定された場合には(S217;Yes)、続くステップS221により、今度は、対象BMU30xに対し、充電情報として対象バッテリ20xの現在のバッテリ電流を要求する情報(要求情報)を送信する処理が行われる。そして、次のステップS223の出力電流情報取得処理により、充電装置50が現在出力している電流、つまりプレ充電の電流情報が電流センサ56bから取得される。さらにステップS225のバッテリ電流情報受信処理によって、対象BMU30xから送信された対象バッテリ20xの現在の電流情報(充電情報)が充電装置50の制御部54により取得される。
ステップS227では、出力電流情報取得処理(S223)により取得されたプレ充電の電流情報と、バッテリ電流情報受信処理(S225)により対象BMU30xから受信した対象バッテリ20xの電流情報とに基づいて、充電装置50が行うプレ充電の電流値と、対象バッテリ20xの電流値とが一致するか否かの判定が行われる。
即ち、前述した電圧値の場合と同様に、現在、充電装置50がプレ充電を行っている充電中バッテリ20pと、現在、対象BMU30xが監視している対象バッテリ20xと、が同一である場合には、それぞれの電流センサ56b,37による計測タイミングに若干のズレ等が存在したとしても、充電装置50が充電(出力)する電流値と対象バッテリ20xの電流値とは、ほぼ一致する蓋然性が高い。
このため、ステップS227の判定処理により、両者の電流値が一致、またはほぼ一致すると判定された場合には(S227;Yes)、充電中バッテリ20pと対象バッテリ20xは同じバッテリ(同一)である可能性がある。そのため、続くステップS231〜S237により次の判定処理等が行われる。なお、ほぼ一致する場合とは、例えば、両者の電流値の差が1%以下である場合をいう。
これに対して、ステップS227の判定処理により、両者の電流値が一致せず、またほぼ一致もしないと判定された場合には(S227;No)、充電中バッテリ20pと対象バッテリ20xは異なった別々のバッテリである可能性が高い。この場合には、前述と同様に、プレ充電中断情報送信処理(S218)や対象バッテリ変更処理(S219)が行われる。
ステップS227の判定処理により、プレ充電で充電装置50が出力する電流値と対象バッテリ20xの電流値とが一致またはほぼ一致すると判定された場合には(S227;Yes)、続くステップS231により、今度は、対象BMU30xに対し、充電情報として対象バッテリ20xのプレ充電の開始から現在に至るまでのバッテリ充電時間を要求する情報(要求情報)を送信する処理が行われる。
そして、次のステップS233の出力時間情報取得処理により、充電装置50が電圧または電流を出力し始めてから現在に至るまでの時間、つまりプレ充電の充電時間情報を制御部54の時計機能から当該制御部54が取得する。さらにステップS235のバッテリ充電時間情報受信処理によって、対象BMU30xから送信された対象バッテリ20xのバッテリ充電時間情報(充電情報)が充電装置50の制御部54により取得される。
ステップS237では、出力時間情報取得処理(S233)により取得されたプレ充電時間情報と、バッテリ充電時間情報受信処理(S235)により対象BMU30xから受信した対象バッテリ20xのバッテリ充電時間情報とに基づいて、充電装置50がこれまでに充電を行った時間と、対象バッテリ20xがこれまでに充電された時間とが一致するか否かの判定が行われる。
即ち、前述した電圧値の場合や電流値の場合と同様に、現在、充電装置50がプレ充電を行っている充電中バッテリ20pと、現在、対象BMU30xが監視している対象バッテリ20xと、が同一である場合には、それぞれの制御部54,31の時計機能による計測タイミングに若干のズレ等が存在したとしても、充電装置50が充電(出力)した時間と対象バッテリ20xが充電された時間とは、ほぼ一致する蓋然性が高い。
このため、ステップS237の判定処理により、両者の時間が一致、またはほぼ一致すると判定された場合には(S237;Yes)、充電中バッテリ20pと対象バッテリ20xは同じバッテリ(同一)である可能性が非常に高い。この場合には、充電中バッテリ20pは、対象BMU30xが監視をしている対象バッテリ20xであると特定することができるため、これ以上プレ充電を行う必要がない。
つまり、充電装置50がプレ充電を行っているバッテリ20(充電中バッテリ20p)は、対象BMU30xが監視をしているバッテリ20(対象バッテリ20x)であることが確定するため、ステップS238に処理を移行してプレ充電を終了する情報(プレ充電終了情報)を対象BMU30xに送信する。対象BMU30xは、後述する充電状態監視処理(図6)においてプレ充電終了情報を受信することにより(図6に示すS317)、当該充電状態監視処理を終了することが可能になる(図6に示すS319;Yes)。
さらに、ステップS239により対象バッテリ20xの情報(例えば、対象バッテリ20xのID)を制御部54のメモリに保存(記憶)するとともに保存フラグをオンに設定する。保存フラグは、プレ充電を行っているバッテリ20が確定した場合にオンに設定され、確定していない場合には、前述した充電制御処理の初期化処理(図4に示すS101)によりオフに設定されている。これにより、本バッテリ識別処理が終了するため、図4の充電制御処理に処理を戻す。
なお、ステップS237の判定処理により、両者の時間が一致せず、またほぼ一致もしないと判定された場合には(S237;No)、充電中バッテリ20pと対象バッテリ20xは異なった別々のバッテリである可能性が高い。この場合には、前述と同様に、プレ充電中断情報送信処理(S218)や対象バッテリ変更処理(S219)が行われる。
ただし、対象バッテリ変更処理(S219)において、選択すべき対象バッテリ20z等が残っていない場合には、現在、充電装置50がプレ充電を行っている充電中バッテリ20pは特定することができない。つまり、対象バッテリ20x等の情報を制御部54のメモリに保存することができない。そのため、このような場合には、バッテリ識別処理をやり直す必要があることから、保存フラグをオンに設定することなく(保存フラグはオフ)、本バッテリ識別処理を終了する。
図4に示すように、ステップS103のバッテリ識別処理が終わると、続くステップS105により、プレ充電を行っている充電中バッテリ20pを識別することができたか否かを判定する処理(識別判定処理)が行われる。この処理は、例えば、保存フラグ等に基づいて行われる。即ち、前述のバッテリ識別処理においてプレ充電中のバッテリ20を識別することができていた場合(充電装置50がプレ充電を行っている充電中バッテリ20pは、対象BMU30xが監視をしているバッテリ20であることが確定した場合)には、保存フラグがオンに設定され、また制御部54のメモリにはバッテリ20x等の情報が保存されている。
このため、保存フラグまたは制御部54のメモリを参照することにより、プレ充電中のバッテリ20を識別することができた(一のバッテリとして正確に特定することができた)場合には(S105;Yes)、次のステップS107により充電パターン読出処理が行われる。これに対して、識別することができていなかった場合には(S105;No)、再度、バッテリ識別処理を行う必要があることから、ステップS103に処理を戻す。
なお、バッテリ識別処理を所定の回数(例えば3回)実行してもプレ充電中のバッテリ20を識別することができない場合には、当該充電装置50の通信部58やBMU30の通信部32等が故障して通信障害が発生している可能性がある。そのため、このような場合には、本充電制御処理を異常終了し、障害の発生を表示や音を介して外部に告知するように充電装置50を構成してもよい。
ステップS107では、本充電(本格的な充電のこと)を行うため、充電パターンを制御部54のメモリから読み出す処理が行われる。充電パターンとは、例えば、図14(A)や図14(B)に示すように、充電時間の経過とともに充電電圧や充電電流が所定の変化をするように制御するための型のことである。次のステップS109の充電処理では、バッテリ20を識別するために行われたプレ充電に対して、バッテリ20に必要な電気エネルギ(電荷)を蓄積するための充電(本充電)が行われる。そのため、この充電パターン読出処理(S107)では、充電装置50がプレ充電を行ったバッテリ20のセルの種類や定格容量に適した充電パターンが読み出される。
本第1実施形態では、BMU30(バッテリ20)に付与されているIDごとに充電パターンが関連付けられて制御部54のメモリに記憶されている。そのため、充電パターン読出処理(S107)では、制御部54のメモリに保存(記憶)されているバッテリ20のIDを参照して当該IDに紐付けられている充電パターンが制御部54のメモリから読み出される。本第1実施形態では、制御プログラムの構成を簡素にしたり必要なメモリ容量を削減したりするため、充電パターンは、バッテリ20a〜20gごとに、そのセルの種類、公称電圧および定格容量に合わせた標準的なものが予め制御部54のメモリ(ROM)に記憶されている。
なお、充電パターンはバッテリ20のセルの種類、電圧等ごとに標準的なものである必要はなく、例えば、同じ種類等のバッテリ20であっても、それぞれのバッテリ20ごとに最適な充電特性が得られるようにパターンの一部が個別に変更されていてもよい。このような各バッテリ20ごとに個別対応させた充電パターンは、予め制御部54のメモリに記憶されていてもよいし、またBMU30から得られるバッテリ20の放電情報や充電情報に基づいて制御部54が個別にパターンの一部を変更してもよい。
続くステップS109では、ステップS107により読み出された充電パターンに従ってバッテリ20を充電する処理が行われる。例えば、バッテリ20のバッテリセル群23が公称電圧36V、定格容量280Ahのリチウム電池で構成されている場合には、その仕様のリチウム電池に適した定電流定電圧充電方式でバッテリ20に充電電力を供給(充電電圧や充電電流を出力)するように電圧変換部53が制御部54によって制御される。また、バッテリ20のバッテリセル群23が公称電圧48V、定格容量450Ahの鉛電池で構成されている場合には、その仕様の鉛電池に適した準定電圧充電方式でバッテリ20に充電電力を供給するように電圧変換部53が制御部54によって制御される。
そして、充電が完了するまで充電処理(S109)が行われ(S111;No)、充電が完了すると(S111;Yes)、次の充電開始に備えてステップS103に処理を移行する。なお、本充電制御処理は、図略の電源スイッチがオフ操作されることによって終了するまで繰り返し実行される。
次に、BMU30やBMU30’により行われる充電状態監視処理を図6に基づいて説明する。ここでは、BMU30により行われる処理内容の例を説明するが、BMU30’においても同様の情報処理が行われる。
この充電状態監視処理は、BMU30の制御部31のメモリ(ROM)に記憶された充電状態監視プログラムを制御部31のMPUが実行することにより実現される。充電状態監視プログラム(充電状態監視処理)は、例えば、BMU30が起動された直後から、例えば、数ミリ秒ごとに実行されるタイマー割り込み制御により繰り返し実行される。
図6に示すように、充電状態監視処理では、まずステップS301により所定の初期化処理が行われる。この処理では、例えば、制御部31のメモリ(RAM)の本処理用のワーク領域やフラグをクリアしたり、通信部32に初期設定用の制御コマンドを送出したりする。
次のステップS303では、バッテリ情報送信処理が行われる。この処理は、前述した充電装置50で行われるバッテリ識別処理のバッテリ情報受信処理(図5に示すS201)に対応するものであり、基本情報と状態情報を含むバッテリ情報が通信部32によって無線通信回線90を介して充電装置50に送信される。このバッテリ情報には、宛先IDとして充電装置50のIDがセットされ、送信元IDとしてBMU30のIDがセットされる。通信方式は、例えば、数ミリ秒ごとにBMU30から充電装置50に対して送信を試みるコンテンション方式や、充電装置50からBMU30に送信されてくる自ID宛のポーリング信号に対して応答するポーリング方式等が採用される。
続くステップS305では充電開始情報取得処理が行われる。充電開始情報は、現在、BMU30が監視しているバッテリ20に対してプレ充電が開始されたことを、次のステップS307により判定可能な情報であり、例えば、電流センサ37で検出された電流方向がその情報になる。即ち、充電装置50による充電が開始されている場合には、充電電流が充電装置50からバッテリ20に向けて流れる。そのため、電流センサ37の検出電流が、バッテリ20の入力方向の極性である場合にはプレ充電が開始されたことを表す情報になり、バッテリ20の出力方向の極性である場合にはプレ充電はまだ開始されていないことを表す情報になる。
なお、前述したように、バッテリ識別処理において充電装置50がプレ充電を開始する直前にプレ充電開始情報送信処理を行っている場合には、充電開始情報取得処理(S305)によって、プレ充電開始情報を無線通信回線90を介して取得するように構成してもよい。これにより、プレ充電が開始された情報をより正確に得ることが可能になる。
そして、ステップS307により、プレ充電が開始されていると判定された場合には(S307;Yes)、その後に充電装置50から送信されてくる要求情報を続くステップS309により待機して受信する。プレ充電が開始されていると判定できない場合(開始されていない場合)(S307;No)や、所定時間を経過しても要求情報を受信できない場合には(S309;Time's Up)、本充電状態監視処理を終了して、次のタイミングによる処理の開始に備える。
ステップS310では、ステップS309により受信した要求情報の内容を判定する処理が行われる。充電装置50から送信されてくる要求情報は、前述したように、本第1実施形態ではバッテリ20の充電情報として、例えば、現在のバッテリ電圧を要求する情報、現在のバッテリ電流を要求する情報や、プレ充電の開始から現在に至るまでのバッテリ充電時間を要求する情報である。
このため、受信した要求情報の内容が、例えば、現在のバッテリ電圧を要求する情報である場合には(S310;電圧)、次のステップS311により電圧センサ36が計測したバッテリ20の現在の端子間電圧値(電圧情報)を取得した後、続くステップS312によりその電圧情報をバッテリ20の充電情報として充電装置50に送信する処理が行われる。
また、受信した要求情報の内容が、例えば、現在のバッテリ電流を要求する情報である場合には(S310;電流)、次のステップS313により電流センサ37が計測したバッテリ20のプラス端子21aを流れる現在の電流値(電流情報)を取得した後、続くステップS314によりその電流情報をバッテリ20の充電情報として充電装置50に送信する処理が行われる。
さらに、受信した要求情報の内容が、例えば、プレ充電の開始から現在に至るまでのバッテリ充電(プレ充電)時間を要求する情報である場合には(S310;時間)、次のステップS315により、プレ充電の充電時間情報(時間情報)を制御部31の時計機能から取得した後、続くステップS316によりその時間情報をバッテリ20の充電情報として充電装置50に送信する処理が行われる。
ステップS312,S314,S316による送信処理が終了すると、続くステップS317によりプレ充電情報取得処理が行われる。このプレ充電情報は、充電装置50から送信されてくるプレ充電終了情報(図5に示すS238)やプレ充電中断情報(図5に示すS218)であり、これらの情報を受信することにより、充電装置50によるバッテリ識別処理を終了したことがわかることから、当該BMU30に対しては充電装置50から要求情報が引き続き送られてくる可能性は低い。そのため、プレ充電終了or中断の判定処理(S319;Yes)により本充電状態監視処理を終了する。
なお、プレ充電終了情報を受信した場合には、その情報の送信元ID(プレ充電をした充電装置50のID)を制御部31のメモリに記憶することにより、これから本充電を行う充電装置50を特定することが可能になる。つまり、対象BMU30x(充電中バッテリ20pを監視するBMU30)が本充電を行う充電装置50の情報を得ることができる。
一方、ステップS317によりプレ充電終了情報やプレ充電中断情報が取得できない場合には(S319;No)、まだ充電装置50ではバッテリ識別処理が実行されており、当該BMU30に対して充電装置50から要求情報が送られてくる可能性が高い。そのため、ステップS309に処理を移行し充電装置50からの要求情報の受信を待つ。
なお、上述した充電システム2Aでは、複数のバッテリ20a〜20gのうち、充電装置50の通信可能範囲にフォークリフト10a〜10cが存在する場合を例示して説明したが、例えば、このような通信可能範囲に全てのフォークリフト10a〜10gが存在する場合には、それらに搭載されている複数のバッテリ20a〜20gについて、それらを監視する複数のBMU30a〜30gと充電装置50との間において上述と同様の情報処理が行われて、充電装置50が現在充電中のバッテリ20を特定することが可能になる。
以上説明したように、本第1実施形態に係る充電システム2Aでは、充電装置50の通信可能範囲にフォークリフト10a〜10cが存在する場合において、充電装置50は、これらのフォークリフト10a〜10cに搭載されている複数のバッテリ20a〜20cが許容する充電電流のうち最も小さい電流でプレ充電を開始する(S210)。つまり、充電装置50の通信可能範囲に存在する、どのフォークリフト10a等のバッテリ20a等であっても、この充電電流値であればバッテリ20等が故障しない安全値の電流(最小電流値)でプレ充電を行う。これにより、充電装置50の通信可能範囲に、例えば、リチウム電池のバッテリ20a,20bを搭載するフォークリフト10a,10bと、鉛電池のバッテリ20cを搭載するフォークリフト10cが混在する等、バッテリ20のセルの種類、公称電圧や定格容量が異なるフォークリフト10が混在する場合において、このようなプレ充電を行っても、これらのバッテリ20a等を故障させることがない。
そして、このようなプレ充電を開始した後(S210)、複数のBMU30a〜30cから送られてくる複数のバッテリ20a〜20cの充電電圧、充電電流および充電時間のうち充電中のバッテリの充電電圧、充電電流および充電時間と一致した充電情報を有するバッテリ20を(S217;Yes,S227;Yes,S237;Yes)、一のバッテリとして特定する(S239)。これにより、バッテリ20のセルの種類、公称電圧や定格容量が異なるバッテリ20a〜20gが混在する場合においても、複数のバッテリ20a〜20gから、現在、充電を行っている充電中バッテリ20pを正確に特定することが可能になる(S105;Yes)。
したがって、充電装置50は、その充電制御処理(図4)において、現在、充電を行っている充電中バッテリ20p(バッテリ20)に最適な充電パターンを制御部54のメモリから読み出して充電処理(S109)を行うことが可能になる。例えば、バッテリ20a,20bが公称電圧36V、定格容量280Ahのリチウム電池で構成されている場合には、その仕様のリチウム電池に適した定電流定電圧充電方式でバッテリ20a,20bを充電することが可能になる。また、バッテリ20cが公称電圧48V、定格容量450Ahの鉛電池で構成されている場合には、その仕様の鉛電池に適した準定電圧充電方式でバッテリ20cを充電することが可能になる。さらに、バッテリ20d〜20gが所定仕様のニッケル水素電池等で構成されている場合には、そのニッケル水素電池等に適した充電方式でバッテリ20d〜20gを充電することが可能になる。
つまり、本第1実施形態に係る充電システム2Aでは、例えば、鉛電池、リチウム電池やニッケル水素電池等のセルの種類、公称電圧や定格容量が異なるバッテリ20(を搭載したフォークリフト)が混在する場合においても、それぞれのバッテリ20に適した充電方式や充電パターンで充電すること(いわゆるカオス充電を行うこと)ができる。
[第2実施形態]
次に第2実施形態について図1〜図4、図7および図8を参照しながら説明する。第2実施形態の充電システム2Bは、上述した複数のバッテリ20a〜20gが全て同じ種類のセルで構成されていながらも公称電圧や定格容量が異なる二次電池であって定電流定電圧充電(CC・CV(Constant Current, Constant Voltage)方式で充電を行う場合に適用することが可能なものである。定電流定電圧充電方式は、例えば、バッテリ20a〜20gがリチウム電池で構成されている場合に適用することができる。
前述した第1実施形態の充電システム2Aは、セルの種類、公称電圧や定格容量が異なるバッテリ20が混在する場合においても、それぞれのバッテリ20に適した充電方式や充電パターンで充電装置50がカオス充電を行い得るものであったが、本第2実施形態の充電システム2Bは、例えば、充電装置50が定電流定電圧充電方式で充電を行うものである点が第1実施形態の充電システム2Aと異なる。
このため、図1〜図3に示す充電装置50やBMU30a〜30gのハードウェア構成は第1実施形態の充電システム2Aのものと同様に構成されるが、充電装置50が実行する充電制御処理中のバッテリ識別処理(S103)、充電パターン読出処理(S107)、充電処理(S109)等の内容と、BMU30a〜30gが実行する充電状態監視処理の内容については異なる。
したがって、ここでは、充電システム2Bの充電装置50により実行されるバッテリ識別処理(図7)とBMU30a〜30gにより実行される充電状態監視処理(図8)について主に説明する。なお、図7および図8において、第1実施形態の処理内容と実質的に同じ処理を行う処理ステップについてはそれらに同一符号を付して説明を省略する。
図1に示すように、本第2実施形態の充電システム2Bでは、充電装置50の制御部54が図4および図7に示す充電制御処理を行い、BMU30の制御部31が図8に示す充電状態監視処理を行う。
図4に示すように、充電制御処理では、前述した第1実施形態の充電装置50と同様に、まずステップS101により所定の初期化処理が行われる。次のステップS103ではバッテリ識別処理が行われる。この処理は、これから充電装置50が充電を行うバッテリ20を複数のバッテリ20a〜20gから識別して特定するものであり、サブルーチンとして図7にその流れが図示されている。そのため、ここからは図7を主に参照しながら説明する。
図7に示すように、第2実施形態のバッテリ識別処理では、まずステップS501により識別情報受信処理が行われる。この処理は、後述するように、複数のバッテリ20a〜20gに対応するそれぞれのBMU30a〜30gから、無線通信回線90を介して送信されてくるそれぞれのIDを受信する。IDは、各BMU30a〜30g(各バッテリ20a〜20g)に固有の識別子(識別情報)であり、第1実施形態の場合と同様に、構成され、BMU30や充電装置50の通信部58に付与される。
識別情報受信処理(S501)によりバッテリ20a〜20gのいずれかのIDが取得されると、そのIDは、次のステップS502により制御部54のメモリに記憶される。そして、このようなステップS501,S502による各処理を、充電装置50が通信可能な所定の範囲に存在する全てのフォークリフト10のバッテリ20について行い、それらのIDが制御部54のメモリに全て記憶されるまで繰り返し行われる(S503;No)。
通信可能な所定の範囲にフォークリフト10が存在するか否かは、例えば、通信部58から得られる通信可能(または通信不可)の情報や受信信号強度(RSSI)の情報に基づいて判定する。また、通信可能な所定の範囲に存在する全てのフォークリフト10のバッテリ20のIDを記憶することができたか否かは、例えば、当該所定の範囲に存在するフォークリフト10の情報を取得しその情報に基づいて判定したり、予め定められた時間が経過したか否かで判定したりする。
例えば、図1においては、充電装置50の通信可能範囲に存在する3台のフォークリフト10a〜10cについてバッテリ20a〜20cのIDをBMU30a〜30cから受信することができるまでステップS501,S502の各処理を行う。
IDは、第1実施形態の充電システム2Aと同様に、コンテンション方式やポーリング方式等の通信方式でBMU30から充電装置50に送信される。そのため、コンテンション方式の場合には、所定の信号強度以上の受信信号や信号強度に関係なく受信できた受信信号から得られたIDを所定時間内に取得して記憶することによって、通信可能な所定の範囲に存在する全てのフォークリフト10についてそれらのIDを記憶することができたとみなす。また、ポーリング方式の場合には、予め定められているポーリングシーケンスが一巡または二巡したところで所定の通信可能な範囲に存在する全てのフォークリフト10についてそれらのIDを記憶することができたとみなす。
ステップS503により通信可能な所定の範囲に存在する全てのフォークリフト10のIDを記憶することができたと判定された場合には(S503;Yes)、ステップS506により、充電ケーブル70が電気的にバッテリ20に接続されかつ充電開始操作の有無の判定処理が行われる。充電ケーブル70が電気的にバッテリ20に接続されたか否かの情報は、第1実施形態の充電システム2Aと同様に充電装置50の電圧センサ56aから得られる。また充電が開始されたか否かの情報も第1実施形態の充電システム2Aと同様に充電開始スイッチ51aのオン操作に伴って入力される充電開始のトリガ信号から得られる。
ステップS506の判定処理の結果、充電ケーブル70が接続され、かつ、充電を開始する操作があったと判定された場合には(S506;Yes)、次のステップS510に処理を進める。これに対して、充電ケーブル70が接続されていない、または充電を開始する操作がされていないと判定された場合には(S506;No)、所定期間(例えば5分間)が経過するまで待つ。そして、所定期間が経過してもこれら2つの条件を両方とも満たさない場合には(S506;Time's Up)、通信可能な所定の範囲におけるフォークリフト10a等の存在状況が変化している可能性がある。そのため、ステップS501に戻り、再び識別情報受信処理からやり直す。
ステップS510では対象バッテリ選択処理が行われる。この処理では、対象バッテリ20xが選択される。対象バッテリ20xは、充電中の充電装置50が無線通信回線90を介して充電中バッテリ20pを特定するために必要な情報(充電情報等)を取得する対象になるバッテリであり、IDの送信があったバッテリ20a等から選択される。選択方法は、第1実施形態の充電システム2Aと同様であり、IDの小さい順(または大きい順)に選択され、一度選択されたBMU30a等はその後の選択処理(S519)においては除外される。
ステップS510により対象バッテリ20xが選択されると、次のステップS511により、所定の充電電流(所定の第1充電電流)をバッテリ20に出力するように制御部54によって電圧変換部53が制御される。これにより、充電装置50に充電ケーブル70を介して接続されているバッテリ20に対して充電電流が出力される。つまり、充電が開始される。
所定の充電電流は、本第2実施形態では、後述するように、所定の充電電流の変化パターンとして、段階的に増加(または減少)し得るように、第1充電電流設定処理(S511)、第2充電電流設定処理(S521)および第3充電電流設定処理(S531)によって設定されて制御部54により出力電流が制御される。所定の第1充電電流は、定電流定電圧充電方式の初期定電流値(例えば120A)よりも小さい電流値であり、例えば40Aに設定される。これにより、現在、充電装置50に接続されて充電されている充電中バッテリ20pには40Aの充電電流が入力される。
後述する第2充電電流設定処理(S521)や第3充電電流設定処理(S531)により充電装置50から出力される所定の第2充電電流および第3充電電流も、この初期定電流値(例えば120A)よりも小さい電流値に設定される。つまり、充電装置50の通信可能範囲に存在する、どのフォークリフト10a等のバッテリ20a等であってもバッテリ20等が故障しない初期定電流値よりも小さい電流値(安全値)が所定の第1〜第3充電電流として設定されている。この安全値は、充電装置50が充電し得る複数のバッテリ20の仕様等に基づいて予め算出されて制御部54のメモリに記憶されている。
なお、ステップS511により充電を開始する直前に、対象バッテリ20xを監視する対象BMU30xに対して充電開始情報を無線送信する処理(充電開始情報送信処理)を追加してもよい。これにより、対象BMU30xは、後述する充電状態監視処理(図8)の充電開始情報取得処理(図8に示すS305)において充電が開始された情報を比較的容易に取得することが可能になる。対象BMU30xの送信先指定は、例えば、送信データを構成する宛先IDに対象BMU30xのIDをセットすることにより行われる。
続くステップS513では、対象BMU30xに対し、充電情報として対象バッテリ20xの現在のバッテリ電流を要求する情報(要求情報)を送信する処理が行われる。この処理は、後述する充電状態監視処理(図8)の要求情報受信判定処理(図8に示すS609)に関連するものである。そのため、後述するように、この要求情報を受信した対象BMU30xは、現在の対象バッテリ20xの電流情報を充電装置50に送信する。
このように対象BMU30xから送信された対象バッテリ20xの現在の電流情報は、ステップS515のバッテリ電流情報受信処理により充電装置50の制御部54が取得する。本第2実施形態ではこのバッテリ電流情報受信処理に先立ってステップS514により出力電流情報取得処理が行われる。この処理では、充電装置50が現在出力している電流、つまり充電電流情報を制御部54が電流センサ56bから取得する。
このように本第2実施形態では、要求情報送信処理(S513)の直後かつバッテリ電流情報受信処理(S515)の直前に出力電流情報取得処理(S514)が行われることによって、制御部54が充電電流情報を取得するタイミングと、対象BMU30xが現在の対象バッテリ20xの電流情報を取得するタイミングと、を接近させてリアルタイム性を高めることが可能になる。これにより、この後のステップS517による電流値の一致判定の精度を向上させることができる。
なお、このようなステップS513,S514,S515の順番に処理を行うことにより得られる「一致判定の精度を向上させる」効果は、後述する要求情報送信処理(S523)、出力電流情報取得処理(S524)およびバッテリ電流情報受信処理(S525)の場合や、要求情報送信処理(S533)、出力電流情報取得処理(S534)およびバッテリ電流情報受信処理(S535)の場合においても、同様に得られる。
ステップS517では、出力電流情報取得処理(S514)により取得された充電電流情報と、バッテリ電流情報受信処理(S515)により対象BMU30xから受信した対象バッテリ20xの電流情報とに基づいて、充電装置50が出力する充電電流値と、対象バッテリ20xに流れる電流値とが一致するか否かの判定が行われる。
即ち、現在、充電装置50が充電を行っている充電中バッテリ20pと、現在、対象BMU30xが監視している対象バッテリ20xと、が同一である場合には、それぞれの電流センサ56b,37による計測タイミングに若干のズレ等が存在したとしても、充電装置50が充電(出力)する電流値と対象バッテリ20xに流れる電流値とは、ほぼ一致する蓋然性が高い。
このため、ステップS517の判定処理により、両者の電流値が一致、またはほぼ一致すると判定された場合には(S517;Yes)、充電中バッテリ20pと対象バッテリ20xは同じバッテリ(同一)である可能性がある。そのため、続くステップS521〜S527により次の判定処理等が行われる。なお、ほぼ一致する場合とは、例えば、両者の電流値の差が1%以下である場合をいう。
これに対して、ステップS517の判定処理により、両者の電流値が一致せず、またほぼ一致もしないと判定された場合には(S517;No)、充電中バッテリ20pと対象バッテリ20xは異なった別々のバッテリである可能性が高い。そのため、このような場合には、ステップS518に処理を移行して対象BMU30xに対して充電を中断する情報(充電中断情報)を送信する。対象BMU30xは、後述する充電状態監視処理(図8)において充電中断情報を受信することにより(図8に示すS617)、当該充電状態監視処理を一旦終了することが可能になる(図8に示すS619;Yes)。
充電中断情報処理(S518)が終了すると、続いてステップS519により対象バッテリ変更処理が行われる。つまり、前述の対象バッテリ選択処理(S510)により選択された対象バッテリ20xは充電中バッテリ20pではないため、それに代えて、充電情報を取得する次の対象バッテリ20yを選択する処理が行われる。この対象バッテリ20yは、IDの送信があったバッテリ20a等から先の対象バッテリ20xを除いた中から、前述した選択方法に従って選択される。図1の例では、バッテリ20b,20cの中からIDが小さい(または大きい)ものが対象バッテリ20yとして選択される。
ステップS517の判定処理により、充電装置50が出力する充電中の電流値と対象バッテリ20xに流れる電流値とが一致またはほぼ一致すると判定された場合には(S517;Yes)、続くステップS521により、今度は、所定の第2充電電流をバッテリ20に出力するように制御部54によって電圧変換部53が制御される。この第2充電電流は、先に流した第1充電電流よりも大きな電流値であり、例えば80Aに設定される。この第2充電電流も定電流定電圧充電方式の初期定電流値(例えば120A)よりも小さい値に設定されている。これにより、現在、充電装置50に接続されて充電されているバッテリ20には80Aの充電電流が入力される。
続くステップS523では、対象BMU30xに対し、充電情報として対象バッテリ20xの現在のバッテリ電流を要求する情報(要求情報)を送信する処理が行われる。そして、次のステップS524の出力電流情報取得処理により、現在、充電装置50が出力している充電電流情報が電流センサ56bから取得される。さらにステップS525のバッテリ電流情報受信処理によって、対象BMU30xから送信された対象バッテリ20xの現在の電流情報(充電情報)が充電装置50の制御部54により取得される。
ステップS527では、出力電流情報取得処理(S524)により取得された充電電流情報と、バッテリ電流情報受信処理(S525)により対象BMU30xから受信した対象バッテリ20xの電流情報とに基づいて、充電装置50が出力する充電電流値と、対象バッテリ20xに流れる電流値とが一致するか否かの判定が行われる。
即ち、前述した第1充電電流の場合と同様に、現在、充電装置50が充電を行っている充電中バッテリ20pと、現在、対象BMU30xが監視している対象バッテリ20xと、が同一である場合には、それぞれの電流センサ56b,37による計測タイミングに若干のズレ等が存在したとしても、充電装置50が充電(出力)する電流値と対象バッテリ20xの電流値とは、ほぼ一致する蓋然性が高い。
このため、ステップS527の判定処理により、両者の電流値が一致、またはほぼ一致すると判定された場合には(S527;Yes)、充電中バッテリ20pと対象バッテリ20xは同じバッテリ(同一)である可能性が高い。そのため、続くステップS531〜S537により次の判定処理等が行われる。
これに対して、ステップS527の判定処理により、両者の電流値が一致せず、またほぼ一致もしないと判定された場合には(S527;No)、充電中バッテリ20pと対象バッテリ20xは異なった別々のバッテリである可能性が高い。このような場合には、前述と同様に、充電中断情報送信処理(S518)や対象バッテリ変更処理(S519)が行われる。
ステップS527の判定処理により、充電装置50が出力する充電中の電流値と対象バッテリ20xに流れる電流値とが一致またはほぼ一致すると判定された場合には(S527;Yes)、続くステップS531により、今度は、所定の第3充電電流をバッテリ20に出力するように制御部54によって電圧変換部53が制御される。この第3充電電流は、先に流した第1充電電流や第2充電電流よりも大きな電流値であり、例えば100Aに設定される。この第3充電電流も定電流定電圧充電方式の初期定電流値(例えば120A)よりも小さい値に設定されている。これにより、現在、充電装置50に接続されて充電されているバッテリ20には100Aの充電電流が入力される。
なお、本第2実施形態では、所定の充電電流の変化パターンの一例として、充電装置50から出力する電流(充電電流)の値を、第1充電電流(40A)→第2充電電流(80A)→第3充電電流(100A)というように段階的に増加するようにアルゴリズムを構成したが(S511,S521,S531)、これとは逆に、例えば、第1充電電流(40A)→第2充電電流(20A)→第3充電電流(10A)というように段階的に減少するようにアルゴリズムを構成してもよい。また例えば、第1充電電流(40A)→第2充電電流(80A)→第3充電電流(60A)というように段階的に増加したり減少したりするようにアルゴリズムを構成してもよい。第3充電電流に続けて、第4や第5の充電電流を流してもよい。さらに段階的(不連続)である必要はなく、例えば、連続的に充電電流が変化(増加、減少、増減)するようにアルゴリズムを構成してもよい。
続くステップS533では、対象BMU30xに対し、充電情報として対象バッテリ20xの現在のバッテリ電流を要求する情報(要求情報)を送信する処理が行われる。そして、次のステップS534の出力電流情報取得処理により、充電装置50が現在出力している充電電流情報が電流センサ56bから取得される。さらにステップS535のバッテリ電流情報受信処理によって、対象BMU30xから送信された対象バッテリ20xの現在の電流情報(充電情報)が充電装置50の制御部54により取得される。
ステップS537では、出力電流情報取得処理(S534)により取得された充電電流情報と、バッテリ電流情報受信処理(S535)により対象BMU30xから受信した対象バッテリ20xの電流情報とに基づいて、充電装置50が出力する充電電流値と、対象バッテリ20xに流れる電流値とが一致するか否かの判定が行われる。
即ち、前述した第1充電電流や第2充電電流の場合と同様に、現在、充電装置50が充電を行っている充電中バッテリ20pと、現在、対象BMU30xが監視している対象バッテリ20xと、が同一である場合には、それぞれの電流センサ56b,37による計測タイミングに若干のズレ等が存在したとしても、充電装置50が充電(出力)する電流値と対象バッテリ20xの電流値とは、ほぼ一致する蓋然性が高い。
このため、ステップS537の判定処理により、両者の電流値が一致、またはほぼ一致すると判定された場合には(S537;Yes)、充電中バッテリ20pと対象バッテリ20xは同じバッテリ(同一)である可能性が非常に高い。この場合には、現在、充電装置50が充電を行っている充電中バッテリ20pは、対象BMU30xが監視をしている対象バッテリ20xであると特定することができる。
つまり、現在、充電装置50が充電を行っている充電中バッテリ20pが確定するため、ステップS538に処理を移行して充電を継続する情報(充電継続情報)を対象BMU30xに送信する。対象BMU30xは、後述する充電状態監視処理(図8)において充電継続情報を受信することにより(図8に示すS617)、当該充電状態監視処理を終了することが可能になる(図8に示すS619;Yes)。
さらに、ステップS539により対象バッテリ20xの情報(例えば、対象バッテリ20xのID)を制御部54のメモリに保存(記憶)するとともに保存フラグをオンに設定する。保存フラグは、充電を行っている充電中バッテリ20pが確定した場合にオンに設定され、確定していない場合には、前述した充電制御処理の初期化処理(図4に示すS101)によりオフに設定されている。これにより、本バッテリ識別処理が終了するため、図4の充電制御処理に処理を戻す。
なお、ステップS537の判定処理により、両者の電流値が一致せずまたほぼ一致もしないと判定された場合には(S537;No)、充電中バッテリ20pと対象バッテリ20xは異なった別々のバッテリである可能性が高い。このような場合には、前述と同様に、充電中断情報送信処理(S518)や対象バッテリ変更処理(S519)が行われる。
ただし、対象バッテリ変更処理(S519)において、選択すべき対象バッテリ20z等が残っていない場合には、現在、充電装置50が充電を行っている充電中バッテリ20pは特定することができない。つまり、対象バッテリ20x等の情報を制御部54のメモリに保存することができない。そのため、このような場合には、バッテリ識別処理をやり直す必要があることから、保存フラグをオンに設定することなく(保存フラグはオフ)、本バッテリ識別処理を終了する。
図4に示すように、ステップS103のバッテリ識別処理が終わると、続くステップS105により、充電を行っている充電中バッテリ20pを識別することができたか否かを判定する処理(識別判定処理)が行われる。この処理は、例えば、保存フラグ等に基づいて行われる。即ち、前述のバッテリ識別処理において充電中バッテリ20pを識別することができていた場合(充電装置50が充電を行っているバッテリ20は、対象BMU30xが監視をしているバッテリ20であることが確定した場合)には、保存フラグがオンに設定され、また制御部54のメモリにはバッテリ20x等の情報が保存されている。
このため、保存フラグまたは制御部54のメモリを参照することにより、充電中のバッテリ20を識別することができた(一のバッテリとして正確に特定することができた)場合には(S105;Yes)、次のステップS107により充電パターン読出処理が行われる。これに対して、識別することができていなかった場合には(S105;No)、再度、バッテリ識別処理を行う必要があることから、ステップS103に処理を戻す。
なお、バッテリ識別処理を所定の回数(例えば3回)実行しても充電中のバッテリ20を識別することができない場合には、当該充電装置50の通信部58やBMU30の通信部32等が故障して通信障害が発生している可能性がある。そのため、このような場合には、本充電制御処理を異常終了し、障害の発生を表示や音を介して外部に告知するように充電装置50を構成してもよい。
ステップS107では、本充電を行うため、充電パターンを制御部54のメモリから読み出す処理が行われる。本第2実施形態の充電パターンは、例えば、図14(A)に示す定電流定電圧充電(CC・CV)方式またはそれに準拠するものである。第1実施形態の充電システム2Aの充電装置50と同様に、本第2実施形態では、BMU30(バッテリ20)に付与されているIDごとにバッテリ20の仕様に適した標準的な充電パターンが関連付けられて制御部54のメモリに記憶されている。そのため、充電パターン読出処理(S107)では、充電装置50が充電中のバッテリ20の仕様(公称電圧や定格容量)に適した充電パターンが読み出される。
なお、充電パターンはバッテリ20の仕様(公称電圧や定格容量)ごとに標準的なものである必要はなく、例えば、同じ仕様のバッテリ20であっても、それぞれのバッテリ20ごとに最適な充電特性が得られるようにパターンの一部が個別に変更されていてもよい。このような各バッテリ20ごとに個別対応させた充電パターンは、予め制御部54のメモリに記憶されていてもよいし、またBMU30から得られるバッテリ20の放電情報や充電情報に基づいて制御部54が個別にパターンの一部を変更してもよい。また、このような充電パターンが全てのバッテリ20a〜20gについて共通であり予め制御部54のメモリに記憶されて設定されている場合には、充電パターン読出処理(S107)を省略してもよい。
続くステップS109では、ステップS107により読み出された充電パターンに従ってバッテリ20を充電する処理が行われる。本第2実施形態の場合には、例えば、図14(A)に示す定電流定電圧充電(CC・CV)方式でバッテリ20に充電電力を供給(充電電流や充電電圧を出力)するように電圧変換部53が制御部54によって制御される。ここでは、定電流定電圧充電方式の初期定電流値として、例えば、120Aの充電電流をバッテリ20に出力する。そして、充電が完了するまで充電処理(S109)が行われ(S111;No)、充電が完了すると(S111;Yes)、次の充電開始に備えてステップS103に処理を移行する。なお、本充電制御処理は、図略の電源スイッチがオフ操作されることによって終了するまで繰り返し実行される。
次に、BMU30やBMU30’により行われる充電状態監視処理を図8に基づいて説明する。ここでは、BMU30により行われる処理内容の例を説明するが、BMU30’においても同様の情報処理が行われる。
本第2実施形態の充電状態監視処理は、BMU30の制御部31のメモリ(ROM)に記憶された充電状態監視プログラムを制御部31のMPUが実行することにより実現される。充電状態監視プログラム(充電状態監視処理)は、例えば、BMU30が起動された直後から、例えば、数ミリ秒ごとに実行されるタイマー割り込み制御により繰り返し実行される。なお、本第2実施形態の充電状態監視処理は、図8に示すように、識別情報送信処理(S603)、充電開始判定処理(S607)から充電情報取得処理(S617)までが第1実施形態のBMU30と異なるため、ここではステップS603から説明する。
所定の初期化処理(S301)の後のステップS603では、識別情報送信処理が行われる。この処理は、前述した充電装置50で行われるバッテリ識別処理の識別情報受信処理(図7に示すS501)に対応するものであり、当該BMU30に固有に付与されたIDが通信部32によって無線通信回線90を介して充電装置50に送信される。
なお、前述した第1実施形態の充電状態監視処理(図6)では、ステップS303によりバッテリ情報を送信していたが、そのバッテリ情報にはIDを有する基本情報が含まれる。また宛先IDとして充電装置50のIDがセットされ、送信元IDとしてBMU30のIDがセットされる。そのため、第1実施形態の充電状態監視処理(図6)のステップS303と同様に充電装置50にバッテリ情報を送信してもよいし、空データを充電装置50に向けて送信してもよい。これにより、当該BMU30のID(識別情報)を送ることが可能になる。
ステップS305により取得した充電開始情報に基づいて、充電が開始されていると判定された場合には(S607;Yes)、その後に充電装置50から送信されてくる要求情報を、続くステップS609により待機して受信する。なお、充電開始情報は、現在、BMU30が監視しているバッテリ20に対して充電が開始されたことを判定可能な情報であり、例えば、電流センサ37で検出された電流方向の情報や、充電装置50から送信された充電開始情報である。
一方、ステップS607により充電が開始されていると判定できない場合(開始されていない場合)(S607;No)や、所定時間を経過しても要求情報を受信できない場合には(S609;Time's Up)、本充電状態監視処理を終了して、次のタイミングによる処理の開始に備える。
本第2実施形態の充電装置50から送信されてくる要求情報は、現在のバッテリ電流を要求する情報に限られる(図7に示すS513,S523,S533)。そのため、次のステップS611により電流センサ37が計測したバッテリ20の現在のプラス端子21aを流れる現在の電流値(電流情報)を取得した後、続くステップS613によりその電流情報をバッテリ20の充電情報として充電装置50に送信する処理が行われる。
続くステップS617では充電情報取得処理が行われる。この充電情報は、充電装置50から送信されてくる充電継続情報(図7に示すS538)や充電中断情報(図7に示すS518)であり、これらの情報を受信することにより、充電装置50によるバッテリ識別処理は終了したことがわかることから、当該BMU30に対しては充電装置50から要求情報が引き続き送られてくる可能性は低い。そのため、充電継続or中断の判定処理(S619;Yes)により本充電状態監視処理を終了する。
なお、充電継続情報を受信した場合には、その情報の送信元ID(現在、充電している充電装置50のID)を制御部31のメモリに記憶することによって、これからさらに充電を続ける充電装置50を特定することが可能になる。つまり、対象BMU30x(充電中バッテリ20pを監視するBMU30)が、現在、充電を行っている充電装置50の情報を得ることができる。
一方、ステップS617により充電継続情報や充電中断情報が取得できない場合には(S619;No)、まだ充電装置50ではバッテリ識別処理が実行されており、当該BMU30に対して充電装置50から要求情報が送られてくる可能性が高い。そのため、ステップS609に処理を移行し充電装置50からの要求情報の受信を待つ。
なお、上述した充電システム2Bでは、複数のバッテリ20a〜20gのうち、充電装置50の通信可能範囲にフォークリフト10a〜10cが存在する場合を例示して説明したが、例えば、このような通信可能範囲に全てのフォークリフト10a〜10gが存在する場合には、それらに搭載されている複数のバッテリ20a〜20gについて、それらを監視する複数のBMU30a〜30gと充電装置50との間において上述と同様の情報処理が行われて、充電装置50が現在充電中のバッテリ20を特定することが可能になる。
以上説明したように、本第2実施形態に係る充電システム2Bでは、充電装置50の通信可能範囲にフォークリフト10a〜10cが存在する場合において、充電装置50は、所定の充電電流の変化パターンで充電を行い(S511,S521,S531)、複数のBMU30a〜30cから送られてくる複数のバッテリ20a〜20cの充電電流のうち充電電流の変化パターンと一致したパターンで変化する充電電流のバッテリ20を(S517;Yes,S527;Yes,S537;Yes)、一のバッテリとして特定する(S539)。
これにより、公称電圧や定格容量が異なるバッテリ20a〜20gが混在する場合において、複数のバッテリ20a〜20gから、現在、充電を行っている充電中バッテリ20pを正確に特定することが可能になる。したがって、第2実施形態の充電装置50は、その充電制御処理(図4)において、現在、充電を行っている充電中バッテリ20pに最適な充電パターンを制御部54のメモリから読み出して充電処理(S109)を行うことが可能になる。例えば、バッテリ20aが公称電圧36V、定格容量280Ahのリチウム電池で構成され、バッテリ20bが公称電圧36V、定格容量450Ahのリチウム電池で構成されている場合には、その仕様のリチウム電池に適した定電流定電圧充電方式でバッテリ20a,20bを充電することが可能になる。
なお、本第2実施形態においては、充電装置50が1台の場合を例示して説明したが、充電装置50が複数台存在する場合には、上述した所定の充電電流を変化させるパターンを複数の充電装置50ごとに異なったタイミングや異なった電流値に変化させるように、複数の充電装置50ごとにバッテリ識別処理のアルゴリズムを構成してもよい。
例えば、後述する改変例1,2(図11)のように充電装置が2台存在する場合には、図15(A)に示すように、一方の充電装置50A(実線)と他方の充電装置50B(破線)がそれぞれの電流値一致の判定タイミング(S517,S527,S537)と出力電流値のいずれも重複しないようにバッテリ識別処理を構成する。
また、図15(B)に示すように、一方の充電装置50Aと他方の充電装置50Bのそれぞれの電流値一致の判定タイミングの数(段数)が異なるように(充電装置50A(実線)は3段、充電装置50B(一点鎖線)は4段)バッテリ識別処理を構成してもよい。さらに、ランダムな間隔や増加量で変化するように設定するアルゴリズムでバッテリ識別処理を構成してもよい(図15(B)に示す一点鎖線)。
なお、上述した図7のバッテリ識別処理には、第4充電電流を設定する処理ステップやそのときの出力電流とバッテリ電流値との一致を判定する処理ステップ等が存在しない。そのため、図15(B)に表されている「S5xx」は、他のステップS517,S527,S537と区別するための便宜的な表現であることに注意されたい。
[第3実施形態]
続いて第3実施形態について図1〜図4、図9および図10を参照しながら説明する。第3実施形態の充電システム2Cは、上述した複数のバッテリ20a〜20gが全て同じ種類のセルで構成されていながらも公称電圧や定格容量が異なる二次電池であって準定電圧充電方式で充電を行う場合に適用することが可能なものである。例えば、バッテリ20a〜20gが鉛電池で構成されている場合に適用することができる。
前述した第2実施形態の充電システム2Bは、バッテリ20a〜20gに対して充電装置50が定電流定電圧充電方式で充電を行い得ることを前提にしたものであったが、本第3実施形態の充電システム2Cは、例えば、充電装置50が準定電圧充電方式で充電を行うものである点が第2実施形態の充電システム2Bと異なる。
このため、第2実施形態の充電システム2Bと同様に、図1〜図3に示す充電装置50やBMU30a〜30gのハードウェア構成は第1実施形態の充電システム2Aのものと同じであり、充電装置50が実行する充電制御処理中のバッテリ識別処理(S103)、充電パターン読出処理(S107)、充電処理(S109)等の内容と、BMU30a〜30gが実行する充電状態監視処理の内容については異なる。
したがって、ここでは、充電システム2Cの充電装置50により実行されるバッテリ識別処理(図9)とBMU30a〜30gにより実行される充電状態監視処理(図10)について主に説明する。なお、図9および図10において、第1実施形態および第2実施形態の処理内容と実質的に同じ処理を行う処理ステップについてはそれらに同一符号を付して説明を省略する。
図1に示すように、本第3実施形態の充電システム2Cでは、充電装置50の制御部54が図4および図9に示す充電制御処理を行い、BMU30の制御部31が図10に示す充電状態監視処理を行う。
図4に示すように、充電制御処理では、前述した第1実施形態や第2実施形態の充電装置50と同様に、まずステップS101により所定の初期化処理が行われる。次のステップS103ではバッテリ識別処理が行われる。この処理は、これから充電装置50が充電を行う対象のバッテリを複数のバッテリ20a〜20gから識別して特定するものであり、サブルーチンとして図9にその流れが図示されている。そのため、ここからは図9を主に参照しながら説明する。
図9に示すように、第3実施形態のバッテリ識別処理では、前述した第2実施形態の充電装置50と同様に、ステップS501,S502,S503,S506による各処理が行われる。これにより、ステップS506により、充電ケーブル70が接続され、かつ、充電を開始する操作がされたと判定された場合には(S506;Yes)、充電を開始するため、次のステップS810に処理を移行する。
ステップS810では充電電圧設定処理が行われる。この処理では、予め定められた所定の充電電圧として、例えば、充電装置50が準定電圧充電方式で充電を行う場合において、充電開始段階(充電初期段階)で出力される電圧(初期電圧値)よりも小さい電圧値に設定される。つまり、充電装置50の通信可能範囲に存在する、どのフォークリフト10a等のバッテリ20a等であってもバッテリ20等が故障しない初期電圧値よりも小さい電圧値(安全値)がステップS810による充電電圧値として設定されている。なお、この安全値は、充電装置50が充電し得る複数のバッテリ20の仕様等に基づいて予め算出されて制御部54のメモリに記憶されている。
なお、ステップS810により充電を開始する直前に、対象バッテリ20xを監視する対象BMU30xに対して充電開始情報を無線送信する処理(充電開始情報送信処理)を追加してもよい。これにより、対象BMU30xは、後述する充電状態監視処理(図10)の充電開始情報取得処理(図10に示すS305)において充電が開始された情報を比較的容易に取得することが可能になる。対象BMU30xの送信先指定は、例えば、送信データを構成する宛先IDに対象BMU30xのIDをセットすることにより行われる。
次のステップS510では対象バッテリ選択処理が行われる。この処理では、充電中の充電装置50が無線通信回線90を介して充電中バッテリ20pを特定するために必要な情報(充電情報等)を取得する対象になる対象バッテリ20xが選択される。対象バッテリ20xは、前述した第2実施形態の充電装置50と同様に、IDの送信があったバッテリ20a等から選択される。選択方法も第2実施形態と同様である。
続くステップS811では、対象BMU30xに対し、充電情報として対象バッテリ20xの現在のバッテリ電圧を要求する情報(要求情報)を送信する処理が行われる。この処理は、後述する充電状態監視処理(図10)の要求情報受信判定処理(図10に示すS609)に関連するものである。そのため、後述するように、この要求情報を受信した対象BMU30xは、現在の対象バッテリ20xの電圧情報を充電装置50に送信する。
このように対象BMU30xから送信された対象バッテリ20xの現在の電圧情報は、ステップ815のバッテリ電圧情報受信処理により充電装置50の制御部54が取得する。本第3実施形態ではこのバッテリ電圧情報受信処理に先立ってステップS813により出力電圧情報取得処理が行われる。この処理では、充電装置50が現在出力している電圧、つまり充電電圧情報を制御部54が電圧センサ56aから取得する。
このように本第3実施形態では、要求情報送信処理(S811)の直後かつバッテリ電圧情報受信処理(S815)の直前に出力電圧情報取得処理(S813)が行われることによって、制御部54が充電電圧情報を取得するタイミングと、対象BMU30xが現在の対象バッテリ20xの電圧情報を取得するタイミングと、を接近させてリアルタイム性を高めることが可能になる。これにより、この後のステップS817による電圧値の一致判定の精度を向上させることができる。
なお、このようなステップS811,S813,S815の順番に処理を行うことにより得られる「一致判定の精度を向上させる」効果は、後述する要求情報送信処理(S821)、出力電流情報取得処理(S823)およびバッテリ電流情報受信処理(S825)の場合や、要求情報送信処理(S831)、出力時間情報取得処理(S833)およびバッテリ充電時間情報受信処理(S835)の場合においても、同様に得られる。
ステップS817では、出力電圧情報取得処理(S813)により取得された充電電圧情報と、バッテリ電圧情報受信処理(S815)により対象BMU30xから受信した対象バッテリ20xの電圧情報とに基づいて、充電装置50が出力する充電電圧値と、対象バッテリ20xに流れる電圧値とが一致するか否かの判定が行われる。
即ち、現在、充電装置50が充電を行っている充電中バッテリ20pと、現在、対象BMU30xが監視している対象バッテリ20xと、が同一である場合には、それぞれの電圧センサ56a,36による計測タイミングに若干のズレ等が存在したとしても、充電装置50が充電(出力)する電圧値と対象バッテリ20xの端子間電圧値とは、ほぼ一致する蓋然性が高い。
このため、ステップS817の判定処理により、両者の電圧値が一致、またはほぼ一致すると判定された場合には(S817;Yes)、充電中バッテリ20pと対象バッテリ20xは同じバッテリ(同一)である可能性がある。そのため、続くステップS821〜S827により次の判定処理等が行われる。なお、ほぼ一致する場合とは、例えば、両者の電圧値の差が1%以下である場合をいう。
これに対して、ステップS817の判定処理により、両者の電圧値が一致せず、またほぼ一致もしないと判定された場合には(S817;No)、充電中バッテリ20pと対象バッテリ20xは異なった別々のバッテリである可能性が高い。そのため、このような場合には、ステップS518に処理を移行して対象BMU30xに対して充電を中断する情報(充電中断情報)を送信する。対象BMU30xは、後述する充電状態監視処理(図10)において充電中断情報を受信することにより(図10に示すS617)、当該充電状態監視処理を一旦終了することが可能になる(図10に示すS619;Yes)。
充電中断情報処理(S518)が終了すると、続いてステップS519により対象バッテリ変更処理が行われる。つまり、前述の対象バッテリ選択処理(S510)により選択された対象バッテリ20xは充電中バッテリ20pではないため、それに代えて、充電情報を取得する次の対象バッテリ20yを選択する処理が行われる。この対象バッテリ20yは、IDの送信があったバッテリ20a等から先の対象バッテリ20xを除いた中から、前述した選択方法に従って選択される。図1の例では、バッテリ20b,20cの中からIDが小さい(または大きい)ものが対象バッテリ20yとして選択される。
ステップS817の判定処理により、充電装置50が出力する充電中の電圧値と対象バッテリ20xの端子間電圧値とが一致またはほぼ一致すると判定された場合には(S817;Yes)、続くステップS821により、今度は、対象BMU30xに対し、充電情報として対象バッテリ20xの現在のバッテリ電流を要求する情報(要求情報)を送信する処理が行われる。そして、次のステップS823の出力電流情報取得処理により、充電装置50が現在出力している電流、つまり充電電流情報が電流センサ56bから取得される。さらにステップS825のバッテリ電流情報受信処理によって、対象BMU30xから送信された対象バッテリ20xの現在の電流情報(充電情報)が充電装置50の制御部54により取得される。
ステップS827では、出力電流情報取得処理(S823)により取得された充電電流情報と、バッテリ電流情報受信処理(S825)により対象BMU30xから受信した対象バッテリ20xの電流情報とに基づいて、充電装置50が行う充電電流値と、対象バッテリ20xの電流値とが一致するか否かの判定が行われる。
即ち、前述した電圧値の場合と同様に、現在、充電装置50が充電を行っている充電中バッテリ20pと、現在、対象BMU30xが監視している対象バッテリ20xと、が同一である場合には、それぞれの電流センサ56b,37による計測タイミングに若干のズレ等が存在したとしても、充電装置50が充電(出力)する電流値と対象バッテリ20xの電流値とは、ほぼ一致する蓋然性が高い。
このため、ステップS827の判定処理により、両者の電流値が一致、またはほぼ一致すると判定された場合には(S827;Yes)、充電中バッテリ20pと対象バッテリ20xは同じバッテリ(同一)である可能性がある。そのため、続くステップS831〜S837により次の判定処理等が行われる。なお、ほぼ一致する場合とは、例えば、両者の電流値の差が1%以下である場合をいう。
これに対して、ステップS827の判定処理により、両者の電流値が一致せず、またほぼ一致もしないと判定された場合には(S827;No)、充電中バッテリ20pと対象バッテリ20xは異なった別々のバッテリである可能性が高い。この場合には、前述と同様に、充電中断情報送信処理(S518)や対象バッテリ変更処理(S519)が行われる。
ステップS827の判定処理により、充電で充電装置50が出力する電流値と対象バッテリ20xの電流値とが一致またはほぼ一致すると判定された場合には(S827;Yes)、続くステップS831により、今度は、対象BMU30xに対し、充電情報として対象バッテリ20xの充電の開始から現在に至るまでのバッテリ充電時間を要求する情報(要求情報)を送信する処理が行われる。
そして、次のステップS833の出力時間情報取得処理により、充電装置50が電圧を出力し始めてから現在に至るまでの時間、つまり充電時間情報を制御部54の時計機能から当該制御部54が取得する。さらにステップS835のバッテリ充電時間情報受信処理によって、対象BMU30xから送信された対象バッテリ20xのバッテリ充電時間情報(充電情報)が充電装置50の制御部54により取得される。
ステップS837では、出力時間情報取得処理(S833)により取得された充電時間情報と、バッテリ充電時間情報受信処理(S835)により対象BMU30xから受信した対象バッテリ20xのバッテリ充電時間情報とに基づいて、充電装置50がこれまでに充電を行った時間と、対象バッテリ20xがこれまでに充電された時間とが一致するか否かの判定が行われる。
即ち、前述した電圧値の場合や電流値の場合と同様に、現在、充電装置50が充電を行っている充電中バッテリ20pと、現在、対象BMU30xが監視している対象バッテリ20xと、が同一である場合には、それぞれの制御部54,31の時計機能による計測タイミングに若干のズレ等が存在したとしても、充電装置50が充電(出力)した時間と対象バッテリ20xが充電された時間とは、ほぼ一致する蓋然性が高い。
このため、ステップS837の判定処理により、両者の時間が一致、またはほぼ一致すると判定された場合には(S837;Yes)、充電中バッテリ20pと対象バッテリ20xは同じバッテリ(同一)である可能性が非常に高い。この場合には、充電中バッテリ20pは、対象BMU30xが監視をしている対象バッテリ20xであると特定することができる。
つまり、現在、充電装置50が充電を行っている充電中バッテリ20pが確定するため、ステップS538に処理を移行して充電を継続する情報(充電継続情報)を対象BMU30xに送信する。対象BMU30xは、後述する充電状態監視処理(図10)において充電継続情報を受信することにより(図10に示すS617)、当該充電状態監視処理を終了することが可能になる(図10に示すS619;Yes)。
さらに、ステップS539により対象バッテリ20xの情報(例えば、対象バッテリ20xのID)を制御部54のメモリに保存(記憶)するとともに保存フラグをオンに設定する。保存フラグは、充電を行っている充電中バッテリ20pが確定した場合にオンに設定され、確定していない場合には、前述した充電制御処理の初期化処理(図4に示すS101)によりオフに設定されている。これにより、本バッテリ識別処理が終了するため、図4の充電制御処理に処理を戻す。
なお、ステップS837の判定処理により、両者の時間が一致せず、またほぼ一致もしないと判定された場合には(S837;No)、充電中バッテリ20pと対象バッテリ20xは異なった別々のバッテリである可能性が高い。この場合には、前述と同様に、充電中断情報送信処理(S518)や対象バッテリ変更処理(S519)が行われる。
ただし、対象バッテリ変更処理(S519)において、選択すべき対象バッテリ20z等が残っていない場合には、現在、充電装置50が充電を行っている充電中バッテリ20pは特定することができない。つまり、対象バッテリ20x等の情報を制御部54のメモリに保存することができない。そのため、このような場合には、バッテリ識別処理をやり直す必要があることから、保存フラグをオンに設定することなく(保存フラグはオフ)、本バッテリ識別処理を終了する。
図4に示すように、ステップS103のバッテリ識別処理が終わると、続くステップS105により、充電を行っている充電中バッテリ20pを識別することができたか否かを判定する処理(識別判定処理)が行われる。この処理は、例えば、保存フラグ等に基づいて行われる。即ち、前述のバッテリ識別処理において充電中バッテリ20pを識別することができていた場合(充電装置50が充電を行っている充電中バッテリ20pは、対象BMU30xが監視をしているバッテリ20であることが確定した場合)には、保存フラグがオンに設定され、また制御部54のメモリにはバッテリ20x等の情報が保存されている。
このため、保存フラグまたは制御部54のメモリを参照することにより、充電中バッテリ20pを識別することができた(一のバッテリとして正確に特定することができた)場合には(S105;Yes)、次のステップS107により充電パターン読出処理が行われる。これに対して、識別することができていなかった場合には(S105;No)、再度、バッテリ識別処理を行う必要があることから、ステップS103に処理を戻す。
なお、バッテリ識別処理を所定の回数(例えば3回)実行しても充電中バッテリ20pを識別することができない場合には、当該充電装置50の通信部58やBMU30の通信部32等が故障して通信障害が発生している可能性がある。そのため、このような場合には、本充電制御処理を異常終了して、障害の発生を表示や音を介して外部に告知するように充電装置50を構成してもよい。
ステップS107では、本充電を行うため、充電パターンを制御部54のメモリから読み出す処理が行われる。本第3実施形態の充電パターンは、例えば、図14(B)に示す準定電圧充電方式またはそれに準拠するものである。第1実施形態の充電システム2Aの充電装置50と同様に、本第3実施形態では、BMU30(バッテリ20)に付与されているIDごとにバッテリ20の仕様に適した標準的な充電パターンが関連付けられて制御部54のメモリに記憶されている。そのため、充電パターン読出処理(S107)では、充電装置50が充電中のバッテリ20の仕様(公称電圧や定格容量)に適した充電パターンが読み出される。
なお、充電パターンはバッテリ20の仕様(公称電圧や定格容量)ごとに標準的なものである必要はなく、例えば、同じ仕様のバッテリ20であっても、それぞれのバッテリ20ごとに最適な充電特性が得られるようにパターンの一部が個別に変更されていてもよい。このような各バッテリ20ごとに個別対応させた充電パターンは、予め制御部54のメモリに記憶されていてもよいし、またBMU30から得られるバッテリ20の放電情報や充電情報に基づいて制御部54が個別にパターンの一部を変更してもよい。また、このような充電パターンが全てのバッテリ20a〜20gについて共通であり予め制御部54のメモリに記憶されて設定されている場合には、充電パターン読出処理(S107)を省略してもよい。
続くステップS109では、ステップS107により読み出された充電パターンに従ってバッテリ20を充電する処理が行われる。本第3実施形態の場合には、例えば、図14(B)に示す準定電圧充電方式でバッテリ20に充電電力を供給(充電電流や充電電圧を出力)するように電圧変換部53が制御部54によって制御される。ここでは、準定電圧充電方式の初期電圧値をバッテリ20に出力する。なお、図14(B)中に表されているT点は、端子間電圧が当該T点の電圧に至るまで供給し得る最大電流で急速充電を行うことを意味している。その後は、充電が完了するまで所定時間の経過により充電を終了するタイマー充電が行われる。このような充電制御が充電処理(S109)により行われて(S111;No)、充電が完了すると(S111;Yes)、次の充電開始に備えてステップS103に処理を移行する。なお、本充電制御処理は、図略の電源スイッチがオフ操作されることによって終了するまで繰り返し実行される。
次に、BMU30やBMU30’により行われる充電状態監視処理を図10に基づいて説明する。ここでは、BMU30により行われる処理内容の例を説明するが、BMU30’においても同様の情報処理が行われる。
本第3実施形態の充電状態監視処理は、BMU30の制御部31のメモリ(ROM)に記憶された充電状態監視プログラムを制御部31のMPUが実行することにより実現される。充電状態監視プログラム(充電状態監視処理)は、例えば、BMU30が起動された直後から、例えば、数ミリ秒ごとに実行されるタイマー割り込み制御により繰り返し実行される。なお、本第3実施形態の充電状態監視処理は、図10に示すように、要求情報内容判定処理(S710)から充電時間情報送信処理(S716)までが第1実施形態や第2実施形態のBMU30と異なるため、ここではステップS710から説明する。
ステップS710では、ステップS609により受信した要求情報の内容を判定する処理が行われる。本第3実施形態では、充電装置50から送信されてくる要求情報は、例えば、現在のバッテリ電圧を要求する情報、現在のバッテリ電流を要求する情報や、充電の開始から現在に至るまでのバッテリ充電時間を要求する情報である。
このため、受信した要求情報の内容が、例えば、現在のバッテリ電圧を要求する情報である場合には(S710;電圧)、次のステップS711により電圧センサ36が計測したバッテリ20の現在の端子間電圧値(電圧情報)を取得した後、続くステップS712によりその電圧情報をバッテリ20の充電情報として充電装置50に送信する処理が行われる。
また、受信した要求情報の内容が、例えば、現在のバッテリ電流を要求する情報である場合には(S710;電流)、次のステップS713により電流センサ37が計測したバッテリ20のプラス端子21aを流れる現在の電流値(電流情報)を取得した後、続くステップS714によりその電流情報をバッテリ20の充電情報として充電装置50に送信する処理が行われる。
さらに、受信した要求情報の内容が、例えば、充電の開始から現在に至るまでのバッテリ充電時間を要求する情報である場合には(S710;時間)、次のステップS715により、充電時間情報(時間情報)を制御部31の時計機能から取得した後、続くステップS716によりその時間情報をバッテリ20の充電情報として充電装置50に送信する処理が行われる。
ステップS712,S714,S716による送信処理が終了すると、続くステップS617により充電情報取得処理が行われる。この充電情報は、充電装置50から送信されてくる充電継続情報(図9に示すS538)や充電中断情報(図9に示すS518)であり、これらの情報を受信することにより、充電装置50によるバッテリ識別処理は終了したことがわかることから、当該BMU30に対しては充電装置50から要求情報が引き続き送られてくる可能性は低い。そのため、充電継続or中断の判定処理(S619;Yes)により本充電状態監視処理を終了する。
なお、充電継続情報を受信した場合には、その情報の送信元ID(現在、充電している充電装置50のID)を制御部31のメモリに記憶することによって、これからさらに充電を続ける充電装置50を特定することが可能になる。つまり、対象BMU30x(充電中バッテリ20pを監視するBMU30)が、現在、充電を行っている充電装置50の情報を得ることができる。
一方、ステップS617により充電継続情報や充電中断情報が取得できない場合には(S619;No)、まだ充電装置50ではバッテリ識別処理が実行されており、当該BMU30に対して充電装置50から要求情報が送られてくる可能性が高い。そのため、ステップS609に処理を移行し充電装置50からの要求情報の受信を待つ。
なお、上述した充電システム2Cでは、複数のバッテリ20a〜20gのうち、充電装置50の通信可能範囲にフォークリフト10a〜10cが存在する場合を例示して説明したが、例えば、このような通信可能範囲に全てのフォークリフト10a〜10gが存在する場合には、それらに搭載されている複数のバッテリ20a〜20gについて、それらを監視する複数のBMU30a〜30gと充電装置50との間において上述と同様の情報処理が行われて、充電装置50が現在充電中のバッテリ20を特定することが可能になる。
以上説明したように、本第3実施形態に係る充電システム2Cでは、充電装置50の通信可能範囲にフォークリフト10a〜10cが存在する場合において、充電装置50は、複数のBMU30a〜30cから送られてくる複数のバッテリ20a〜20cの充電電圧、充電電流および充電時間のうち、充電中バッテリ20pの充電電圧、充電電流および充電時間と一致した充電情報を有するバッテリ20を(S817;Yes,S827;Yes,S837;Yes)、一のバッテリとして特定する(S539)。
これにより、公称電圧や定格容量が異なるバッテリ20a〜20gが混在する場合において、複数のバッテリから、現在、充電を行っている充電中バッテリ20pを正確に特定することが可能になる。したがって、第3実施形態の充電装置50は、その充電制御処理(図4)において、現在、充電を行っている充電中バッテリ20pに最適な充電パターンを制御部54のメモリから読み出して充電処理(S109)を行うことが可能になる。例えば、バッテリ20aが公称電圧24V、定格容量280Ahの鉛電池で構成され、バッテリ20bが公称電圧48V、定格容量450Ahの鉛電池で構成されている場合には、その仕様の鉛電池に適した準定電圧充電方式でバッテリ20a,20bを充電することが可能になる。
[改変例1]
上述した第1実施形態〜第3実施形態では、1台の充電装置50に対して複数のフォークリフト10a〜10gにそれぞれ搭載されたバッテリ20a〜20gを充電し得る充電システム2A〜2Cを例示して説明した(図1参照)。
しかし、図11に示すように、充電装置50が複数台存在する場合には、それぞれの充電装置50A,50B等に対して複数のフォークリフト10a〜10hが充電をするために無線通信を行い得る。そのため、例えば、充電装置50Aの通信部58と充電装置50Bの通信部58とが同じ周波数帯の無線通信回線90(90x)を利用している場合には、互いに電波干渉が起こり得ることから、これら充電装置50A,50Bと複数のBMU30a〜30hの間において通信障害の発生が懸念される。
そこで、第1実施形態〜第3実施形態の改変例1に係る充電システム2Dでは、充電装置50Aと充電装置50Bを互いに情報通信可能な通信回線100で接続するとともに、図12に示すようなバッテリ識別処理等を行うことによって、このような通信障害の発生を抑制可能にしている。なお、改変例1のバッテリ識別処理は、上述した充電制御処理(図4)のステップS103で実行されるサブルーチンであるが、他の処理(S101,S105〜S111)については変更はない。
まず、図2および図11に基づいて充電装置50A,50Bの構成を簡単に説明する。充電装置50A,50Bは、第1実施形態〜第3実施形態で説明した充電装置50とそれぞれ同様に構成されている。そのため、これらはいずれも通信部58を備えることから、無線による通信回線100を介して互いに情報通信することが可能である。なお、両装置50A,50Bは、例えば、充電ステーション等の屋内または屋外に設置されていることが多い。そのため、通信回線100は、無線通信回線である必要はなく、例えば、有線通信回線でもあってもよいし、また通信部58とは別の無線通信装置を介して情報通信可能に接続されていてもよい。
次に、上述の第1実施形態における改変例1のバッテリ識別処理について、図5および図12(A)を参照しながら説明する。図12(A)に示すように、第1実施形態のバッテリ識別処理においては、ケーブル接続等の判定処理(S206)とプレ充電開始処理(S210)の間に、他充電装置情報取得処理(S207)、識別処理中判定処理(S208)および識別処理開始情報送信処理(S209)を追加する。第1実施形態のバッテリ識別処理では、プレ充電開始以降の各処理(S211〜S215,S221〜S225,S231〜S235)においてリアルタイム性を確保する必要があり、これらの処理期間中には通信障害の発生を抑えたいからである。
ケーブル接続等の判定処理(S206)の後に実行されるステップS207では、他の充電装置50から所定情報を取得する処理(他充電装置情報取得処理)が行われる。この処理は、例えば、一の充電装置50Aに対して、他の充電装置50Bから送信されてきた識別処理開始情報や識別処理終了情報を制御部54のメモリに確保されている受信バッファから取得するものである。
識別処理開始情報は、充電装置50が対象BMU30x等を識別する一連の処理(S211〜S237)(以下「識別一連処理」という)を実行している最中(実行期間中)であることを表す情報であり、それと逆に識別一連処理を実行していないことを表す識別処理終了情報と対になるものである。なお、図12(A)には、識別一連処理(S211〜S237)の部分は図示されていないことに注意されたい。
また、図示されていないが、本改変例1の充電装置50(例えば充電装置50A)は、後述する識別処理開始情報送信処理(S209)や識別処理終了情報送信処理(S240)に対応して、識別処理開始情報や識別処理終了情報の情報を、充電制御処理(図4)とは別のタスクまたはプロセスで他の充電装置50B等から通信回線100を介して受信し得るように構成されており、受信したこれらの情報は、所定の受信バッファに保持されている。なお、他の充電装置50B等も、当該充電装置50Aと同様に、充電装置50Aから送られてくる識別処理開始情報や識別処理終了情報の情報を通信回線100を介して受信し得るように構成されている。
次のステップS208では、受信バッファから取得した識別処理開始情報や識別処理終了情報に基づいて、他の充電装置50Bが対象BMU30x等を識別する一連の処理(以下「識別一連処理」という)を実行している最中(実行期間中)であるか否かを判定する処理が行われる(識別中判定処理)。
例えば、識別処理開始情報や識別処理終了情報にはそれらの情報を送信した充電装置50のIDと各充電装置50ごとに管理されるシーケンス番号が含まれている。シーケンス番号から識別処理開始情報や識別処理終了情報の送信順がわかる。そのため、これらの情報を送信した充電装置50を判別することや、現在、当該充電装置50が識別一連処理を実行中であるか否かを判定することができる。
即ち、識別処理開始情報とそれに対応する識別処理終了情報とが受信バッファに存在する場合には、これらを送信した充電装置50は、識別一連処理を現在行っていない可能性が高い。これに対して、識別処理開始情報に対応する識別処理終了情報が受信バッファに存在しない場合には、これらを送信した充電装置50は、現在、識別一連処理を行っている、つまり識別一連処理の実行中である可能性が高い。
したがって、このような情報に基づく識別中判定処理により、他の充電装置50Bが識別一連処理の実行中であると判定された場合には(S208;Yes)、当該他の充電装置50Bとの電波干渉を避けるため、識別処理終了情報が他の充電装置50Bから送られてくるまで識別一連処理の実行を待つ。
これに対して、他の充電装置50Bが識別一連処理の実行中でないと判定された場合には(S208;No)、当該他の充電装置50Bとの電波干渉は生じ難い。そのため、この場合には、続くステップS209により識別処理開始情報を他の充電装置50B等に送信する処理が行われる。充電装置50Aから送信される識別処理開始情報には、例えば、宛先IDとして一斉送信を表す「0」が付けられる。これにより、当該充電装置50A以外の充電装置50B等は、この識別処理開始情報を受信することによって、次に当該充電装置50Aから識別処理開始情報を受信するまで識別一連処理の実行を待つ(S208;Yes)。
充電装置50Aでは、識別一連処理(S211〜S237)が終了しさらに対象バッテリ情報保存処理(S239)を終了すると、ステップS240により識別処理終了情報を他の充電装置50B等に送信する処理が行われる。この識別処理終了情報にも、例えば、宛先IDとして一斉送信を表す「0」が付けられる。これにより、当該充電装置50A以外の充電装置50B等は、この識別処理終了情報を受信することで識別一連処理の実行が可能になる(S208;No)。
続いて、上述の第2実施形態や第3実施形態における改変例1のバッテリ識別処理について、図7、図9および図12(B)を参照しながら説明する。図12(B)に示すように、第2実施形態や第3実施形態のバッテリ識別処理においては、ケーブル接続等の判定処理(S506)と対象バッテリ選択処理(S510)の間に、他充電装置情報取得処理(S507)、識別処理中判定処理(S508)および識別処理開始情報送信処理(S509)を追加する。なお、第3実施形態のバッテリ識別処理では、ケーブル接続等の判定処理(S506)の直後に充電電圧設定処理(S810)が入るが、図12(B)にはそれが図示されていないことに注意されたい。
第2実施形態や第3実施形態のバッテリ識別処理においても、第1実施形態と同様に、対象バッテリ選択処理以降の各処理(S511〜S515,S521〜S525,S531〜S535(S811〜S815,S821〜S825,S831〜S835))においてリアルタイム性を確保する必要があり、これらの処理期間中には通信障害の発生を抑えたいからである。
このため、第2実施形態や第3実施形態の改変例1でも、先に説明した第1実施形態の場合の他充電装置情報取得処理(S207)、識別処理中判定処理(S208)、識別処理開始情報送信処理(S209)および識別処理終了情報送信処理(S240)と同様に、他充電装置情報取得処理(S507)、識別処理中判定処理(S508)、識別処理開始情報送信処理(S509)および識別処理終了情報送信処理(S540)がそれぞれ機能する。これにより、識別中判定処理(S508)によって、他の充電装置50Bが識別一連処理の実行中であると判定された場合には(S508;Yes)、当該他の充電装置50Bとの電波干渉を避けるため、識別処理終了情報が他の充電装置50Bから送られてくるまで識別一連処理の実行を待つ。
これに対して、他の充電装置50Bが識別一連処理の実行中でないと判定された場合には(S508;No)、当該他の充電装置50Bとの電波干渉は生じ難い。そのため、この場合には、続くステップS509により識別処理開始情報を他の充電装置50B等に送信する処理が行われる。充電装置50Aから送信される識別処理開始情報に、宛先IDとして一斉送信を表す「0」が付けられることにより、当該充電装置50A以外の充電装置50B等は、この識別処理開始情報を受信することによって、次に当該充電装置50Aから識別処理開始情報を受信するまで識別一連処理の実行を待つ(S508;Yes)。
充電装置50Aでは、識別一連処理(S511〜S537またはS811〜S837)が終了しさらに対象バッテリ情報保存処理(S539)を終了すると、ステップS540により識別処理終了情報を他の充電装置50B等に送信する処理が行われる。この識別処理終了情報にも、宛先IDとして一斉送信を表す「0」が付けられることにより、当該充電装置50A以外の充電装置50B等は、この識別処理終了情報を受信することで識別一連処理の実行が可能になる(S508;No)。
以上説明したように、第1実施形態〜第3実施形態の改変例1に係る充電システム2Dでは、充電装置50が複数台存在する場合(充電装置50Aと充電装置50B等が存在する場合)において、充電装置50Aおよび充電装置50B等は、充電装置50Aがバッテリ20a〜20hの中からバッテリ20を特定する識別一連処理を実行する期間中は、充電装置50A以外の充電装置50B等はBMU30a〜30hと無線通信を行わない(図11に示す無線通信回線90xによる情報通信)。これにより、このような期間中において、充電装置50A以外の充電装置50B等が複数のBMU30a〜30hに対して無線通信を行うことがないため、充電装置50Aは、複数のBMU30a〜30cとの無線通信を独占することが可能になる。つまり、排他的な無線通信が可能になる。したがって、充電装置50Aと充電装置50B等が互いに電波干渉を起こすことに起因した通信障害の発生を防ぐことができる。
なお、この改変例1では、識別一連処理(S211〜S237,S511〜S537またはS811〜S837)の前後に、識別処理開始情報送信処理(S209,S509)および識別処理終了情報送信処理(S240,S540)を加えた。これにより、当該充電装置50A(または充電装置50B等)から他の充電装置50B(または充電装置50A)等に向けて、識別処理開始情報や識別処理終了情報を通信回線100を介して送信し得るように構成した。また、当該充電装置50A(または充電装置50B等)が、他の充電装置50B等(または充電装置50A)から送信されてくる識別処理開始情報や識別処理終了情報を、充電制御処理(図4)とは別のタスクまたはプロセスで受信して所定の受信バッファに保持し得るように構成した。
しかし、例えば、他充電装置情報取得処理(S207,S507)により、充電装置50Aから他の充電装置50B等に(充電装置50B等から充電装置50Aに)対して識別一連処理(S211〜S237,S511〜S537またはS811〜S837)の実行中であるか否かを通信回線100を介して問い合わせて、その結果(結果情報)を取得し得るように構成する。またこれに対応して、問い合わせを受ける他の充電装置50B等(充電装置50A)は、識別一連処理の実行中であることを表す「実行中情報」や識別一連処理の実行中ではないことを表す「非実行情報」を結果情報として、問い合わせ元の充電装置50A(充電装置50B等)に通信回線100を介して送信し得るように構成する。これにより、バッテリ識別処理の改変例1において、識別処理開始情報送信処理(S209,S509)や識別処理終了情報送信処理(S240,S540)を省略することが可能になる。
[改変例2]
上述した第1実施形態〜第3実施形態では、1台の充電装置50に対して複数のフォークリフト10a〜10gにそれぞれ搭載されたバッテリ20a〜20gを充電し得る充電システム2A〜2Cを例示して説明した(図1参照)。
しかし、図11に示すように、充電装置50が複数台存在する場合には、それぞれの充電装置50A,50B等に対して複数のフォークリフト10a〜10hが充電をし得る。そのため、例えば、一方の充電装置50Aがフォークリフト10aのバッテリ20aに対して充電を行い、他方の充電装置50Bがフォークリフト10hのバッテリ20hに対して充電を行っている場合には、上述の各バッテリ識別処理(図5,図7,図9)において、例えば、充電装置50Bがバッテリ20aのBMU30aを対象BMU30xとして選択する必要はない。BMU30aは既に充電装置50Aが充電を行っているバッテリ20aを監視していることから、このようなBMU30aを対象BMU30xに選択すると、BMU30aに関するその後の処理が無駄になったり、バッテリ識別処理全体の処理時間が遅くなったりし得るからである。
そこで、第1実施形態〜第3実施形態の改変例2に係る充電システム2Eでは、図13(A)や図13(B)に示すようなバッテリ識別処理等を行うことによって、このような無駄な情報処理の発生を抑制可能にしている。なお、第1実施形態〜第3実施形態の充電状態監視処理では、前述したように、BMU30が監視しているバッテリ20が、充電装置50により充電されている場合(充電中の場合)には、BMU30はその充電装置50の情報(充電装置50のID)をプレ充電終了情報や充電継続情報から得ることが可能である。
なお、改変例2のバッテリ識別処理は、上述した充電制御処理(図4)のステップS103で実行されるサブルーチンであるが、他の処理(S101,S105〜S111)については変更はない。また、充電装置50A,50Bの構成は、既に改変例1で説明を終えているので、ここではその説明を省略する。
まず、第1実施形態における改変例2のバッテリ識別処理について、図5、図13(A)および図13(C)を参照しながら説明する。図13(A)に示すように、第1実施形態のバッテリ識別処理においては、プレ充電電流算出処理(S204)とケーブル接続等の判定処理(S206)の間に充電中バッテリ情報取得処理(S205)を追加する。
充電中バッテリ情報取得処理は、例えば、複数のBMU30a〜30gに対して、それぞれ監視しているバッテリ20a〜20gが、現在、充電中であるか否かを無線通信回線90を介して問い合わせてその結果(結果情報)を取得し得るものである。結果情報には、例えば、複数のBMU30a〜30gがそれぞれ監視する複数のバッテリ20a〜20gのうちで、現在、充電装置50から充電電力(充電電圧、充電電流)が供給されているバッテリ20のIDが含まれる。
このため、改変例2のバッテリ識別処理では、このような他の充電中バッテリ20qのIDを充電中バッテリ情報取得処理により取得して制御部54のメモリに保存する。ここで、充電中バッテリ情報取得処理について図13(C)を参照しながら説明する。図13(C)に示すように、充電中バッテリ情報取得処理では、まずステップS901によりバッテリ情報を制御部54のメモリから読み出す処理が行われる(バッテリ情報読出処理)。
このバッテリ情報は、バッテリ20(BMU30)のID(識別情報)であり、当該IDは、第1実施形態〜第3実施形態のバッテリ識別処理により、充電装置50の通信可能範囲に存在するフォークリフト10a〜10gに搭載されたバッテリ20a〜20gのIDが既に取得されて制御部54のメモリに記憶されている(図5に示すS201,S202、図7や図9に示すS501,S502)。
図11に示す例では、充電装置50Bの制御部54は、フォークリフト10a,10g,10hのバッテリ20a,20g,20hのIDをそのメモリに記憶している。そのため、バッテリ情報読出処理(S901)では、バッテリ20a,20g,20hのIDが制御部54のメモリから読み出される。読み出されたIDは、次のステップS903において、要求情報を送信する宛先IDに用いられる。
即ち、ステップS903では、BMU30に対してバッテリ20の現在の状態情報を要求する情報(要求情報)を送信する処理が行われるが、読み出されたIDはその際の宛先IDとして送信データにセットされる。送信元IDは、要求元の充電装置50のIDになる。このような要求情報の送信は、例えば、IDの小さいもの(または大きいもの)から順番に当該送信処理が行われるごとに順次無線送信される。
改変例2では、BMU30は、このような要求情報を受信すると、監視しているバッテリ20の現在の状態情報を要求元の充電装置50に直ちに送信し得るように構成されている。そのため、送信元の充電装置50では、続くステップS905により、送信されてきたバッテリ20の状態情報を受信した後、受信済みの状態情報をステップS907により制御部54のメモリに記憶(保存)する。メモリに記憶する情報として、例えば、充電中であるか否かを判別できる充放電情報だけを状態情報から選択してもよい。
そして、読み出されたIDに対応するバッテリ20の状態情報または充放電情報を全てメモリに記憶するまで、このような各処理(S901〜S907)を繰り返す(S909;No)。IDに対応するバッテリ20の状態情報または充放電情報を全て制御部54のメモリに記憶した場合には(S909;Yes)、本充電中バッテリ情報取得処理を終了して、バッテリ識別情報に処理を戻す。
図11に示す先の例では、充電装置50Bは、バッテリ20a,20g,20hの充放電情報を制御部54のメモリに記憶する。充電装置50Bの通信可能範囲に存在するフォークリフト10a,10g,10hのバッテリ20a,20g、20hのうち、充電中のものはバッテリ20a,20hになるが、フォークリフト10aのバッテリ20aは、充電装置50Bではなく充電装置50Aにより、現在、充電されている。
このような充放電情報を含むバッテリ20の状態情報が充電中バッテリ情報取得処理(S205)により取得されることによって、第1実施形態〜第3実施形態のバッテリ識別処理においては対象バッテリ20x等として選択する必要のない、現在、他の充電装置50により充電されているバッテリ20(他の充電中バッテリ20q)を把握することが可能になる。
このため、第1実施形態のバッテリ識別処理の改変例2では、プレ充電開始処理(S210)および対象バッテリ変更処理(S219)において、対象バッテリ20x等として選択されるバッテリ20a等から、他の充電中バッテリ20qを除外したうえで、対象バッテリ20x等の選択を行う。先の例においては、充電装置50Bは、対象バッテリ20x等として選択される可能性のあるバッテリ20a,20g,20hから、充電装置50Aが充電中のバッテリ20aを除く。そして、残ったバッテリ20g,20hから対象バッテリ20x等を選択する。
これにより、他の充電装置50により充電されているために選択する必要のないバッテリ20を無駄に対象バッテリ20x等として選択することがなくなることから、バッテリ識別処理全体の処理時間を短縮することが可能になる。したがって、バッテリ識別処理の速度を速くすることができる。また、無線通信回線を介した不要な情報通信が抑制することが可能になるので、通信量の削減や通信トラフィックの軽減も期待することができる。
続いて、上述の第2実施形態および第3実施形態における改変例2のバッテリ識別処理について、図7、図9、図13(B)および図13(C)を参照しながら説明する。図13(B)に示すように、第2実施形態や第3実施形態のバッテリ識別処理においては、識別情報の記憶完了判定処理(S503)とケーブル接続等の判定処理(S506)の間に充電中バッテリ情報取得処理(S505)を追加する。
第2実施形態や第3実施形態のバッテリ識別処理においても、第1実施形態と同様に、充放電情報を含むバッテリ20の状態情報が充電中バッテリ情報取得処理(S505)により取得されることによって、対象バッテリ20x等として選択する必要のない、現在、他の充電装置50により充電されているバッテリ20(他の充電中バッテリ20q)を把握することが可能になる。
このため、第2実施形態や第3実施形態のバッテリ識別処理の改変例2では、対象バッテリ選択処理(S510)および対象バッテリ変更処理(S519)において、対象バッテリ20x等として選択されるバッテリ20a等から、他の充電中バッテリ20qを除外したうえで、対象バッテリ20x等の選択を行う。
これにより、第2実施形態や第3実施形態のバッテリ識別処理においても、他の充電装置50により充電されているために選択する必要のないバッテリ20を無駄に対象バッテリ20x等として選択することがなくなることから、バッテリ識別処理全体の処理時間を短縮することが可能になる。したがって、バッテリ識別処理の速度を速くすることができる。また、無線通信回線を介した不要な情報通信が抑制することが可能になるので、通信量の削減や通信トラフィックの軽減も期待することができる。
なお、BMU30は、自分が監視しているバッテリ20が充電装置50により充電されている場合にはその充電装置50のIDをプレ充電終了情報や充電継続情報から得ることが可能である。そのため、バッテリ20の状態情報に充放電情報が含まれており、当該BMU30が、その充放電情報に充電中の充電装置50のIDを付加するように構成することによって、当該充放電情報を取得した充電装置50は、現在、他の充電装置50が充電しているバッテリ20(他の充電中バッテリ20q)を把握することが可能になる。
以上説明したように、第1実施形態〜第3実施形態の改変例2に係る充電システム2Eでは、充電装置50が複数台存在する場合(充電装置50Aと充電装置50B等が存在する場合)において、複数のBMU30a〜30hは、対象バッテリ20x等が他の充電装置50B(または充電装置50A)に充電されているときには当該他の充電中バッテリ20qである旨の状態情報や充放電情報(充電中情報)を充電装置50A(または充電装置50B)に送る。そして、その後、充電装置A(または充電装置50B)は、状態情報や充放電情報(充電中情報)を送ったBMU30と無線通信を行うことなく、その他の充電中バッテリ20qを除外してバッテリ20(一のバッテリ)を特定するバッテリ識別処理を行う。これにより、複数のバッテリ20a〜20hから他の充電中バッテリ20qが除外されるので、バッテリ20を特定する時間を短縮することが可能になる。したがって、バッテリ20を特定するバッテリ識別処理の速度を速くすることができる。
以上説明したように、第1〜第3実施形態に係る各充電システム2A〜2Cや、第1〜第3実施形態の改変例1,2に係る各充電システム2D,2Eでは、複数のバッテリ20a〜20g(20h)と別体に設けられる充電装置50(複数の充電装置50A,50B等)と、複数のバッテリ20a〜20g(20h)のそれぞれに対応して個々の充電情報を無線通信回線90を介して充電装置50(50A,50B等)に送る複数のBMU30a〜30g(30h)と、を含む。そして、充電装置50(50A,50B等)は、複数のBMU30a〜30g(30h)から送られてくる個々の充電情報に基づいて複数のバッテリ20a〜20g(20h)から一のバッテリを特定する。例えば、現在、充電装置50(50A,50B等)が充電を行っている充電中バッテリ20pの充電情報と、複数のBMU30a〜30cから送られてくる個々のバッテリ20a〜20cの充電情報とを比較して両者が一致したバッテリ20を充電中バッテリ20p(一のバッテリ)として特定する。
これにより、例えば、鉛電池のバッテリ20cを搭載するフォークリフト10cとリチウム電池のバッテリ20a,20bを搭載するフォークリフト10a,10bが混在したり、種類が同じでも公称電圧や定格容量が異なるバッテリ20a〜20g(20h)を搭載したフォークリフト10a〜10g(10h)が混在したりする等、バッテリのセルの種類、公称電圧や定格容量が異なるフォークリフト10等が混在する場合においても、複数のバッテリ20a〜20cから、現在、充電を行っている充電中バッテリ20pを一のバッテリとして正確に特定することが可能になる。つまり、セルの種類、公称電圧や定格容量が異なるバッテリが混在しても、複数のバッテリ20a〜20g(20h)から、現在、充電を行っている充電中バッテリ20pを一のバッテリとして正確に特定することが可能になる。したがって、バッテリ20a〜20g(20h)に適した充電制御を行うことができる。
なお、上述した第1〜第3実施形態に係る各充電システム2A〜2Cや、第1〜第3実施形態の改変例1,2に係る各充電システム2D,2Eでは、充電対象のバッテリ20a〜20gはそれぞれフォークリフト10a〜10g(10h)に搭載された状態のままで充電ケーブル70を介して充電装置50,50A,50B等に電気的に接続されて充電できるように構成されている。本発明はこれに限られることはなく、これらのフォークリフト10a等から取り外した状態で充電装置50,50A,50B等に充電ケーブル等を介して(または直接)電気的に接続してもよい。このような構成の場合であっても上述した充電システム2A〜2Eの場合と同様の技術的な作用および効果を得ることが可能である。
また、上述した第1〜第3実施形態に係る各充電システム2A〜2Cや、第1〜第3実施形態の改変例1,2に係る各充電システム2D,2Eでは、バッテリ20a〜20g(20h)はフォークリフト10a〜10g(10h)の駆動電力源として機能するものであったが、本発明はこれに限られることはなく、例えば、無人搬送車(AGV)、電動カートや電動車椅子等の電動車両の駆動電力源として機能するバッテリについても適用することが可能である。また各充電システム2A〜2Eでは、充電ケーブル70を介して充電装置50,50A,50B等とバッテリ20a等を接続する構成を採用したが、例えば、充電ステーションに設けられている接続コネクタ等に対して、直接、バッテリ20a等を接続する構成を採ってもよい。
さらに、上述した第1〜第3実施形態に係る各充電システム2A〜2Cや、第1〜第3実施形態の改変例1,2に係る各充電システム2D,2Eでは、鉛蓄電池、リチウムイオン二次電池およびニッケル水素充電池に適した充電方式を用いる場合を例示して説明したが、本発明はこれに限られることはなく、その他の二次電池に適した充電方式を用いることも可能である。
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、上述した具体例を様々に変形または変更したものが含まれる。また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。さらに、本明細書または図面に例示した技術は、複数の目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つ。なお、[符号の説明]の欄における括弧内の記載は、上述した各実施形態で用いた用語と、特許請求の範囲に記載の用語との対応関係を明示し得るものである。