以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
<第1の実施形態>
図1は、実施形態に係る充電システム100を例示する図である。充電システム100は、充電アダプタ101と、充電ホルダ102と、情報処理装置103とを含んでいる。充電アダプタ101は、情報処理装置103を充電するための電力を第1の電圧、及び第1の電圧よりも高い第2の電圧で供給することが可能な充電電圧可変アダプタであってよい。
充電ホルダ102は、充電アダプタ101から供給された電力を情報処理装置103へと供給するホルダであってよい。充電ホルダは例えば卓上に設置可能な構造であってよい。図1において、充電ホルダ102は、コネクタ111と、電圧切替IC112と、供給端子113と、電流制限抵抗114と、端子115と、端子116とを含んでいる。
充電ホルダ102は、コネクタ111を介して充電アダプタ101と接続する。図1では、コネクタ111の一例としてUSBコネクタが示されており、コネクタ111は、充電アダプタ101からの電力が供給されるVBUS端子と、信号線として用いられるD+端子及びD−端子とを含んでいる。なお、USBは、Universal Serial Busの略称である。電圧切替IC112は、コネクタ111のVBUS端子と接続されており、充電アダプタ101から供給される電力で動作する。また、電圧切替IC112は、コネクタ111の信号線を介して充電アダプタ101の出力電圧を制御する。電圧切替IC112は、例えば、コネクタ111に接続された充電アダプタ101が、急速充電に対応したアダプタであるか否かを信号線を介して特定してよい。そして、コネクタ111に接続された充電アダプタ101が、急速充電に対応したアダプタである場合には、電圧切替IC112は、急速充電を行うための第2の充電モードで電力を供給するように充電アダプタ101に信号線を介して指示してよい。例えば、コネクタ111がUSBコネクタである場合は、電圧切替IC112は、D+端子及びD−端子を用いて充電アダプタ101に信号を入力し、出力電圧を第1の電圧から第2の電圧へと切り替えるように充電アダプタ101を制御してよい。VBUS端子は、また、電源線117を介して供給端子113へと接続されており、充電アダプタ101から供給された電力は、供給端子113を介して情報処理装置103へと供給され、情報処理装置103においてバッテリ127の充電に用いられる。なお、電圧切替IC112による充電アダプタ101の出力電圧の切り替え制御は、例えば、Qualcomm社が提供するQuick Charge 2.0(QC2.0)を用いて実装されてよい。また、このQC2.0を用いて出力電圧の切り替え制御を実装する場合に、電圧切替IC112はQC2.0の専用のICチップであってよい。
電源線117からは線118が分岐している。線118は電源線117から電流制限抵抗114を介して端子115に接続されている。電流制限抵抗114は線118を流れる電流を制限し、それによって、端子115が情報処理装置103の後述する電圧検出端子122と接触した場合の接触抵抗が低く抑えられている。そのため、端子115からは充電アダプタ101の出力電圧が出力される。なお、実施形態は電流制限抵抗114に限定されるものではなく、例えば、その他の電流を制限する素子が電流制限抵抗114の代わりに用いられてもよい。端子116は、情報処理装置103の後述する接地端子123と接触する端子であり、接地されている。
情報処理装置103は、例えば、スマートフォン、携帯電話機、タブレット端末、ノートパソコンなどの、バッテリ(充電電池)により供給される電力で駆動される装置であってよい。情報処理装置103は、例えば、制御部120と、電源端子121と、電圧検出端子122と、接地端子123と、充電回路124と、第1の電圧検出器125と、第2の電圧検出器126と、バッテリ127とを含んでいる。制御部120は、例えば、充電回路124、第1の電圧検出器125、及び第2の電圧検出器126と接続されており、これらを含む情報処理装置103の各部を制御する。電源端子121は、充電ホルダ102の供給端子113に接触するための端子であり、供給端子113からの電力が入力される。充電回路124は、電源端子121に接続されており、充電ホルダ102から電源端子121に供給された電力でバッテリ127を充電する。第1の電圧検出器125は、例えば、アナログデジタルコンバータ(ADC)であってよく、電源端子121に供給された電力の電圧を検出する。
電圧検出端子122は、充電ホルダ102の端子115と接触するための端子である。また、第2の電圧検出器126は、電圧検出端子122に接続されており、充電ホルダ102の端子115から電圧検出端子122に供給された電力の電圧を検出する。ここで、端子115には電流制限抵抗114により流れる電流が制限されて電力が供給されている。そのため、端子115と電圧検出端子122との間の接触部にスパーク痕やゴミが存在し、接触抵抗が生じたとしても、電流が小さいためその接触抵抗の影響は小さく抑えられている。そのため、電圧検出端子122に入力された電力の電圧を第2の電圧検出器126で検出することで、情報処理装置103は、充電アダプタ101からの出力電圧を検出することができる。換言すると、情報処理装置103は、例えば、電圧検出端子122に入力された電力の電圧を検出することで、充電アダプタ101の充電モードが第1の充電モードであるか、又は急速充電を行うための第2の充電モードであるかを検出することができる。接地端子123は、充電ホルダ102の端子116と接触するための端子であり、接地されている。
図2は、実施形態に係る情報処理装置103の機能ブロック構成を例示する図である。情報処理装置103は、例えば、制御部120、記憶部210、第1の電圧検出器125、及び第2の電圧検出器126などを含んでいる。そして、制御部120は、例えば第1の検出部201、第2の検出部202、特定部203、及び充電制御部204などの機能部を含んでいてよい。制御部120は、例えば、記憶部210、第1の電圧検出器125、及び第2の電圧検出器126と接続されていてよく、第1の検出部201は、第1の電圧検出器125を制御して、電源端子121に供給された電力の電圧を検出してよい。また、第2の検出部202は、第2の電圧検出器126を制御して、電圧検出端子122に供給された電力の電圧を検出してよい。情報処理装置103の記憶部210は、例えば、後述する第1の電圧範囲及び第2の電圧範囲、S503における所定の閾値、並びにS710及びS729における接触抵抗の閾値などの情報を記憶していてよい。また、一実施形態においては、制御部120はプロセッサであってよい。この場合、制御部120は、記憶部210に格納されているプログラムを読み出して実行することで例えば第1の検出部201、第2の検出部202、特定部203、及び充電制御部204などの機能部として機能してよい。これらの各機能部及び記憶部210に格納されている情報の更なる詳細は後述する。
続いて、図1及び図2を参照して、充電システム100における充電制御について例示する。なお、以下の説明では、充電は第1の充電モードと、第1の充電モードよりも充電速度の速い急速充電を行う第2の充電モードとを用いてバッテリ127の充電を行う例を述べる。また、第1の電圧は、第1の充電モードで充電アダプタ101から出力される電圧とし、以下の説明では、第1の電圧は例として5.0Vとする。また、第2の電圧は、第2の充電モードで充電アダプタ101から出力される電圧とし、第2の電圧は、第1の電圧よりも高い電圧である。以下の説明では、第2の電圧は例として9.0Vとする。情報処理装置103の制御部120は、一実施形態において、充電ホルダ102を用いたバッテリ127の充電の際に以下の手順(1)〜(3)を実行する。
(1)充電アダプタ101からコネクタ111に電力が供給されると、情報処理装置103の制御部120は、電圧検出端子122に供給された電力の電圧を第2の電圧検出器126で検出する。
(2)制御部120は、電源端子121に供給された電力の電圧を第1の電圧検出器125で検出する。
(3)制御部120は、上記(2)で第1の電圧検出器125が検出した電圧と、上記(1)で第2の電圧検出器126で検出された電圧とに基づいて、バッテリ127の充電が正常に行われているか否かを判定する。そして、制御部120は、充電が正常に行われていると判定された場合には充電を継続し、充電が異常であると判定された場合には充電を停止する。
以上の手順において、上記(3)におけるバッテリ127の充電が正常に行われているか否かの判定について例示する。
<例1:第1の充電モードにおいて正常と判定される場合>
上記(1)で第2の電圧検出器126により検出された電圧が5.0Vである場合、電圧が充電アダプタ101の第1の充電モードにおける出力電圧と近い値のため、制御部120は、充電アダプタ101の充電モードを第1の充電モードであると特定できる。また、上記(2)で第1の電圧検出器125により検出された電圧が4.9Vであるとする。この場合の供給端子113と電源端子121との間の接触抵抗は以下のように求めることができる。なお、ここでは、電流は1.5Aで流れているものとする。
制御部120が、第2の電圧検出器126で検出された電圧に基づいて特定した第1の充電モードにおける充電アダプタ101の出力電圧は5.0Vである。一方、電源端子121に入力された電力の電圧が4.9Vである。そのため、接触抵抗により降下した電圧は5.0V−4.9Vで0.1Vである。電流が1.5Aであるので、接触抵抗は0.1V/1.5A=66.7mΩとなる。なお、接触抵抗に起因する発熱量は、抵抗値と電流とから見積もることができるため、例えば、接触抵抗に対して、発熱量が安全な範囲内となる閾値を設定することができる。ここでは、例として接触抵抗の閾値は530mΩとする。この場合、上記で計算した電源端子121に入力された電力の電圧が4.9Vである場合の接触抵抗66.7mΩは、閾値530mΩ以下であるため、制御部120は充電が正常に行われていると判定することができる。
<例2:第1の充電モードにおいて異常と判定される場合>
上記(1)で第2の電圧検出器126により検出された電圧が5.0Vである場合、制御部120は、充電アダプタ101の充電モードを第1の充電モードであると特定できる。また、上記(2)で第1の電圧検出器125により検出された電圧が4.0Vであるとする。この場合の供給端子113と電源端子121との間の接触抵抗により降下した電圧は5.0V−4.0Vで1.0Vである。また、接触抵抗は、電流が1.5Aであるので、1.0V/1.5A=666.7mΩとなる。得られた接触抵抗:666.7mΩは、閾値530mΩよりも大きいため、制御部120は、充電が異常であると判定することができる。
<例3:第2の充電モードにおいて正常と判定される場合>
上記(1)で第2の電圧検出器126により検出された電圧が9.0Vである場合、電圧が充電アダプタ101の第2の充電モードにおける出力電圧と近い値のため、制御部120は、充電アダプタ101の充電モードを第2の充電モードであると特定できる。また、上記(2)で第1の電圧検出器125により検出された電圧が8.9Vであるとする。この場合の供給端子113と電源端子121との間の接触抵抗により降下した電圧は9.0V−8.9Vで0.1Vである。また、接触抵抗は、電流が1.5Aであるので、1.0V/1.5A=66.7mΩとなる。得られた接触抵抗66.7mΩは、閾値530mΩ以下であるため、制御部120は、充電が正常に行われていると判定することができる。
<例4:第2の充電モードにおいて異常と判定される場合>
上記(1)で第2の電圧検出器126により検出された電圧が9.0Vである場合、制御部120は充電アダプタ101の充電モードを第2の充電モードであると特定できる。また、上記(2)で第1の電圧検出器125により検出された電圧が5.0Vであるとする。この場合の供給端子113と電源端子121との間の接触抵抗により降下した電圧は9.0V−5.0Vで4.0Vである。また、接触抵抗は、電流が1.5Aであるので、4.0V/1.5A=2666.7mΩとなる。得られた接触抵抗2666.7mΩは、閾値530mΩよりも大きいため、制御部120は、充電が異常であると判定することができる。
ここで、例4では、充電アダプタ101による第2の充電モードにおける出力電圧9.0Vが接触抵抗に起因して下がり、充電アダプタ101の第1の充電モードにおける出力電圧5.0Vと近しい値で電源端子121に入力されている。この場合に、例えば、制御部120が、第1の電圧又は第2の電圧のそれぞれに対して設定されている正常な電圧範囲のいずれかの範囲に、第1の電圧検出器125により検出された電圧があるか否かにより、充電が正常か否かを判定するものとする。このような場合、検出された5.0Vは第1の電圧に対する正常な電圧範囲となるため、制御部120は、異常を検出できず、充電を継続してしまう恐れがある。しかしながら、実際には上述のように大きな接触抵抗が生じており、それに起因する発熱が生じているため、情報処理装置は危険な状態で充電を継続してしまうことになる。一方、上述の実施形態に係る手順によれば、情報処理装置103は、端子115と接触するための電圧検出端子122を備えている。制御部120は、電圧検出端子122に入力された電力の電圧を検出することで、充電アダプタ101の充電モードを特定することができる。そして、特定した充電モードと、第1の電圧検出器125で検出された電圧とに基づいて、バッテリ127の充電が正常に行われているか否かを判定するため、例4に示す場合にも制御部120は異常を検出することができる。即ち、上記の実施形態に係る手順によれば、情報処理装置103の制御部120は、第2の充電モードでの電力が、第1の充電モードの電圧で入力された場合にも、充電の異常を検出することができる。
なお、上記の例では、接触抵抗が閾値よりも高いか否かにより、バッテリ127の充電が正常に行われているか否かを判定している。しかしながら、実施形態はこれに限定されるものではない。例えば、第1の充電モード及び第2の充電モードのそれぞれに対して、発熱量が許容範囲内となる電圧範囲を設定することができる。そのため、制御部120は、第1の電圧検出器125で検出された電圧が、第2の電圧検出器126で検出された電圧から特定される充電モードに対応して設定されている電圧範囲の内側であれば正常、外側であれば異常と判定してもよい。或いは、第2の電圧検出器126により検出される電圧は、電流制限により接触抵抗の影響が抑えられており、充電アダプタ101の出力電圧とほぼ同じ値になると考えられる。そのため、制御部120は、第2の電圧検出器126により検出される電圧検出端子122における電圧と、第1の電圧検出器125により検出される電源端子121における電圧との差分が、閾値以下であれば正常、閾値よりも大きければ異常と判定してもよい。
図3及び図4は、実施形態に係る情報処理装置103の電源端子121及び電圧検出端子122で検出される電圧変化のタイムチャートを例示する図である。図3は、情報処理装置103を充電ホルダ102に装着した後に、充電アダプタ101を充電ホルダ102のコネクタ111に接続する場合を例示している。
図3(a)は、充電が正常と判定される場合である。情報処理装置103を充電ホルダ102に装着した状態で、充電アダプタ101が充電ホルダ102に接続されると、電圧検出端子122の電圧は第1の電圧である5.0Vに上昇する。その後、充電ホルダ102の電圧切替IC112は、出力電圧を第2の電圧である9.0Vに切り替えるように充電アダプタ101を制御する。それによって、電圧検出端子122の電圧は第2の電圧である9.0Vに上昇する。一方、電源端子121では接触抵抗による電圧降下で8.9Vが検出されている。この場合、電圧検出端子122と、電源端子121との間の電圧差は0.1Vと小さく、電圧値が類似しているため、制御部120は充電が正常に行われていると判定してよい。
図3(b)は、充電の開始時に異常と判定される場合である。図3(a)で述べたのと同様に、情報処理装置103を充電ホルダ102に装着した状態で、充電アダプタ101が充電ホルダ102に接続されると、電圧検出端子122の電圧は第1の電圧である5.0Vに上昇する。その後、充電ホルダ102の電圧切替IC112の制御により、電圧検出端子122の電圧は第2の電圧である9.0Vに上昇する。一方、電源端子121では接触抵抗による電圧降下で約5.0Vが検出されている。この場合に、電圧検出端子122と、電源端子121との間の電圧差が約4.0Vと大きいため、制御部120は充電が異常であると判定してよい。
図3(c)は、充電中に異常と判定される場合である。図3(a)で述べたのと同様に、情報処理装置103を充電ホルダ102に装着した状態で、充電アダプタ101が充電ホルダ102に接続されると、電圧検出端子122の電圧は第1の電圧である5.0Vに上昇する。その後、充電ホルダ102の電圧切替IC112の制御により、電圧検出端子122の電圧は第2の電圧である9.0Vに上昇する。一方、電源端子121では、充電の開始時には接触抵抗による電圧降下で8.9Vが検出されている。この場合に、電圧検出端子122と、電源端子121との間の電圧差が0.1Vと小さく、電圧値が類似しているため、制御部120は充電が正常に行われていると判定してよく、充電を継続してよい。その後、充電中に供給端子113と電源端子121との間の接触部に異物が付着するなどの接触抵抗を増加させる異常が発生し、それによって、電源端子121において電圧が約5.0Vまで降下したものとする。この場合に、電圧検出端子122と、電源端子121との間の電圧差が約4.0Vと大きくなるため、制御部120は充電が異常であると判定してよい。
図4は、情報処理装置103を充電ホルダ102に装着する前に、充電アダプタ101を充電ホルダ102のコネクタ111に接続する場合を例示している。なお、図4において、点線は供給端子113及び端子115における電圧を表している。
図4(a)は、充電が正常と判定される場合である。充電ホルダ102に充電アダプタ101を接続すると、供給端子113及び端子115の電圧はともに第1の電圧である5.0Vに上昇する。その後、充電ホルダ102の電圧切替IC112の制御により、供給端子113及び端子115の電圧はともに第2の電圧である9.0Vに上昇する。この状態で、充電ホルダ102に情報処理装置103を装着すると、電圧検出端子122では9.0Vが検出されているのに対し、電源端子121では接触抵抗により電圧が8.9Vに降下している。この場合に、電圧検出端子122と、電源端子121との間の電圧差は0.1Vと小さく、電圧値が類似しているため、制御部120は充電が正常に行われていると判定してよい。
図4(b)は、充電の開始時に異常と判定される場合である。図4(a)で述べたのと同様に、充電ホルダ102に充電アダプタ101を接続すると、供給端子113及び端子115の電圧はともに第1の電圧である5.0Vに上昇する。その後、充電ホルダ102の電圧切替IC112の制御により、供給端子113及び端子115の電圧はともに第2の電圧である9.0Vに上昇する。この状態で、充電ホルダ102に情報処理装置103を装着すると、電圧検出端子122では9.0Vが検出されているのに対し、電源端子121では接触抵抗により電圧が約5.0Vに降下している。この場合に、電圧検出端子122と、電源端子121との間の電圧差が4.0Vと大きいため、制御部120は充電が異常であると判定してよい。
図4(c)は、充電中に異常と判定される場合である。図4(a)で述べたのと同様に、充電ホルダ102に充電アダプタ101を接続すると、供給端子113及び端子115の電圧はともに第1の電圧である5.0Vに上昇する。その後、充電ホルダ102の電圧切替IC112の制御により、供給端子113及び端子115の電圧はともに第2の電圧である9.0Vに上昇する。この状態で、充電ホルダ102に情報処理装置103を装着すると、電圧検出端子122では9.0Vが検出されているのに対し、電源端子121では接触抵抗により電圧が8.9Vに降下している。この場合に、電圧検出端子122と、電源端子121との間の電圧差は0.1Vと小さく、電圧値が類似しているため、制御部120は充電が正常に行われていると判定してよく、充電が継続されてよい。その後、充電中に供給端子113と電源端子121との間の接触部に異物が付着するなどの接触抵抗を増加させる異常が発生し、それによって、電源端子121において電圧が約5.0Vまで降下したものとする。この場合に、電圧検出端子122と、電源端子121との間の電圧差が約4.0Vと大きくなるため、制御部120は充電が異常であると判定してよい。
続いて、図5は、第1の実施形態に係る情報処理装置103の制御部120が実行する充電開始フローを例示する図である。図5の充電開始フローは、例えば、情報処理装置103の電源端子121及び電圧検出端子122に、充電ホルダ102から電力が入力されると開始してよい。例えば、図3で例示したように、情報処理装置103を充電ホルダ102に装着した後で、充電アダプタ101を充電ホルダ102のコネクタ111に接続する場合は、充電アダプタ101を接続した際に、本動作フローは開始してよい。また、例えば、図4で例示したように、情報処理装置103を充電ホルダ102に装着する前に、充電アダプタ101を充電ホルダ102のコネクタ111に接続する場合は、情報処理装置103を装着した際に、本動作フローは開始してよい。
ステップ501(以降、ステップを“S”と記載し、例えば、S501と表記する)において、情報処理装置103の制御部120は、充電回路124を制御し、電源端子121に入力された電力で500mAでバッテリ127の充電を開始する。なお、500mAの電流は例示であり、実施形態はこれに限定されるものではなく、その他の値が用いられてもよい。S502において制御部120は、第1の電圧検出器125を制御し、電源端子121に入力される電力の電圧を測定する。S503において制御部120は、測定した電源端子121の電圧が、所定の閾値以上であるか否かを判定する。測定した電源端子121の電圧が所定の値未満である場合(S503がNO)、フローはS504へと進み、情報処理装置103の制御部120は、充電回路124を制御してバッテリ127の充電を停止させ、本動作フローは終了する。一方、測定した電源端子121の電圧が所定の閾値以上である場合(S503がYES)、フローはS505へと進む。S503の判定は、例えば接触不良などに起因する明らかに異常な電圧値が電源端子121に入力されていないかを判定する処理である。所定の閾値は、例えば、第1の電圧が5.0Vである場合には4.3Vなど、電源端子121に入力された電圧の明らかな異常を検出できる値であってよい。
S505において制御部120は、電圧検出端子122に入力される電力の電圧を第2の電圧検出器126で検出し、充電アダプタ101の出力電圧を特定する。なお、例えば、ユーザが情報処理装置103を充電ホルダ102に装着する場合に上手く装着することができず、充電ホルダ102に情報処理装置103を取り付ける作業を何度か繰り返すことがある。例えば、この様な作業中の場合、電圧検出端子122に入力される電力の電圧が安定していない可能性があり、一度の検出動作で第2の電圧検出器126により検出した電圧では信頼性が低い恐れがある。そのため、S505において制御部120は、例えば、所定の時間間隔(例えば200ms)毎に電圧の検出を実行する。そして、制御部120は、複数回(例えば25回)にわたって連続しておおよそ一定な電圧が検出された場合に、その検出された電圧を充電アダプタ101の出力電圧として特定してよい。
S506において制御部120は、S505で特定した充電アダプタ101の出力電圧に基づいて、充電アダプタ101の充電モードを判別する。例えば、制御部120は、S505で特定した充電アダプタ101の出力電圧が、第1の充電モードにおける電圧の正常範囲として設定されている第1の電圧範囲(例えば、4.3V〜6.4V)にあるか否かを判定する。そして制御部120は、第1の電圧範囲にある場合に、フローをS507に進める。そして、制御部120は、S507において充電モードが第1の充電モードであると特定する。この場合、フローは、図6の第1の充電モードの充電中フローへと進み、制御部120は第1の充電モードの充電中フローを実行する。
また、S506において制御部120がS505で特定した充電アダプタ101の出力電圧が第2の充電モードにおける電圧の正常範囲として設定されている第2の電圧範囲(例えば、7.2V〜10.5V)にあると判定した場合にはフローはS508に進む。S508において、制御部120は、充電モードが第2の充電モードであると特定する。この場合、フローは、図6の第2の充電モードの充電中フローへと進み、制御部120は第2の充電モードの充電中フローを実行する。また更に、S506において制御部120が、S505で特定した充電アダプタ101の出力電圧が第1の電圧範囲と第2の電圧範囲のいずれにも含まれないと判定した場合にはフローはS504へと進む。S504において制御部120は、充電回路124を制御してバッテリ127の充電を停止させ、本動作フローは終了する。
以上の図5の動作フローにおいて、S501〜S502の処理では、情報処理装置103の制御部120は、例えば、第1の検出部201として機能する。また、S503、S504の処理では、制御部120は、例えば、充電制御部204として機能する。S505の処理では、制御部120は、例えば、第2の検出部202として機能する。S506〜S508の処理では、制御部120は、例えば、特定部203として機能する。
図6は、第1の実施形態に係る情報処理装置103の制御部120が実行する充電中フローを例示する図である。図6には、第1の充電モードでの充電中に実行される充電中フローと、第2の充電モードでの充電中に実行される充電中フローとが示されている。まず、第1の充電モードの充電中フローについて説明する。第1の充電モードの充電中フローは、制御部120が図5のS507の処理を実行すると、開始してよい。
S601において、情報処理装置103の制御部120は、所定時間(例えば、1秒など)ごとに第1の電圧検出器125の電圧をポーリングして取得する。S602において制御部120は、第1の電圧検出器125で取得した電圧が第1の電圧範囲にあるか否かを判定する。取得した電圧が第1の電圧範囲外である場合(S602がNO)、フローはS603へと進み、制御部120は、充電回路124を制御して、バッテリ127の充電を停止させて、本動作フローは終了し、制御部120は、図5の充電開始フローを再び実行する。一方、取得した電圧が第1の電圧範囲にある場合(S602がYES)、フローはS604へと進む。
S604において、制御部120は、所定時間(例えば、1秒など)ごとに第2の電圧検出器126の電圧をポーリングして取得する。S605において制御部120は、第2の電圧検出器126で取得した電圧が第1の電圧範囲にあるか否かを判定する。取得した電圧が第1の電圧範囲外である場合(S605がNO)、フローはS607へと進み、制御部120は、充電回路124を制御して、バッテリ127の充電を停止させて、本動作フローは終了し、制御部120は図5の充電開始フローを再び実行する。一方、取得した電圧が第1の電圧範囲にある場合(S605がYES)、フローはS606へと進み、制御部120は充電を継続と判定し、フローはS601へと戻る。
続いて、第2の充電モードの充電中フローについて説明する。第2の充電モードの充電中フローは、制御部120が図5のS508の処理を実行すると開始してよい。なお、図6の第2の充電モードの充電中フローは、図6の第1の充電モードの充電中フローと類似する処理を実行する動作フローであってよい。しかしながら、後述するように、例えば、S612及びS614において判定に用いられる電圧範囲が第1の充電モードの充電中フローと異なっていてよい。
S611において、情報処理装置103の制御部120は、所定時間ごとに第1の電圧検出器125の電圧をポーリングして取得する。S612において制御部120は、第1の電圧検出器125で取得した電圧が第2の電圧範囲にあるか否かを判定する。取得した電圧が第2の電圧範囲外である場合(S612がNO)、フローはS603へと進み、制御部120は、充電回路124を制御して、バッテリ127の充電を停止させて、本動作フローは終了し、制御部120は、図5の充電開始フローを再び実行する。一方、取得した電圧が第2の電圧範囲にある場合(S612がYES)、フローはS613へと進む。
S613において、制御部120は、所定時間ごとに第2の電圧検出器126の電圧をポーリングして取得する。S614において制御部120は、第2の電圧検出器126で取得した電圧が第2の電圧範囲にあるか否かを判定する。取得した電圧が第2の電圧範囲外である場合(S614がNO)、フローはS607へと進み、制御部120は、充電回路124を制御して、バッテリ127の充電を停止させて、本動作フローは終了し、制御部120は図5の充電開始フローを再び実行する。一方、取得した電圧が第2の電圧範囲にある場合(S614がYES)、フローはS615へと進み、制御部120は充電を継続と判定し、フローはS611へと戻る。
以上の図6の動作フローにおいて、S601、及びS611の処理では、情報処理装置103の制御部120は、例えば、第1の検出部201として機能する。また、S602、S603、S605〜S607、S612、S614、及びS615の処理では、制御部120は、例えば、充電制御部204として機能する。S604、及びS613の処理では、制御部120は、第2の検出部202として機能する。
以上で述べたように、情報処理装置103の制御部120は、電源端子121及び電圧検出端子122に充電ホルダ102から電力が入力されると、図5の動作フローを実行する。そして、図5の動作フローにより、制御部120は、電圧検出端子122に入力された電力の電圧から充電アダプタ101の充電モードを特定する。更に、制御部120は、特定された充電モードに応じて図6のいずれかの動作フローを実行する。即ち、例えば、図5の動作フローにおいて、充電モードが第1の充電モードと特定された場合には、制御部120は第1の充電モードの充電中フローを実行する。そして、制御部120は、所定時間ごとに第1の電圧検出器125と、第2の電圧検出器126の電圧をポーリングし、それぞれの電圧が第1の充電モードにおける電圧の正常範囲として設定されている第1の電圧範囲にあるかを判定する。第1の電圧検出器125と、第2の電圧検出器126の電圧がいずれも第1の電圧範囲であれば、例えば、接触抵抗の増加に起因する発熱等が起きておらず、正常に充電が行われていると考えられるため、制御部120は充電を継続する。
一方、例えば、第1の電圧検出器125と、第2の電圧検出器126の電圧のいずれか、又は両方が第1の電圧範囲外である場合には、何等かの異常が生じていると考えられる。例えば、上述したように第2の電圧検出器126により検出される電圧は、電流制限により端子115と電圧検出端子122との間の接触抵抗の影響が抑えられているため、充電アダプタ101の出力電圧とほぼ同じ値になると考えられる。そのため、第2の電圧検出器126により検出される電圧検出端子122における電圧が、第1の電圧範囲外である場合には充電アダプタ101に何らかの異常が発生している可能性があり、充電を停止することが好ましい。或いは、例えば、第2の電圧検出器126で検出された電圧が第1の電圧範囲であるにも関わらず、第1の電圧検出器125で検出された電圧が第1の電圧範囲を外れて降下していたとする。この場合、供給端子113と、電源端子121との間の接触抵抗が許容できない大きさになっている可能性がある。そのため、充電を停止することが好ましい。例えば、以上のように、制御部120は、第1の電圧検出器125と、第2の電圧検出器126の電圧のいずれか、又は両方が第1の電圧範囲外である場合には充電を停止する。
また、充電モードが第2の充電モードと特定された場合にも、制御部120は、図6の第2の充電モードの充電中フローにおいて第1の電圧検出器125と、第2の電圧検出器126とで検出した電圧を用いて、充電を継続するか、それとも停止するかを判定する。
従って、第1の実施形態によれば、制御部120は、例えば、充電アダプタ101が複数の電圧で電力を供給することが可能な充電電圧可変アダプタであっても、その出力電圧及び充電モードを充電ホルダ102を介して特定することができる。また、制御部120は、特定された充電モードに従って充電の継続と停止とを判定することができるため、充電ホルダ102を用いる充電の際の安全性を向上させることができる。更に、例えば、充電アダプタ101が第2の充電モードにおける第2の電圧で出力した電力が、供給端子113と、電源端子121との接触部における接触抵抗により、第1の充電モードの電圧付近の電圧へと落ちて電源端子121に入力されることがある。この場合にも、本実施形態によれば、制御部120は第2の電圧検出器126の検出電圧から充電アダプタ101の充電モードを特定する。そして、制御部120は特定された充電モードに対応する正常な電圧範囲に、第1の電圧検出器125で検出された電圧が入っているか否かにより充電を制御している。そのため、例えば、第2の充電モードにおける第2の電圧で充電アダプタ101から出力された電力が、接触抵抗により第1の充電モードにおける第1の電圧付近の電圧へと降下してしまったとする。この場合にも、入力された第1の電圧付近の電圧は、第2の充電モードに対して設定された第2の電圧範囲から外れているため、制御部120は異常を検出できる。即ち、第1の実施形態によれば、第2の充電モードでの電力が、第1の充電モードの電圧で入力された場合にも、異常を検出できる。
また、第1の実施形態では、図1に示す様に充電ホルダ102に端子115を、及び情報処理装置103に電圧検出端子122を備えることで実施することが可能である。例えば、USB接続で充電アダプタ101を直接、情報処理装置103に接続する場合、情報処理装置103の制御部120は、USB接続における5つの端子を用いて充電アダプタ101の出力電圧を制御することができる。この場合、情報処理装置103の制御部120が充電アダプタ101の出力電圧を制御している。そのため、制御部120は充電アダプタ101から入力されるべき電圧を予め認識しており、制御部120が充電アダプタ101に指示した電圧から、実際に充電アダプタ101から入力された電圧が外れていれば、制御部120は異常を検出することができる。例えば、このようなUSB接続で充電アダプタ101を直接、情報処理装置103に接続する場合の充電制御と同様の充電制御を行えるように、充電ホルダ102及び情報処理装置103を作成することも考えられる。しかしながら、この場合、例えば、USB接続で用いられる5ピンの端子を充電ホルダ102と情報処理装置103との両方に設けることになり、ピン数が多くコストがかかってしまう。また、例えば、ピン数が増えると、その数だけ端子が情報処理装置103の表面に露出することになり、情報処理装置103のデザインを制限してしまうことにつながる。例えば、携帯電話機、タブレット端末、ノートパソコンなどの情報処理装置103ではデザインを重視するユーザも多く、ピン数を少なく抑えることは好ましい。第1の実施形態は、上述のように充電ホルダ102と、情報処理装置103にそれぞれ1つの端子を追加することで実施可能であるため、充電の際の安全を確保した上で、更にコスト面及びデザイン面における影響を小さく抑えることができる。
また、第2の電圧検出器126及び電圧検出端子122は、例えば電圧検出端子122に入力される電圧を第2の電圧検出器126でモニタするなどにより、充電ホルダ102から情報処理装置103が振動などで外れたことを検知するために用いられてもよい。更に、コネクタ111に接続可能なコネクタを搭載しており、且つ、出力電圧が第1の電圧及び第2の電圧とは異なる電圧である充電アダプタが、コネクタ111に接続されることもある。そのため、第2の電圧検出器126及び電圧検出端子122は、電圧検出端子122に入力される電圧を第2の電圧検出器126でモニタするなどにより、このような充電アダプタの接続を検知するために用いられてもよい。
<第2の実施形態>
続いて、第2の実施形態を説明する。上述の第1の実施形態では、制御部120は、第1の電圧検出器125により充電アダプタ101の充電モードを特定する。そして、制御部120は、特定した充電モードに対応する電圧範囲に第1の電圧検出器125及び第2の電圧検出器126で検出された電圧が入るか否かを判定することで、充電の異常を検出している。第2の実施形態では制御部120は、第1の電圧検出器125及び第2の電圧検出器126の検出電圧の差分と、電流とから接触抵抗を算出し、算出された接触抵抗を閾値と比較することで、充電を継続するか、又は停止するかを判定する。なお、第2の実施形態においても、制御部120は、例えば、情報処理装置103の電源端子121及び電圧検出端子122に充電ホルダ102から電力が入力されると、図5の動作フローを開始してよい。そして、第2の実施形態では、制御部120は、図5のS507で充電モードを第1の充電モードであると特定した場合に、フローは図7の第1の充電モードの充電中フローへと進み、制御部120は第1の充電モードの充電中フローを実行する。また、図5のS508で制御部120が充電モードを第2の充電モードであると特定した場合に、フローは図7の第2の充電モードの充電中フローへと進み、制御部120は第2の充電モードの充電中フローを実行する。
続いて、図7を参照し、第2の実施形態に係る情報処理装置103の制御部120が実行する充電中フローを例示する。図7には、第1の充電モードでの充電中に実行される充電中フローと、第2の充電モードでの充電中に実行される充電中フローとが示されている。まず、第1の充電モードの充電中フローについて説明する。
S701において情報処理装置103の制御部120は、充電ホルダ102の供給端子113から電源端子121に供給される電力の電流を設定する。一実施形態においては、例えば、制御部120は電流を1.5Aに設定してよい。続いて、S702において、制御部120は所定の期間待機する。S702の待ち時間は、例えば、情報処理装置103の消費電力を低減しつつ充電の継続と停止を安全な範囲内で判定できるような期間に設定されていてよく、一実施例においては、待ち時間として1秒が設定されてよい。S703において制御部120は、所定時間ごとに第1の電圧検出器125の電圧をポーリングして取得する。S704において制御部120は、第1の電圧検出器125で取得した電圧を値Aとして記憶部210に記憶する。
S705において制御部120は、所定時間ごとに第2の電圧検出器126の電圧をポーリングして取得する。S706において制御部120は、第2の電圧検出器126で取得した電圧が第1の電圧範囲にあるか否かを判定する。取得した電圧が第1の電圧範囲外である場合(S706がNO)、フローはS707へと進み、制御部120は充電回路124を制御して、バッテリ127の充電を停止させて、本動作フローは終了し、制御部120は図5の充電開始フローを再び実行する。一方、取得した電圧が第1の電圧範囲にある場合(S706がYES)、フローはS708へと進む。
S708において制御部120は、S705で第2の電圧検出器126により取得した電圧を値Bとして記憶部210に記憶する。S709において制御部120は、供給端子113と、電源端子121との間の接触抵抗を計算する。例えば、制御部120は、S708で保存した電圧検出端子122における電圧である値Bから、S704で保存した電源端子121における電圧である値Aを差し引くことで、電源端子121と電圧検出端子122との間の電圧の差分を計算する。そして、得られた電圧の差分を、S701で設定した電流で除算することで接触抵抗を計算してよい。S710において制御部120は、接触抵抗が閾値未満か否かを判定する。なお、この判定で用いる閾値は、例えばS701で設定した電流に対して接触抵抗による発熱が許容範囲内となるように設定されていてよく、一実施形態においては、1.5Aの電流を流す場合に400mΩ〜600mΩの値が閾値に設定されてよい。接触抵抗が閾値以上である場合(S710がNO)、フローはS711へと進み、制御部120は充電回路124を制御して、バッテリ127の充電を停止させて、本動作フローは終了し、制御部120は図5の充電開始フローを再び実行する。一方、接触抵抗が閾値未満である場合(S710がYES)、フローはS712へと進み、制御部120は充電を継続と判定し、フローはS701へと戻る。
続いて、図7の第2の充電モードの充電中フローについて説明する。第2の充電モードの充電中フローは、制御部120が図5のS508の処理を実行すると開始してよい。なお、図7の第2の充電モードの充電中フローは、図7の第1の充電モードの充電中フローと類似する処理を実行する動作フローであってよい。しかしながら、例えば、S726において判定に用いられる電圧範囲は、第1の充電モードの充電中フローと異なっていてよい。
S721において、情報処理装置103の制御部120は、充電ホルダ102の供給端子113から電源端子121に供給される電力の電流を設定する。S722において、制御部120は所定の期間待機する。S723において、制御部120は、所定時間ごとに第1の電圧検出器125の電圧をポーリングして取得する。S724において制御部120は、第1の電圧検出器125で取得した電圧を値Cとして記憶部210に記憶する。
S725において制御部120は、所定時間ごとに第2の電圧検出器126の電圧をポーリングして取得する。S726において制御部120は、第2の電圧検出器126で取得した電圧が第2の電圧範囲にあるか否かを判定する。取得した電圧が第2の電圧範囲外である場合(S726がNO)、フローはS707へと進み、制御部120は充電回路124を制御してバッテリ127の充電を停止させ、本動作フローは終了し、制御部120は図5の充電開始フローを再び実行する。一方、取得した電圧が第2の電圧範囲にある場合(S726がYES)、フローはS727へと進む。S727において制御部120は、S725で第2の電圧検出器126により取得した電圧を値Dとして記憶部210に記憶する。S728において制御部120は、供給端子113と、電源端子121との間の接触抵抗を計算する。例えば、制御部120は、S727で保存した電圧検出端子122における電圧である値Dから、S724で保存した電源端子121における電圧である値Cを差し引くことで、電源端子121と電圧検出端子122との間の電圧の差分を計算する。そして、得られた電圧の差分を、S721で設定した電流で除算することで接触抵抗を計算してよい。S729において制御部120は、接触抵抗が閾値未満か否かを判定する。接触抵抗が閾値以上である場合(S729がNO)、フローはS711へと進み、制御部120は充電回路124を制御して、バッテリ127の充電を停止させ、本動作フローは終了し、制御部120は図5の充電開始フローを再び実行する。一方、接触抵抗が閾値未満である場合(S729がYES)、フローはS730へと進み、制御部120は充電を継続と判定し、フローはS721へと戻る。
以上の図7の動作フローにおいて、S701からS704及びS721〜S724の処理では、情報処理装置103の制御部120は、例えば、第1の検出部201として機能する。また、S705、S708、S725,及びS727の処理では、制御部120は、例えば、第2の検出部202として機能する。S706、S707、及びS709〜S712、S726、及びS728〜S730の処理では制御部120は、例えば、充電制御部204として機能する。
以上の図7を参照して述べたように、第2の実施形態では情報処理装置103の制御部120は、図5の動作フローで充電アダプタ101の充電モードを特定し、特定された充電モードに応じて、図7のいずれかの動作フローを実行する。即ち、例えば、図5の動作フローにおいて、充電モードが第1の充電モードと特定された場合には、制御部120は図7の第1の充電モードの充電中フローを実行する。そして、制御部120は、所定時間ごとに第1の電圧検出器125と、第2の電圧検出器126の電圧をポーリングし、得られた第1の電圧検出器125の電圧と、第2の電圧検出器126の電圧との差分から接触抵抗を計算する。更に制御部120は、接触抵抗が閾値未満であるか否かを判定する。接触抵抗が閾値以上である場合、その接触抵抗に起因する発熱が許容範囲を超えている可能性があるため、制御部120は充電を停止する。一方、接触抵抗が閾値未満である場合には、接触抵抗による発熱が許容範囲内であり、正常に充電が行われていると考えられるため、制御部120は充電を継続する。
また、図5の動作フローにおいて、充電モードが第2の充電モードと特定された場合、制御部120は図7の第2の充電モードの充電中フローを実行する。そして、第2の充電モードの充電中フローにおいても、制御部120は所定時間ごとに第1の電圧検出器125と、第2の電圧検出器126で検出された電圧の電圧差から得られた接触抵抗を用いて、充電を継続するか、それとも停止するかを判定する。
従って、第2の実施形態によれば、情報処理装置103の制御部120は、充電アダプタ101が複数の電圧で電力を供給することが可能な充電電圧可変アダプタであっても、その出力電圧及び充電モードを特定することができる。また、制御部120は、特定された充電モードに従って充電の継続と停止とを判定することができるため、充電ホルダ102を用いる充電の際の安全性を向上させることができる。また、例えば、充電アダプタ101が第2の充電モードにおける第2の電圧で出力した電力が、供給端子113と、電源端子121との接触部における接触抵抗により、第1の充電モードの電圧付近の電圧へと落ちて電源端子121に入力されることがある。この場合にも、本実施形態によれば、制御部120は、第1の電圧検出器125の検出電圧と、第2の電圧検出器126の検出電圧との差分から接触抵抗を計算し、接触抵抗に起因する発熱が許容範囲から外れた場合に充電を停止するように充電を制御している。そのため、例えば、このような場合にも、電源端子121に入力された第1の電圧付近の電圧は、第2の電圧検出器126で検出される電圧との差分が大きいため、制御部120は異常を検出できる。即ち、第2の実施形態においても、第2の充電モードでの電力が、第1の充電モードの電圧で入力された場合にも、異常を検出できる。
以上において、いくつかの実施形態を例示している。しかしながら、実施形態はこれらに限定されるものではない。例えば、上述の図5、図6、及び図7の動作フローは例示であり、実施形態はこれに限定されるものではない。例えば、可能な場合には、処理の順番を変更して実行してもよく、別に更なる処理を含んでいてもよく、又は、一部の処理が省略されてもよい。例えば、別の実施形態においては、S601及びS602の処理と、S604及びS605の処理とは入れ替えて実行されてもよい。また、同様にS611及びS612の処理と、S613及びS614の処理とは入れ替えて実行されてもよい。
また、上述の実施形態では、充電アダプタ101が第1の充電モードにおける電圧と第2の充電モードにおける電圧の2種類の電圧を出力する場合を例示している。しかしながら、実施形態はこれに限定されるものではなく、例えば、充電アダプタ101は、3種以上の電圧を出力してもよい。即ち、例えば、充電アダプタ101は第3の充電モードにおいて第3の充電電圧(例えば、12V)で電力を出力してもよい。その場合にも、例えば、第3の充電電圧に対する正常範囲として設定されている第3の電圧範囲を用いて図5〜図7で述べた判定を行うことで、実施形態を適用することができる。
図8は、一実施形態に係る情報処理装置103を実現するためのコンピュータ800のハードウェア構成を例示する図である。コンピュータ800は、例えばプロセッサ801、メモリ802、記憶装置803、読取装置804、通信インタフェース806、入出力インタフェース807、電圧検出器808、及び充電回路124、バッテリ127を備える。なお、プロセッサ801、メモリ802、記憶装置803、読取装置804、通信インタフェース806、入出力インタフェース807、電圧検出器808、及び充電回路124は、例えば、バス810を介して互いに接続されている。
プロセッサ801は、メモリ802を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した各機能部の一部又は全部の機能を提供する。例えば、情報処理装置103の制御部120は、プロセッサ801であり、また、記憶部210は、例えばメモリ802、記憶装置803、及び着脱可能記憶媒体805を含んでいる。プロセッサ801は、例えば、記憶装置803からプログラムを読み出して実行することで、第1の検出部201、第2の検出部202、特定部203、及び充電制御部204として機能してよい。記憶装置803は、例えば、第1の電圧範囲及び第2の電圧範囲、S503における所定の閾値、並びにS710及びS729における接触抵抗の閾値などの情報を格納していてよい。
メモリ802は、例えば半導体メモリであり、RAM領域及びROM領域を含んで構成される。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。記憶装置803は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、又は外部記憶装置である。
読取装置804は、プロセッサ801の指示に従って着脱可能記憶媒体805にアクセスする。着脱可能記憶媒体805は、例えば、半導体デバイス(USBメモリ、SDメモリカード等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、及び光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
通信インタフェース806は、例えば、無線LAN通信機器、NFC通信機器、赤外線通信機器などの通信機器であってよい。なお、LANは、Local Area Networkの略称である。通信インタフェース806は、例えば、プロセッサ801の指示に従ってネットワーク820を介してデータを送受信してよい。入出力インタフェース807は、例えば、入力装置及び出力装置との間のインタフェースである。入力装置は、例えばユーザからの指示を受け付ける入力キー、及びタッチパネルなどのデバイスであってよい。出力装置は、例えばディスプレーなどの表示装置、及びスピーカなどの音声装置であってよい。電圧検出器808は、電圧を検出する機器であってよく、例えばアナログデジタルコンバータであってよい。電圧検出器808は、例えば、上述の第1の電圧検出器125及び第2の電圧検出器126を含んでいてよい。この場合、電圧検出器808は、プロセッサ801の指示に従って電源端子121及び電圧検出端子122における電圧を取得しプロセッサに通知してよい。また、プロセッサ801は、充電回路124を制御することで、例えば、情報処理装置103に搭載されたバッテリ127の充電の実行と停止を制御してよい。
実施形態に係る各プログラムは、例えば、下記の形態で情報処理装置103に提供される。
(1)記憶装置803に予めインストールされている。
(2)着脱可能記憶媒体805により提供される。
(3)プログラムサーバなどのサーバ830から提供される。
なお、図8を参照して述べた情報処理装置103を実現するためのコンピュータ800のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の機能部の一部または全部の機能がFPGA及びSoCなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。
以上で述べた実施形態を含むいくつかの実施形態は、上述の実施形態の各種変形形態及び代替形態を包含するものとして当業者には理解される。例えば、各種実施形態は、構成要素を変形して具体化されてよい。また、上述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施されてよい。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施されてよい。