ターボマッチャーの紹介(2)

ターボマッチャーの本体にはプリンターと接続するパラレルポートが装備されています。収集したデータは印刷してマッチドする際に使用できます。別売りのパラレル・シリアルコンバータを使えばPCと接続することもできます。ただしこの場合データをラベル化するソフト「ターボラベル」の使用が前提になります。ターボラベルを使うとラベルにオリジナル画像を印刷したり印刷するデータを指定することができるようです(使い勝手が良さそうに見えないので僕は使ってません^^;;)ちなみにターボラベルはCE社のホームページからデモ版をダウンロードできます

LABEL PRINTモードの例:
807 1.162
4.0 15 15
MWHR 3906
0.90 5000
K-MATCHED

別売りの「ターボラベル」を買わなくともLABEL PRINTモードでこのようなラベルを印刷することができます。ラベルシートはおまけで1シート付属していますが、もったいないので使ってません^^;;ちなみに各値は以下の意味を持っています

放電時間(秒) 放電平均電圧(V)
充電電流(A) 放電電流(A) 内部抵抗値
放電電力(MWHR)
セル当りの放電停止電圧(V) 強制放電停止時間(秒)
名前

   

ラベルにプリントされるデータで必要十分な気もしますが、放電グラフは当然ここには入ってきませんし放電MAHRS値も入っていません。せっかくデータを収集するのでこれらのデータもPCで管理したいものです。ラベルに印刷されないデータは印刷した紙ベースでの比較になるのでセル数が多いと作業がとても大変。実際僕もはじめの頃は印刷しまくってました^^;; ヘヤハカミダラケヨ 放電グラフの比較なんか印刷した紙を重ねて太陽に照らして比較してました^^;;;;

というわけで本来は印刷するデータをPCに取り込んでエクセルで処理できるようにチャレンジしてみました。

   
まずはターボマッチャーとPCを接続するためにパラレル・シリアルコンバータを入手します。最近需要が少ないせいか秋葉原では発見できなかったのでブラックボックスから取り寄せました。他社からもいくつか販売されているので好みで選べば良いでしょう。ブラックボックスの製品は別電源が不要な点で他社製より優れていると思います(その分高いけどネ)。
   
早速接続してみます。PC側はシリアルCOMポートに接続します。
   

接続したら次にターボマッチャーからPCにデータを転送してみます。PC側で通信ソフト(windows付属のハイパーターミナルなど)を起動して下記のように通信条件を設定します。

通信速度:9600bps
データビット:8ビット
パリティ:無し
ストップビット:1
フロー制御:ハードウェア
COMポート:接続したポート(COM1やCOM2など)

ターボマッチャー側でGRAPH MANUAL PRINTメニューを呼び出して「PRINT」ボタンを押します。すると。。
   
DISCHG TIME 0807 DISCHG AVERAGE VOLTS 1.162 CHARGE TIME 3866
PEAK CHG VOLTS 1.521 MWHRS 3906 DISCHG AMPS 15.0 CHARGE AMPS 4.00
INTERNAL RES 15 CUTOFF VOLTS 0.90 MAHRS 3362 PEAK DETECT .010
DISCHG AVERAGE VOLTS CUTOFF TIME 5000 ACT INT RES 5.1

   .8       .9       1.0      1.1      1.2      1.3     1.4       1.5
0000 +---------+---------+---------+---------+---------+---------+---------+-
0010 |        +        +       +      * +       +        +       +
0020 |        +        +       +      * +       +        +       +
0030 |        +        +       +     *  +       +        +       +
0040 |        +        +       +     *  +       +        +       +
0050 |        +        +       +    *   +       +        +       +
0060 |        +        +       +    *   +       +        +       +
0070 |        +        +       +    *   +       +        +       +
0080 |        +        +       +    *   +       +        +       +
0090 |        +        +       +   *    +       +        +       +
0100 |        +        +       +   *    +       +        +       +
0110 |        +        +       +  *     +       +        +       +
0120 |        +        +       +  *     +       +        +       +
0130 |        +        +       +  *     +       +        +       +
0140 |        +        +       +  *     +       +        +       +
0150 |        +        +       + *      +       +        +       +
0160 |        +        +       + *      +       +        +       +
0170 |        +        +       + *      +       +        +       +
0180 |        +        +       + *      +       +        +       +
0190 |        +        +       +*       +       +        +       +

このように放電グラフがPC画面に出力されます。もちろんこれをファイルに保存することもできます。これだけでも紙の節約になりますね〜♪もちろんその他のデータも同じ要領でPCに取りこむことができます(その他データのサンプルはこちらのページの中程にあります)っがしかーしこれだけではパラレル・シリアルコンバータを買った意味があまりありません!*記号で示される放電グラフを数値化してエクセルで処理できる形にしましょう。あとオリジナルラベルも作ってみましょう。

   

