Takeyuta Lab

マイクロマウスを中心にいろいろ楽しいと思ったことを好きにやるBlogです。Labっぽいこと書きたい。

リチウムポリマー電池の放電特性を学ぶ①

マイクロマウス界隈ほど、リチウムポリマー電池を過酷に使用しつつ、正確に自立制御をかけようとしているところはないのではないでしょうか。

おそらく、DCモータを使ったマウスを作っている方は、Lipoの電圧を監視し、モータに印加したい電圧をPWMのDutyに変換して使用していると思います。
この時、暗黙の前提は、Lipoの電圧を監視した時のLipoの電圧と、モータに電圧を印加しているときのLipoの電圧が同一であること、だと思います。

…さて、本当にそうでしょうか???

今回、真面目に実験と検討をしました。
おそらく、実験してみたいなと思いつつできていない方は多いと思います。
めんどくさがりな皆様に代わって実験しましたのでご報告します。感謝しろください。

  • 試験系

試験系の写真と図を以下に示します。

f:id:Neophile:20190216202425p:plain
リチウムポリマー電池定電流負荷装置

f:id:Neophile:20190216201320p:plain
Analog Discovery2から定電流負荷装置(詳細は後述)にPWM信号を送り、入力されたPWMの振幅とDutyに応じて、定電流負荷装置がLipoに負荷を与えます。
この際のLipoの電圧と、電流値を記録し、Lipoの特性を把握します。
測定は、PWM信号を与えてから3~4秒後くらいに測定しています。

  • 定電流負荷装置回路

回路図を以下に示します。
f:id:Neophile:20190216202133p:plain
試験系の写真を見てわかるように、プリント基板ではなくユニバーサル基板で作りました。
特に理由はありません。久々にユニバーサル基板ではんだ付けしたくなったからです…。
(ただ、やってみて思ったのは、やっぱりプリント基板で作った方が絶対に楽だった…。)
当初は高速のOPAMP使っていたのですが、発振に悩まされて諦めました。
ですので、後ほど電流波形見て頂ければわかりますが、応答が少し遅いです。
矩形派で入力していますが、負荷波形は矩形ではありません。

  • 試験条件

試験したLipoは8種類です。
意味があるのかは分かりませんが、No.2以外は使用前に0.1Aで充電と放電を5回行いました。

供試体一覧

No. 名前 備考
1 Hyperion G5 70mAh 25-50C 新品。最近購入したもの
2 Turnigy nano-tech 60mAh 45-90C 多少使用したもの。2年間放置で膨らんでいない
3 Turnigy nano-tech 60mAh 45-90C 新品。2年間放置で膨らんでいない
4 Turnigy 138mAh 10C 新品。2年間放置で膨らんでいる。開封後電圧を測ったら2.68Vだった
5 Hyperion G3 100mAh 25-45C 新品。最近購入したもの
6 Hyperion G3 100mAh 25-45C 新品。最近購入したもの
7 Hyperion G5 100mAh 25-50C 新品。最近購入したもの
8 Hyperion G5 100mAh 25-50C 新品。最近購入したもの

試験条件表

No. 1 2 3 4 5 6 7 8 9 10 11 12
電流[A] 0.5 0.5 1.5 1.5 1.5 2.5 2.5 2.5 2.5 0.5 1.5 2.5
Duty[%] 100 70 100 70 70 100 70 70 30 50 50 50
周波数[Hz] 0 100k 0 100k 200k 0 100k 200k 200k 1 1 1
  • 試験結果

全て載せるのがとても大変なので、代表例としてNo.1の電池の試験No.4の結果を掲載します。

f:id:Neophile:20190216204139p:plain
リチウムポリマー電池の放電波形

f:id:Neophile:20190216204224p:plain
リチウムポリマー電池のVI特性

  • 考察

つまり、100kHz, 1.5A, Duty70%の時の波形です。
1.5Aというと、放電レートで言えば1500/70=21.4Cです。

電流を流しているときに、内部抵抗の影響で、電圧が落ちているのがわかります。具体的には0.1229V低下しており、内部抵抗に換算すると0.0819Ωとなります。

また、(モータを単純な抵抗負荷だとみなすなら)以下のような電圧がAD変換されることになります。
f:id:Neophile:20190223175306p:plain

