リチウムイオンバッテリーの充電器1号機               vega  2005.2.27
                                   
2005.3.24 改定

    現在専用ICを使用した充電器を製作したため、
  この充電器は使用していません。
 2005.11
___________________________________________________


    ネットで調べると、充電方法はニッカド(ニッケル水素)電池のようなわけにはいかないらしく、誤ると爆発するとか
    発火するとか怖いことが書いてあります。

    このページを理解できない場合は、製作しない方が無難です。
    このページをまねする場合は、火災爆発の覚悟して下さい。


    充電方法の色々
       @ 専用ICを使用   回路が簡単で充電器を複数作るにも作成は容易そう。 (外国からICを購入する必要があり)
          (専用IC欲しいですが、送料が高すぎ。早く国内で入手したいです。)
       A 電流制限付きの安定化電源を作成する(純アナログ)。 (複数セルは、全体での電圧管理)
    
    10ボルト程度だと、直列3個になります。1セル毎独立に充電するのが、安全面や寿命の点では良いらしいのです。
    でも電池の総数が多いと充電回路が多数必要になってしまいます。

    手持ちの部品で作成できないかと思っていると、フーコーテスターでデジタルフィルターを実装するときに参考にした
    トラ技の記事P147(2004.5 7章)がH8マイコン制御でニッカド電池の充電器であることを思い出しました。
    これを参考しました。手持ち部品で試作。
    H8は、最近さっぱり触っていないし記憶が無くならない為にも・・・・・・。
    
     (注)    〔  第7章 ニカド/ニッケル水素蓄電池の急速充電器の製作を通して理解する
             A-Dコンバータで直流電圧を測定するテクニック 西形 利一         
          http://www.cqpub.co.jp/toragi/html/bn_frame.htm             トラ技バックナンバー
          http://www.cqpub.co.jp/toragi/TRBN/contents/2004/TR200405.htm  2004.05 記事の先頭2ページ

          トラ技の記事P147(2004.5)は、回路図に誤植があります。注意しましょう。
          @ 電流検出用抵抗が抜けている。電池とマイナス側と、GNDを接続。1Ω前後。
          A R6が電流検出用抵抗と図の説明があるが、だとしたら値(1kΩ)も結線も変だ。
             グランドに接続する追加場所が無い。

   1. リチウムイオンバッテリーの充電方法

       電池メーカーが推奨する方法(概略)

     @ 最初は、電流を少し流す。
     A 電圧が上がってたところで、電流を最大値まで増やし定電流で電圧を監視する。
     B 電圧が4.2Vになったら、電圧一定にすると、充電電流が次第に少なくなり充電が完了する。

   3. 構想     
      @ 3セル直列で充電する。
      A トラ技の記事(2004.5)と同様に、オペアンプの定電流回路をマイコン制御する。
      B 3セルの電圧をチェックして制限値を超えないように電流を制御する。

   4. 説明

      (1) 定電流回路
              オペアンプを使用した定電流回路です。(ピン番号は、無視して下さい)
              この方式を採用しました。
 
             

            原理は、 オペアンプの性質により Vin が決まれば

            R1に Vin/R1 の電流が流れます。(誤差は無視)
    
            制御用トランジスタに電流を多く流す場合は、トランジスタをダーリントン等にします。

            電流が少ない場合、ダーリントンにする必要がないかもしれません。(Hfeとオペアンプの出力電流による)

            Vinを変更可能にすれば、電流値をコントロールできます。

            今回Vinをマイコンを使用しPWMで制御します。

       (2) マイコンとソフト

           H8/3664を使用しました。ソフトの制御方式は、トラ技記事を参考にしました。
           ルネサステクノロジのデバックモニター配下で動作可能になりました(ダイエットの結果)。
           
           @ PWMによる電流制御

              必要な電圧を出力できれば、充電電流を制御できます。
              今回、R?の電圧を計測していますが、その値で電流を計算して出力値にフィードバックする
              ということは行っていません。 定電流の仕事はオペアンプ任せです。
  
              電池のセル電圧をはかり、上記Vinを変化させることは行っています。
              定電圧(4.2Vなど)でコントロールする場合、
                ・セルの最大電圧が制限値より大きければ、充電電流を少なくする。
                ・セルの最大電圧が制限値より少なければ、充電電流を多くする。
                充電電流は、細かく見れば絶えず細かく変動していますが、セル電圧はほとんど一定に保つことができます。

              タイマーW(16ビット)を使用しています。

           A  AD変換

              正確に安定にAD変換ができるかこの装置のポイントになります。
              記事では、CRを使用したアンチエアリシングフィルターを使用してノイズを吸収
              しています。私はまだ入れていませんが、入れたほうが良いかもしれません。

              またPWMは、5Vフルスイングの高周波とノイズの見本みたいなものですから、
              AD変換の配線とは極力遠ざけた方が良いでしょう。
            
              4箇所の電圧を計っています。タイマーVを使用して毎秒25000回。
              スキャンモードで4点の電圧を計っています。
              デジタルフィルターの係数は、1/64を使用し、シフト処理で行っているので、高速です。
              又コードも小さくなり、モニター配下でも動作可能です。

              測定する値は、5Vを超えるので、抵抗で減衰して測定します。
              減衰比が皆違う為、ノーマライズしなくては、セル毎の電圧計算できません。
              ノーマライズ後のセル電圧等は、パソコンでモニター可能です。
              方法は
              分圧後にAD変換した値をa、実際の電圧値をbとして。
              b=a*c/(2**n)     (nは、整数で10前後) 書き直して
              c=(2**n) *b/a  
              例として a=360、実際の電圧が1.83Vとして100倍してb=183、n=10 とすると
              c=512*183/260=260

              ノーマライズ方法は、 v=a*260/512 となります。(100倍した電圧値)
              分母は、2のn乗なので右にシフトすればOKです。
              これを浮動少数で行うとサイズが大きくなり、モニター配下では動きません。
              ノーマライズを正確に行わないと、セルの電圧が正しく求まりません。
              一見正しいようでも、電圧の増減で誤差が増える場合もあります。
              フル充電付近で一番正確になる様に調整した方が良いでしょう。

              減衰比を全て同じにする場合は高精度(1%など)の抵抗を使用すれば、測定値の差を取ればそのまま
              セルの電圧になり扱いが簡単になります。AD変換が安定していれば、十分実用になると思います。

              
          B  電圧監視と電流制御
              
             タイマーVで、0.5秒おきに各セルの電圧を監視します。
             定電圧充電の場合、測定したセル電圧が一定になるようににより電流の値を変化させます。
             指令値、測定値は、パソコンを接続すればモニターすることができます。

       (3)  制御方法

           下記の設定値を見ながら、充電を制御します。

           @ 時間条件

 項 目   およその値    
