チカラの技術

電子工作やプログラミング

スマホのバッテリーを延命させるガジェットを作ってみました。

こんばんわ。お久しぶりです。
最近は英語の勉強がメインになっていて電子工作から少し離れていましたが
表題のとおりのガジェットを作る必要性に迫られたため作ってみました。

○前置き

スマートフォンのバッテリーはリチウムイオン電池です。
最近のスマートフォンの多くは薄型化の為にバッテリーを内臓していて交換が出来なくなっています。
また交換に掛かる費用を考えると、バッテリーの寿命=スマホの寿命となると考えている方も多いでしょう。

自分もこの度バッテリー内臓のスマートフォンに乗り換えたため、
出来るだけ長く使いたいと思いリチウムイオン電池の充電方法について調べました。

調べた結果の要点をまとめると

① 満充電状態と過放電状態での放置はリチウムバッテリーの劣化を招く。
② 一般的に言われる劣化の目安の充電回数500回というのは
0-100%のサイクル充電を指している。少ない充電量ならば1回の充電とは数えない。
③ 高温状態はバッテリーの劣化を招く。

という事でした。

②に関しては高温状態で放置しない、
スマホに高負荷を掛けないという使い方で対応するしかありません。

ただ、①と②に関して考えると改善の余地がありそうです。
自分は (皆さんもそうだと思いますが) 寝る前に充電器につないで起きるまで充電をしておくのですが
これは満充電状態にスマートフォンを長時間放置する事となりバッテリーの劣化を招きます。

気に
なっておちおち寝てもいられない!!


解決方法は簡単で、満充電を避けるために途中で充電を終えるように制御すれば良いのです。
結果充電回数は増えますがメモリー効果の無いリチウム電池ならば問題は無いはずです。

参考ページ
ベイサン - リチウムイオン電池を上手に使う方法

リチウムイオン電池の寿命と劣化。そして保存法。



○え!無いの?


上記から充電量制御の方法を探してみましたが・・・

1.スマートフォンの設定    ー>無い
2.スマートフォンアプリ    ー>無い
3.ならば自分でアプリを作る ->バッテリーを制御するAPIが無い。(充電量等の情報取得のみ)

さっぱり見つかりませんでした。
アプリで充電を制御する危険性からAPIが無いのは仕方無いとは思います。
android-OSのカーネル部分まで操作できれば可能だと思うのですが、
そこまでアクセスできるのはメーカーか、OSに対する深い知識がある方達ぐらいだと思います。


○じゃあガジェットを作ります。

作りました。
はい、どーん!

イメージ 1
全体

ガジェットには5V充電器とスマートフォンの間で出力を制御する機能があります。
ガジェットにはBluetoothモジュールが入っていてスマートフォンと通信できます。

イメージ 2
メス側
スマートフォンとの通信が確立されると青LEDがON,
スマートフォンへの給電時は赤LEDがONになります。

イメージ 3
オス側

スマートフォン側にも制御用のアプリを作りました。

イメージ 5

☆動作

○充電範囲をアプリに設定する。(最大充電量と充電後の放電量の範囲を設定できる)
○アプリ中央の丸いボタンを押してガジェットとの通信を確立する。
○アプリが電池の残量と設定値を比較して、ガジェットの出力のON/OFFを自動制御する。(30秒に一回)

Bluetooth通信は30秒に1回だけなのでスマートフォン側の消費電力も少なくてすみます。


イメージ 4
アプリはバックグラウンドに常駐するので、充電中も他の作業が可能です。
(電池の温度が上がるので給電中はあまりやらない方がいいですが)


○ガジェットの主な仕様
消費電力:        200mW = 5V  35mA(通信ソケット確立時)
(主な内訳:bluetoothモジュール20mA, LDOレギュレータ:9mA, LED点灯:5mA)
制御マイコン:       LPC1114 - システムクロック1MHz, 消費電流は1mA以下。
出力用N-MOS-FET:  on抵抗25mΩ(負荷1A)


以上です。

単純な仕組みですが、アンドロイド側のプログラミングは初めてで、
マイコンと勝手が違うところも多く苦労しました。
それでも計算のパワーとGUIの自由度の高さに大きな可能性を感じたので、
これからアンドロイドとマイコンが連携したガジェットを作っていくのも楽しそうだと思いました。