受信したデータを加工するにはスクリプト機能をもった通信ソフトを利用するのが手っ取り早いでしょう。今回は昔からお世話になっている秀TermEvolutionを使いました。秀TermEvolutionをインストールしたら通信条件を設定して早速スクリプトを作成します。秀TermEvolutionには親切なヘルプがあるので文法などで困ることもないでしょう。

スクリプトは下記の要領で作っていきます。
1)何がしかのデータを受信
2)値を変数に代入
3)データを全て受信したら各変数の内容をファイルに保存
4)終了

例えば以下のデータをターボマッチャーから受信する場合

DISCHG TIME 0807 DISCHG AVERAGE VOLTS 1.162 CHARGE TIME 3866

スクリプトは以下のようになります。

wait "DISCHG TIME "   <--- この文字列の受信を待つ
getline #line1        
<--- 受信したらその文字以降、全体をline1という変数に代入
#dischgtime = part( #line1,0,4 )
<--- line1内の始めから4文字分を変数dischgtimeに代入
#dischgvolt = part( #line1,27,5 )
<--- line1内の27文字目から5文字分を変数dischgvoltに代入

この要領で必要なデータを変数に代入していきます。そしてファイルに保存する場合は次のようにwritefile関数を使います。

chdir "ファイルを保存するディレクトリ"
appendfile "celldata"
writefile "celldata" +#dischgtime+" "+#dischgvolt

これでファイルcelldataに以下のように値が保存されます。

celldataの例: 0807 1.162

次に放電グラフ(*で表されています)を数値化します。こちらはloop文やcase文を使えば簡単にできるでしょう。後は好みに応じていろんな機能を追加していけば完成です。

   

僕の作ったスクリプトは以下のように動作します。
1)セルに与えるシリアル番号を入力(各データを番号で区別します)
2)シリアル番号に間違いがないかどうか確認(すでに存在するデータを上書きしないため)
3)ターボマッチャーからデータを送信しスクリプトでデータを加工・保存
4)終了

ターボマッチャーからのデータは加工され、3つのファイルに保存されます。

   

1つ目のファイルは各セルの放電平均電圧と放電時間をまとめたものです。これをグラフ化することでセル全体の性能分布を把握することができます。

dischgvolt dischgtime
1.138 0412
1.138 0504
1.133 0508
1.124 0502
1.131 0511
1.140 0521

一行毎に各セルの放電平均電圧と放電時間が記録されます。ヨコモ3300HVRの性能分布図はこちらで見れます。

   

2つ目のファイルは各セルのデータを一括してまとめたものです。このファイルからセルに張りつけるラベルを作成します。

SRN dischgtime dischgvolt peakvolt mwhrs ir mahrs
0001 0412 1.138 1.501 3255 19 2861
0002 0504 1.138 1.519 3983 19 3500
0003 0508 1.133 1.524 3996 19 3527
0004 0502 1.124 1.529 3918 22 3486
0005 0511 1.131 1.524 4012 20 3548
0006 0521 1.140 1.522 4124 19 3618

一行毎に各セルのシリアル番号、放電時間、放電平均電圧、充電ピーク電圧、放電電力、内部抵抗、放電容量が記録されます。

   

3つ目のファイルはセルの放電グラフを数値化したものです。エクセルを使えば独自の解析(グラフ化など)が可能になります。

time volt
010 1.29
020 1.25
030 1.23
040 1.21
050 1.20
060 1.19
070 1.19
080 1.18
090 1.18
100 1.18
110 1.18
120 1.17
130 1.17
140 1.16
150 1.16
160 1.16
170 1.15
180 1.15
190 1.15
200 1.14
210 1.14
220 1.14
230 1.13
240 1.13
250 1.12
260 1.12
270 1.12
280 1.11
290 1.11
300 1.10
310 1.10
320 1.09
330 1.09
340 1.08
350 1.07
360 1.06
370 1.05
380 1.03
390 1.01
400 0.97
410 0.91

十秒毎の電圧が記録されます。ヨコモ3300HVRセル番号1の放電グラフはこちら。現在はまだ作成中ですが今後は各セルの放電グラフを重ね合わせて性格が似通ったセルを抽出できるスクリプトを準備しています。

   

バッテリーセンターではこのスクリプトを使って収集したデータがまとまっています。これだけサンプル数が多いとエクセルでグラフ化するのも一苦労^^;; 現在はエクセル付属のVisual Basicを使ってグラフ化を自動化しています。

次にセルに張りつけるラベルを作成してみましょう。最近秋葉原で安売りされているCASIOのNAME LAND KL-E20はエクセルデータを取り込んでラベルシールを作成する機能を持ち合わせています。ターボマッチャーのデータをエクセル化した僕にうってつけの機能♪

   
エクセルデータをラベル印刷ソフトに取りこんだところ。手入力しなくていいので間違いないです♪
   
好みの画像をつけて印刷することもできます。かっこいいロゴを作るといいかもしれませんね〜