RX631を例にとると、12ビットA/D変換特性にはアナログ入力容量30pFと記載があり、サンプリング時間は0.4usとのことです。つまり、AD変換のタイミング次第で、高い電圧のところを変換するか、低い電圧を変換するかが変わるということですね。
(ちなみに、話は逸れますが、データシートを見ると許容信号源インピーダンスが1kΩと書いてあってアレ…コレダメなやつなのでは…という気持ち)

PWM周波数とADサンプリング周波数がぴったり100倍、というような人でない限りは、時々高い電圧が見えたり、低い電圧が見えたりするのではないかと思います。
ちなみに自慢ではないですが、自分は走行中の電圧ログをまともに取ったことが無いので上記が正しそうかどうかわかりません…。(取ったことある方コメント頂けたら嬉しい)

PWM周波数に同期させてADサンプリング周波数を決定してみたりすると、また面白いかもしれません。
なんにせよ、AD変換した電池の値から「モータに4VでDuty50%で2V相当をかけるで」と思っても、実際は3.9VのDuty50%というようなことが起こるというのは解りました。

他の実験結果の内容も整理して、新作マウスではこの辺り考慮しながらPWM Duty決定したいと思います。


元気があれば追って報告します。

コネクタの圧着は、はんだ付けをしてはダメなんですって。

ロボットをしていると、コネクタの圧着とはなかなか縁が切れません。

圧着というのは大変難しい理論で成り立っているようです。
たとえば、圧着というのは、はんだ付けをしてはいけない、という話を聞いたことはあるでしょうか?

圧着接続は1925年に編み出された方法とのことで、大変長い歴史があります。
圧着を発明した人がどこまで考えていたのかはわかりませんが、素晴らしい手法で、長く使われることとなりました。

圧着接続というのは、単にコンタクトを導線に接触させる手法、のように思いますが、実はもう少し奥深い話があります。

圧着では、簡単に言うと電線とコンタクトを同時につぶす、という作業で接続を行いますが、コンタクトを潰す際、電線も同時に押しつぶされるために電線が伸びます。
その際、塑性域(永久的に変形する領域)以降は断面積が減少します。
このとき、塑性変形が起きるため、引っ張り強さは強くなるそうです。(弾性域の上限が上がるので強くなる)
また、この時の残留応力によって電線とコンタクトは強力に接続されるとのこと。

また、この過程で電線の表面の酸化膜とコンタクトの表面の酸化膜とが摩擦により剥がれたうえで接触するため、接触抵抗は非常に低くなるそうです。

ここではんだ付けをするとどうなるか?という話ですが、熱による変形と、はんだで固定されることによる応力の偏りで、断線しやすくなる、という話のようです。
でもまぁ、はんだ付けしたい気持ちはわかります(自分も昔はしていた)

また、↑の話からも分かるように、基本的に「正しい圧着」にはやり直しという概念は存在しません。
コンタクトは大目に買いましょう…。
またまた、↑の話は正しく圧着できれば、という話であって、メーカー推奨の工具で、かつメーカー推奨の力をかけてという話の上で成立すると思ってよいと思います。手でギュッっと圧着する場合、はんだ付けの方がマシな可能性は12ぶんにあると、私は思います。正直。

ところで、今新しいマウスにmolex社のPico-EZmateという端子を採用しました。
1.2mmピッチの表面実装型の超小型コネクタです。

とても小さいんですよね…でもちゃんと圧着できました。ヤッター。

f:id:Neophile:20190211163310j:plain
超小型コネクタの圧着

圧着工具はIWISSの↓のものを使いました。

今まではENGINEERの圧着工具を使ってカシメていたのですが、小型のコンタクトに対応していなかったので新しく調達しました。使いやすさがよくわかりませんでしたが、今のところ4/4で成功して圧着できています。
(最初AWG28でカシメようとしましたが、太過ぎたようで断線しました…。これはノーカウントで。)

はんだ付けはしていません()
経験したことある方も多いかと思いますが、このクラスのものになると、下手にはんだ付けをするとコンタクトを挿入できなくなります。
ハーフピッチのコネクタではんだ付けをして挿入できなくなることがよくありました。

コネクタ回りのトラブルは結構泣かされることも多いはず。
みなさま、良い圧着ライフを。

小型コアレスモータのトルク計測とトルク係数の測定実験

マイクロマウスには、得体のしれないDCモータを使用される方が多いかと思います。
小型のコアレスモータですと、そもそも選択肢がありませんので仕方ないかと思います。