予備充電時間 この時間が経過しても最低セル電圧が上がらない場合は終了     60分    
         

           A セル電圧条件

 項 目   およその値    
最低電圧 予備充電時間が経過しても最低電圧より低ければ充電停止     3.00V    
敷居電圧1 これ以上で、敷居電圧2以下の場合、充電電流を多めに開始  3.90V    
敷居電圧2 これ以上の場合、充電電流を少なめに開始  4.00V    
定電圧値 この電圧になるように電流を増減する  4.20V    
即停止電圧 制御が間にあわなかったか、ソフト不具合でこの電圧以上の値が
計測されたら充電停止
 4.30V    
         

           B 電流条件

 項 目   およその値    
予備充電  敷居電圧1以下ならこの電流で充電   100mA    
開始電流  敷居電圧1以上、敷居電圧2以下ならこの電流値で充電開始   200mA    
最大電流値 この電流値以上にはしない  1000mA    
高速増加値 定電流に移行する場合の増加値    20mA    
増減値 定電圧制御時の電流調整値(1回分)     2mA    
終了電流 定電圧制御してこの電流以下になれば充電終了    80mA    
         


   (1) その1

      回路図 
        
        @ オペアンプ(NJM4580DD)の手持ちで単電源が無かったのでプラスマイナスの電源を使用し、合計3電源になっています。
          プラス側は、オペアンプの電源と充電用の電源を兼ねています。
          オペアンプの耐圧以下で充電に十分な電圧電流である必要があります。

          オペアンプの発振対策の0.1μF(1番ピン2番ピン)は、無くても発振せず動作しました。

        A 制御用トランジスタで電流を多く流せるのが手元無かったので、仮のTRです。
           あまり電流を流せないので(最大損失2W)、充電に時間がかかります。(10時間程度)
           (仮のトランジスタ : MP4101(ダーリントンの4回路入りの1/4を使用)  160m程度でおっかなびっくり。)

           制御トランジスタは、トラ技の記事のように電流が沢山流せて、最大コレクタ損失が大きいのを使用すべきです。
           ここが壊れて火災等の大惨事にならないように、ここは少しぐらいなら壊れない、無駄なくらいのが良いと思います。
           2SD633(100V、7A、40W)他に2SD634、2DS635でも同程度
           
           トランジスタの発熱量  電源18V、 センス用抵抗3Ω、 充電電流1Aの場合

             3セル
               (18V − (4.2Vx3+3V)) x 1A = 2.4W
             2セル
               (18V − (4.2Vx2+3V)) x 1A = 6.6W
             1セル
               (18V − (4.2Vx1+3V)) x 1A = 12.8W 

           と変化が大きいので、制御TRの選定、放熱器の選定には十分注意する必要があります。
           電源電圧そのままで、2セル1セル充電は注意した方が良いです。
        
        B AD変換する値は、5V以下にする必要があるので、抵抗で減衰させています。
          充電中も充電終了後もここに電流が流れています。注意してください。

        C PWMは、マイコン制御が間違えて5Vが出ても、充電電流がバカでかくならないような抵抗値で減衰させた方が
          よいでしょう。今の値はとてもキケン。
          又テスターのACレンジで減衰後の値を測定します。これが数百mVもあると、充電電流の値も変動し、AD変換も
          安定にできません。このような場合は、コンデンサを追加して10mV以下にする必要があります。

        D 電池は1本ずつコネクタを付けています。電池を接続する代わりにショートピンを刺せば、
          2セルや1セルで充電も可能です。ソフトへ認識させる必要がありますが。

          制御用TRが、熱で破壊した場合はどうなるか知りませんが、もしかしたら電池に直接電源電圧
          がかかる事も考えられます。 この場合、電池の破裂もありえます。ヒューズは入れた方がよさそうです。

          電池には、充電制御の基板が組み込んであ、電池の横にサーミスタが付いてました。
          外してテスターで計ると約12kΩで、指で摘むと抵抗値が少しずつ変化し、8kΩ程度になりました。
          ADコンバータで温度を監視できそうです。(まだ4ch空いている)

        E 充電する電池は、放電状態や劣化具合がそろっている必要があります。
          セルの中で、最大の電圧を見て、そのセルが4.2Vになるように制御するので、電圧の上がりが遅い電池はフル充電に
          なる前に充電が終了してしまいます。
          アンバランスが大きい場合、充電が完了した電池を抜き、ショートピンを刺し、さらに充電した方が良いです。

        F 充電時の最大電圧は、電池により4.2Vのものと4.1Vのものがあるそうです。


    (2) その2    2005.3.9

        充電に時間がかかるので改造しました。

        @ 大型の放熱器に2N3055が付いているのを、ジャンクBOXから発見。
           オペアンプ(NJM4580DD)の出力電流は、最大50mAなので、ダーリントンでない2N3055でも多分大丈夫
          との予想で交換。ベース抵抗は470Ωの交換。
          電池は接続せずダミー抵抗を接続して、100mAのつもりで動かすと、1A以上も流れてしまう。ACレンジで見ると
          測定できる。どうやら発振しているようだ。トラ技記事に習って、オペアンプの1ピンと2ピンに0.1μFを入れると
          発振は止まる。
          電流を増やすと、電流値が安定しない。電流500mA程度の電流の場合ACのレンジで0.2Vになる。
          発振ぎみなのが、それともPWMのノイズが増幅されているのか。

          最大充電電流600mAで、制御TRのベース電流は数ミリアンペア。 使用した2N3055のHfeは、180程度だった。

        A 電流検出抵抗を3Ωから1Ωに変える。オペアンプの帰還量を減らす為と、電圧を有効に使用する為。
           電流値の安定度が大分改善しほとんど変化しない。AC分も10mV程度まで改善。
           制御TRのベース抵抗もxxに減らしました。
           充電してみる。電流を除除に増やして800mA程度までは、大きな問題なし。
           大型放熱器のせいか、TRの発熱はほとんど感じられません。
           3セル、600mAスタートで3時間程度で充電完了。充電電流のコントロールも上手く動いています。
           やっと実用域入ったので一安心です。

          2セル、最大充電電流1000mAで充電しました。充電電流は安定し問題ありません。制御TRはほんのり暖か。
          ブザーを実装し終了を知らせるようにしました。約2時間で充電完了(充電電流100mA以下)します。
          最大電圧を少し低めにすると、精神衛生上良い感じです。

          充電時の電流値の変化をグラフにしたものです。(縦軸:電流mA、横軸:時間(分))
          電池はパナソニック1600mAhとなっているもの。350mAの放電で3.0Vまで下がった状態の電池を充電。
           

            ・最初電池の電圧を測り、電圧OKと判断して最大電流まで数分間かけて増やす。(0〜約4分)
            ・電流が一定の時間は、1000mAの定電流充電の時間帯。この間に電池の電圧がジワジワ上昇する。
             (約4分〜約60分)
            ・電圧が制限値を超えたら、電流を減らし、制限値以下なら電流を増やすようにしている。(定電圧充電)
             充電電流は細かく変動しながら、少しずつ下がり、ゼロに近づく。(約60分〜約120分)
            ・充電中は、テスター2個を使用して充電電流と電池の電圧を時々見ています。(まだ信用できん)


        このグラフを見ると充電量(エネルギー)を面積で考えると、電流が少なくなったらサッサと充電止を止めたほうが
        賢い感じがします。少ない電流で長時間粘っても、充電量はたかが知れています。

        充電器製作のサイトで、定電流充電で4.2Vで充電終了している方法2,3がありましたが、急速充電では上のグラフを
        見る限りフル充電にはほど遠い感じです。定電流充電で電流を少なくすれば、改善されそうです。


        発熱は充電の途中や終了時に、電池を触った感じではありません。
        計ってみると1Aの充電電流で3℃程上昇しました。充電電流が減るに従い、発熱は減少してきます。
        温度上昇をチェックする場合は、(1Aで)充電開始温度+6℃程度で良いのではないでしょうか。
  
      _______________________________________________

        「問題点」
           @ 電流を増やすと、オペアンプの2番、3番の電圧差がだんだん大きくなってきます。
              NJM4580DDの最大出力電圧が13.5Vなので、息切れを起こしているのかもしれません。
              電流が安定している(3番ピンの電圧が安定)のでまあいいかって感じです。
           A AD変換が少し不安定です。電流を変化させても電圧は即反応しないので、救われている感じです。
             ノイズカット用のCを付けるべきかも知れません。


      (充電器注意) オペアンプの発振に注意
        ・発振は、電流値により発振したりしなかったりする場合があるらしいので十分注意する(テストを十分行う)方が良いでしょう。
         負荷が抵抗か電池(充電による内部抵抗の変化でも)かでも発振の有無があるかもしれません。
         又オペアンプの違いや、制御TRの違いや組み合わせにより発振の有無もあります。(実際に私が体験(上記))
         オペアンプにより発振対策の位相補正の方法も異なるようです。
         新たに入手するなら、トラ技のが良いでしょう。

         http://www.nahitech.com/nahitafu/mame/mame3/optable.html  オペアンプ色々


        ・発振した場合、バッテリーに大電流が流れて電池の発熱爆発は容易に想像できます。
         最初は、電池の代わりにセメント抵抗などで十分確認してから、電池をつなぎましょう。
        ・オペアンプ3番ピンの電圧をボリューム等で調整可能にして十分確認してからマイコンに接続しましょう。
         充電電流を除除に増やし全域で充電電流が安定しているが十分チェックしましょう。(ACレンジで電圧チェック等)
        ・AD変換は、安全の生命線なのでダイオードの保護回路はぜひ入れましょう。
         マイコンの電源を入れずに、電池をつなぐとAD変換のポートに電圧がかかり(保護用ダイオードがあっても)良くないでしょう。
         愚かな私は、このことに気がつかず、2ch分のAD変換の回路をダメにしてしまいました。
         保護用ダイオードも無い状態でしたので、あれば救われたのかもしれません。
         充電完了(充電電流ゼロ)後、充電の電源を切らずに電池を抜くとad2の減衰回路に電流が流れるためか、ad3の電圧が電源
         電圧に近い電圧がかかります。ad3の電圧減衰比は、このときに5Vを超えないように設定する必要があります。
         私が、ad3のポートを破壊したのはこれが原因したのかもしれません。
        ・フル充電が必要無ければ、定電圧の電圧を少し低め(4.2Vの物なら、4.15とか)に設定すればより安全性が高まる
         と思います。 信頼性が向上した後で最大値に設定しても遅くはないと思います。  
         フル充電を避けると、電池の寿命が延びるという話もあります。
          


      パソコンにセル毎の電圧等をモニター中(389,383,386は、電池の各電圧で3.89V,3.83V,3.86V)

      



  ソースプログラムについて   2005.4
    現在4chのADコンバータの2chを壊したらしく動作せず、電池は1セルしか計れない状態です。
    仕方なく、壊れているADコンバータを無視するようにしてあります。
    充電は、計れるセルに電圧が速く上昇する電池を割り当てて、2セルで充電しています。
    最近はトラブルはありませんが。
    AVRで2号機の計画があるので、不充分なプログラムソース(C言語)を改定する予定はありません。(危険が増大し公開できない)
    入手したい場合は、差し上げますのでメール下さい。
    但し下記を条件とします。
        ・H8での経験がある程度あること。
        ・プログラム内容の問い合わせはしない。
        ・本体以外でソースが1部添付しない。(パソコン送信とprint関係)


  リチウムイオン電池 購入先
     @ 秋x電子から3本入りの電池パックを購入  格安
        分解して電圧を見ると、1本だけかなり低い。 
        充電後放電してもみな早めに放電。 かなり劣化しているようだ。運が悪かったか。
        メールでやり取りした人は、3パック買って問題無かったと言ってました。
        みずがめさん(下記リンク)がこの電池パックの基板を何と解析してしまった。私は分解してバラしてしまった後なので後の祭り。        この電池の質が良ければ、電池パックそのまま使用できるんだけどね。
        
     A 代々木電気から3セット購入(更に4セット追加購入)。 こちらはほんとに中古か!と思うほど品質が高い。
       電圧を確かめて、出荷しているとのこと。
       最初から、電圧が4V近くあり、値もそろっている。
       放電しても容量も十分でアンバランスが少なく、充電時の電圧もほとんど同じ様に上昇する。

       電池パックに入っていたサーミスタの特性を計ってみました。   

       2005.11現在在庫なし