RS-232C簡易レベルコンバータ&RS232Cピンヘッダを引っ張り出す
RS232C簡易レベルコンバータを作りました。 74HC04を使った簡易的なものです。ELM氏の記事を参考に、製作しました。
http://elm-chan.org/docs/rs232c.html
回路図です。
説明
RS232Cのスレッショルドはたいていの場合CMOSに近い2v付近にあるそうで、このような方法で変換できるとのことです。 左端のピンソケットに、Rx,Tx,DTR,GNDの順に接続して使うようになっています。Dサブコネクタは高くて買えないので、ピンヘッダで妥協します。 ついでに、DTRから電源を取れるようにしています。DTRが有効な場合は10v程度が出ているはずなので、ダイオードを介し、三端子レギュレータで5vにして電源にします。 PCの仕様によっては、DTRから6v程度しか出ていない場合があります。そのような場合は、低ドロップタイプの三端子レギュレータを使うとよいと思います。 いずれにしても、外部の回路に電源を供給するような余裕はないので、よほど低消費電力な機器を接続するのでないかぎり、外部から電源を供給したほうがよいと思います。
ピンヘッダから引っ張り出す
悲しいことですが、最近のPCは、RS232Cが外に出ていないものが多いです。 しかし、多くの機種では、マザーボード上のピンヘッダとしてまだ生き残っています。これを利用しない手はありません。
拡張スロットの近くにある5x2のピンヘッダ、COM1 がシリアルポートです。 ドライバにはUTC製の75232が使われています。
少なくとも私のPCでは、以下のようなピン配列となっています。
1:DCD 2:RXD
3:TXD 4:DTR
5:GND 6:DSR
9:RI
10はNC
これは、通常のDサブ9ピンと同じ配列です。
これを利用し、ピンヘッダから拡張スロットへDサブ端子を引き出す製品も販売されています。 RS-300 | Ainex
ただ、こういうのは結構値段がするので、私は外に引き出すケーブルを自作することにしました。 基本的には、RXと、TX、GNDの三線さえあれば通信できてしまいます。今回は電源もほしかったので、DTRも使い、 合計4信号を外部に引き出すこととします。
7,8ピンはジャンパピンでショートします。こうすることで、フロー制御が無効になり、いつでも送信が可能になります。
ケーブルには、キーボードのPS/2ケーブルの残骸を使いました。4線以上のケーブルであれば、基本的にはなんでもよいと思います。 おすすめは、いらなくなったLANケーブルです。コネクタを切り落として直接ケーブルを半田付けすればよいです。
ユニバーサル基板などに2x3のピンソケットを半田付けし、その上でケーブルを半田付けします。接着しておくとより安定します。 2(RXD),3(TXD),4(DTR),5(GND)ピンさえ取り出せればよいです。ほかのピンを取り出してもあまり意味はありません。
半田付けが終了したら、PCに取り付けます。
以上、これで、自由にRS232C通信ができるようになりました。
RXD と TXD をショートさせ、ターミナルソフトで適当な文字列を打ってみます。 このとき、打った文字列がそのまま帰ってきたら成功です。 帰ってこなければ接続を再確認する必要があります。