マウスをかっこよく制御したくなると、FF制御をしたくなり、トルク係数の算出をしたくなると思います。
無負荷回転数と定格電圧から割り出す方も多いかと思いますが、
実際のところ、トルク係数はどの程度あっているのかが疑問になり、測定してみました。

測定風景です。
f:id:Neophile:20190203094241j:plain

…意味が解らないでしょうか。
モータに円盤(写真では吸引ファンの切削失敗したもの)を取り付けて、糸をひっかけ、
秤の上の重りを引っ張ります。
そうしますと、円盤の半径の距離の位置で重りを引き上げるのに相当します。(たぶん)
秤が「-10 g」と示せば、10g引き上げられてるということです。
電源装置で1.5V、3.0V、5.0Vとかけました。電流値は電源装置に表示される値です。
値は3回測定して、平均をとりました。
かなり値が変動するので精度は微妙なところです。(詳細は後述)

Queで採用した千石電商で売られているモータ「CL-0614-10250」
計測した結果が以下です。

電流[A] トルク[g・cm] トルク定数[mNm/A]
0.52 2.65 0.4999
0.96 4.76 0.4859
1.40 6.60 0.4620

千石電商のHPには「停動トルク:8g・cm」との記載があるのですが、遠く及ばず。
2Aくらい流せば8g・cmに到達しそうですが…。
何か計算や測定方法間違えているのかもと不安になります。なにかお気づきの点あればご指摘いただければ嬉しいです。


測定ですが、1A近く流すと、秒単位でトルクがどんどん減少します。併せて電流も減少します。
ただし、トルクの減少の方が激しい気がします。
モータ内部のコイルの発熱でコイルの抵抗値上昇により電流が減少してトルク低下、
コイルの発熱によって磁石の減磁が発生しているので電流の減少以上にトルク低下、
ということなのではないか?と思っています。

秒単位で低下ということは、マウスの最短走行時などでも十分に影響はありそうです。

Hyperionの電池は自己放電しやすい?

HyperionのLipoを2年前に買っていたのですが、使用することなくしばらく過ごしていました。
1年前に見たときに殆どの電池が膨らんでおりまして、
「使っていないのに膨らむとは何事」
と思っていました。が、何もせずさらに1年が経ちました。

f:id:Neophile:20190127200131j:plain
(膨らんでしまってセルの左右が自然に開いた。こわい。)

ふと、気になってセル電圧を調べてみました。

…「2.54V」。

リポってストレージ電圧何ボルトだっけ?と考え直してしまうレベル(3.7Vです)
(測定した電池と電圧はブログ末尾にまとめましたので後でじっくり見て下さい)

Hyperionのリポは、ばらつきはあるものの、どれも未使用品とは思えない電圧でした。
ひどいものは数十mV、一番マシなもので2.71Vでした。
70mAhに限って言えばすべてもうカラ。
控えめに言って、怖いです。

Turnigyの電池は正常電圧でした。Hyperionよりも長く保管しているものも正常。
ちなみに測定してはないですがZippyの電池も膨らんだりしているようには見えません。
測定が面倒でサンプル数が少ないですが、見た目も膨らんでいるものなんてないので他も多分大丈夫です。

電圧の低下が先か、膨らんだのが先かはわかりませんが、Hyperionの高放電レートの電池は
自己放電が激しいのかもしれません。
保管場所は自分のお部屋で、温度はおそらく5度~35度くらいだったと思います。
特に厳しい条件だとは思いませんし、同じ場所に保管していたTurnigyの電池は正常なので
Hyperion固有の問題だと思われます。

Hyperionの電池を使う人たちは、基本的に激しい使い方をする人が多いと思いますので
そっと置いておいて寿命が来る人は少ないのかもしれませんが、注意が必要そうです。

※電池の物性や構造についての知識に乏しいので、何かアドバイスやコメント等あればいただければ嬉しいです。


ーーーーーーーーーーーーーーーー 測定結果 ーーーーーーーーーーーーーーーー

Hyperion G3 100mAh(約2年室温放置)

  • 2.54V
  • 2.71V
  • 1.88V
  • 1.23V
  • 2.62V
  • 2.16V
  • 1.87V
  • 2.68V
  • 0.04V
  • 0.06V

Hyperion G5 70mAh(約2年室温放置)

  • 0.06V
  • 0.04V
  • 0.05V
  • 0.04V

