GP232 (シリアル-GPIBコンバータ)

使用している測定器には全部にGPIBポートがついています。せっかくなので使ってみようと思いましたが、GPIBインタフェースは値段が高いので手が出ません。


  1. 状況
  2. 回路
  3. 製作
  4. 調整
  5. 感想

状況

トラ技2005.2にGP232なるシリアル-GPIBコンバータが掲載されていました。自分で作るのも面倒なので、こいつでいこう!!幸いPIC16F876を持っているし、部品数が少なくて作るの楽そうだし。

あっ!!PICライタがない・・・というわけで、ライタを作りました。JDMライタはこのために作成したのでした。

追加購入部品がいくらもないので財布も楽です。購入したのは下記の通りです。(値段は記憶に頼っているので多少違うかもしれません)

部品名 型番 値段 販売店
フォトカプラ TLP555 250円 サンエレクトロ(ラジオデパート)
フォトカプラ TLP558 300円
水晶発振器 EXO-3 18.432MHz 270円
GPIB用コネクタ パネル用メス 200円 千石電商
GPIB用コネクタ フラットケーブル用オス 410円
フラットケーブル 26芯 260円/m オヤイデ

GPIBバスケーブルは普通に買うとそれだけでン万円してしまうので、こちらも作ります。なお通常のバスケーブルはコネクタが特殊(スタックできる)なのですが、そんなものは売っていないし、売っていても高いでしょうから、普通のセントロニクス24ピンを使用しました。

それでもGPIB用コネクタは結構高いです。圧着用ですと410円もしますし、測定器の数+1個必要なのでばかになりません。実験室(=我が家)にはGPIB付きの測定器は6台あるのでコネクタは7個必要で、それだけで3000円近くになってしまいます。フラットケーブルとあわせれば4000円近くになります。結局ケーブル代が一番高くなってしまいました。

ハンダ付け用のコネクタなら半値近いのですが、7個x24ピンもハンダ付けするのなんかやってられませんから、フラットケーブルを圧接するのがおすすめです。

したがってケーブルはシールドなどがされていませんからちゃんとしたものに比べれば少し不利ですが、問題なく動作しています。


回路

トラ技にある通りなので省略します。また、作者のページにも回路図が掲載されています。トラ技掲載のものは問題ないのですが、作者のページのものはRENとEOIの接続が間違っているので注意します。

またPICのファームウェアはトラ技のダウンロードサービスに登録されています(2005年2月号)。


製作

製作も簡単です。が、意外と時間はかかりました。

部品点数は少ないです

ヘッダピンはGPIBの全信号線と電源グランドです

ケースも秋月のプラスチックケースですので安価(100円)

ケース加工は適当にニッパで切りましたのでちょっと汚いです。

圧着は本来専用の工具が必要ですが、こちらもン万円?とかしちゃいそうなので万力で圧着しました。24ピンだと相当な力が必要なので、かなりしっかりした万力が必要でした(普通、万力はしっかりしていますが・・・)。


動作

配線ミスさえなければ、動作するはず。

えいやっと、使ってみたら簡単に動きました。

PCとはシリアル接続なのですが、115200bpsで順調に動作しました。また、USB-シリアル変換器(秋月電子で売っているもの)を使ってUSB接続で使ってみたところ問題なく動作しました。EasyGPIB使用。

たとえば、接続されている測定器のIDを順次取得するマクロは次のようになります。シリアル接続を115200bpsで行うためにeg.CardOpenではなく、egDef.CardOpenを使っています。

Sub Macro1()

'

' Macro1 Macro

'

' Tektro TDS-200 1

' HP 34401A 22

' HP 34401A 23

' HP 33120A 10

' HP E3631A 5

' HP 5385A 3

'

'eg.CardOpen

egDef.CardOpen 3, 115200

'

eg.ActiveAddress = 1

eg.AsciiLine = "*IDN?"

Worksheets("sheet1").Cells(4, 3) = eg.AsciiLine


eg.ActiveAddress = 10

eg.AsciiLine = "*IDN?"

Worksheets("sheet1").Cells(5, 3) = eg.AsciiLine


eg.ActiveAddress = 22

eg.AsciiLine = "*IDN?"

Worksheets("sheet1").Cells(6, 3) = eg.AsciiLine

eg.ActiveAddress = 23

eg.AsciiLine = "*IDN?"

Worksheets("sheet1").Cells(7, 3) = eg.AsciiLine


eg.ActiveAddress = 5

eg.AsciiLine = "*IDN?"

Worksheets("sheet1").Cells(8, 3) = eg.AsciiLine


eg.ActiveAddress = 3

eg.AsciiLine = "ID"

Worksheets("sheet1").Cells(9, 3) = eg.AsciiLine

eg.CardCLose


End Sub


感想

GPIB制御ができるようになってうれしいです。スピードも速いし、つなぎ変えも不要ですし。


(2006.1.29)