2012年10月11日木曜日

「充電容量チェッカー」2Aへの道

初めまして、オレンジっていいます。今回はクリケンさんに代わりブログを書きます。よろしくです。

電子に関しては、まだまだ若輩者ですが、よろしくお願いします。

今回のオレンジ初ブログは、「充電容量チェッカー」を改造して2Aまで測れるようにしてみました。
               

 「充電容量チェッカー」は、1A(999mA)まで測れます。

ipadなど一部の製品では、消費電流が1A以上のものがあるので、

最大2Aまで測れるよう改造奮戦してみました。


                      用意するもの

今回用意して頂くものは、部品では24kΩの金属皮膜抵抗1本だけです!

機材では
  • 半田吸い取り線
  • 半田
  • コテ
  • PIC書き込みライター


                        ☆改造

                       [[ハード編]]

まず、基板の「R14」の47kΩの金属皮膜抵抗を、用意した24kΩの金属皮膜抵抗と交換します。
部品交換は、以上でおわりです。


             交換する抵抗を見やすく浮かせています。(実はただのミスですw)


オレンジコラム「部品交換をされた事がない方へ」
「部品交換のコツ!まず、交換する抵抗のハンダ付けされた場所に、更に半田を盛ります!そして抵抗を抜きます。そこに、半田吸い取り線をあてて、半田コテで温めて半田を吸い取ります。
そうするとあら不思議!!簡単に半田を除去してスムーズに抵抗を交換できます。うまく半田が、取れない方は、是非お試しあれ。(そんな事は知ってるよ!!って方はご勘弁を)」



                      [[ソフト編]]

次は、ソフト側になります。
まずは、
AssemblyDesk
http://a-desk.jp/modules/forum_keisoku/index.php?cat_id=4
より、ファームウェア一式をダウンロードしてください。そして、main.cファイルをテキストエディターで、下記のように2箇所を編集してください。


  【1箇所目】

162行目の

  // Resultの単位はmA
  //  0.1オームのピックアップ抵抗の電圧をオペアンプで48倍にしている。
  //  よって、1Aで4.8Vとなる。
  //  AD変換の値は16368で5Vとなるので、1AはAD値/15713となる。
  Result = (1000L * (long)Result)/15713L;


を下記のように変更します。


  // Resultの単位はmA
  //  0.1オームのピックアップ抵抗の電圧をオペアンプで25倍にしている。
  //  よって、1Aで2.5Vとなる。
  //  AD変換の値は16368で5Vとなるので、2AはAD値/16368となる。
  Result = (2000L * (long)Result)/16368L;



  【2箇所目】

222行目の


 if(mode == MODE_mA)
 { //mA表示モード
  disp_dot = 3;

  if(disp_num > 999)
   disp_num = 999;

  switch(keta)
  {
   case 0:
    if(disp_num < 100)
     num1 = 10;
    else
     num1 = disp_num / 100;
      break;
   case 1:
    if(disp_num < 10)
     num1 = 10;
    else
     num1 =(disp_num % 100)/10;
    break;
   case 2: num1 = (disp_num % 10);  break;
  }
 }



を下記のように変更します。



 if(mode == MODE_mA)
 { //mA表示モード

  if(disp_num > 999)
  {
   disp_dot = 0;
   num1 = disp_num / 10;

   switch(keta)
   {
    case 0:
     if(num1 < 100)
      num1 = 10;
     else
      num1 = num1 / 100;
       break;
    case 1:
     if(num1 < 10)
      num1 = 10;
     else
      num1 =(num1 % 100)/10;
     break;
    case 2: num1 = (num1 % 10);
      break;
   }
  }
  else if(num1 < 1000)
  {
   disp_dot = 3;

   switch(keta)
   {
    case 0:
     if(disp_num < 100)
      num1 = 10;
     else
      num1 = disp_num / 100;
       break;
    case 1:
     if(disp_num < 10)
      num1 = 10;
     else
      num1 =(disp_num % 100)/10;
     break;
    case 2: num1 = (disp_num % 10);  break;
   }
  }
 }



 
よくわかんない場合は、変更部分をコピペして、OKです。

以上、二箇所の修正が終わったら、MPLABでコンパイルしてください。

それを、pickitなどのライターで18F14K50に書き込んでください。

これで、2Aまで測れるはずです。

是非是非、色々なもの測ってためしてみてください。

感想など、オレンジの不手際などあったら教えてくださいね。

初心者の方でも、よくわからないことがあれば聞いてください~。

0 件のコメント:

コメントを投稿