Turnigy nano-tech 60mAh(約2年室温放置)

  • 3.80V

Turnigy 138mAh(約4年室温放置)

  • 3.75V

Hyperion G5 70mAh(2か月前購入)

  • 3.76V

Analog Discovery2を活用する

Analog Discovery2を購入しました。

平たく言うといろんな機能が付いたコスパのいい便利なハコという感じです。
とはいえ、ほとんどの人はオシロとロジアナくらいしか使わないような気もします。

オシロなのは良いのですが、デフォルトはピンヘッダからリード線が出ているという状態です。
プローブじゃない状態でどのくらいまともに測定できるんだろう?という疑問があって
軽く測定してみました。

Analog Discovery2の機能で200kHzのクロックを生成して、それを直接オシロ機能で見てみました。
上がオシロのch1とch2を並列に伸ばしていた時、下が可能な限り離してみたときです。
※ch1とch2のレンジが違うことに注意

f:id:Neophile:20190116225725p:plain

f:id:Neophile:20190116225724p:plain

激しくクロストークしています。

アナログ的なことを測定するには注意が必要かな、と思いました。
BNCアダプタボードがあるので、買ってみてもいいかもしれません。

なんにせよ、PCに繋いでアレコレできるのはBlogも書きやすいしスペースもとらないし、いいですね。

マウサーとして生き残ろう?

2018年はマウス開発はほぼゼロだったわけですが、一応大会には出場したわけで、マウサーとしてギリギリ生き残れたと思っております。
マイクロマウス競技(セミファイナル)は探索のみで9位、
クラッシックマウス競技は普通には知れて9位。

で、モチベの泉が枯れかけていたわけですが
大会後、息子に
「パパ、マウスだめだったね。 またいっしょにがんばろうね。」
と言われて、
グサッと来て、2019年は頑張ろうと思い始めています。

ーーーーーーーーーーーーーーーーーーーーー

さて、「やるぞ」と思っても気が付いたらモチベの泉が枯れていて
やるぞと思ったことすら忘れているというのがよくある話。
(で、マウスシーズンに絶望する)

今年はモチベの泉を枯らさないために、目標を掲げようと思います。

①ブログを20回以上更新する
技術的に価値のあるもの、少なくとも自分が後で見返したくなるような情報を書く。

②シミュレータを再製作する
探索ルーチンやターンなどのシミュレーションを行うソフトを再製作。

③全日本大会で探索を成功させる(ハーフ・クラッシックともに)
次のマウスは移植要素を無くして作り上げる予定で、1年目から無理に勝ちにいかずに
丁寧に作りたいなと思います。3年計画くらいで勝ちに行こう。
今年は甘んじてBusterされよう…

f:id:Neophile:20190114141636j:plain

ということで、まずはブログ更新頑張ります。
今回は意思表示ということでノーカウント。

2017年マイクロマウス全日本大会

全日本大会お疲れさまでした。

運営してくださった皆様、相手をしてくれた皆様、本当にありがとうございました。

とっても楽しい2日間でした。
そして明日は有給とってるのでのんびりします^^


さて、ブログは大変久しぶりな訳で、こういう時はとりあえず

「日記では無くて月記ですね(笑)」

とか言っておくのが通例かと思いますが、もはや年記のが近いです。すみません。

f:id:Neophile:20171119232423j:plain

今年はクラッシック競技で5位でした。
予選も決勝も無難パラメータでしか走れず、なんとなく消化不良です。
走ったのはどちらも以下のパラメータ。

acc 15000mm/s/s
max_speed 3900mm/s
max_diag_speed 2900mm/s
90deg 1700mm/s
v90deg 1300mm/s
45deg 1300mm/s
135deg 1250mm/s
180deg 1250mm/s

だがしかし、あまり悔しさが無いんですよね。
悔しさがないというのは余りまじめにやってなかった証拠だと思うので
猛省したいと思う次第であります。
ハーフは決勝いけませんでしたし…。

なんだかんだクラッシックでは戦えてしまっているQueさんですが、
そろそろ新作作りたいと思うので、モチベーションが枯れないうちに
もの作ってしまいたいと思ってはいます。
がんばりたい。

クラッシックはもちろんですが、ハーフでも1位争いができるような領域に行きたいですね。



あと、おまけ。

f:id:Neophile:20171119171051j:plain