RS-232Cを使ってWindowsのコマンドプロンプトから電磁弁を直接動作させる:注目デバイスで組み込み開発をアップグレード(3)(2/3 ページ)
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第3回は、現在も広く利用されているレガシーインタフェースであるRS-232Cを使って、WindowsベースPCのコマンドプロンプトからの操作だけで電磁弁を制御してみる。
ASCIIコード表
ここからは、Wikipediaの「ASCII」の項目に掲載されているASCIIコード関連の表を使います。以降、適宜参照してください。
ASCII制御文字の表を見れば、各文字がどのようなビット列を出力するかが分かります。ASCII制御文字の表の左側に2進の列があります。ここで、ゼロの数が多いほど高い電圧の信号が多く出力されることになります。最も多くのゼロが並んでいる文字は「NULL」なのですが、これは容易にキーボードで打てる文字ではありません。NULLの次に、ゼロがなるべく多くてキーボードから容易に打てる文字は何でしょうか。
次にASCII印字可能文字の表をご覧ください。「SP(スペース)」の16進コードは「0x20」、2進に直すと「0010 0000」ですね。これは8ビットの中で1が1つしか出てこないので、この用途としては正解なのですが、ビジュアル的に分かりづらいという欠点があります。例えば、この記事でコマンドのサンプルを示す場合、幾つスペースが並んでいるか読者には判断しづらいですよね。
そこで次の候補を探すことにしました。答えから言いますと「@」です。16進では「0x40」なので、2進では「0100 0000」ですね。SPとは1の位置が異なりますが、8ビット中のゼロの数は変わりません。またRS-232Cの場合、文字を何も出力しない場合は常に1ですからTxDのピンからは−15〜−3Vが出力されていることになります。
接続と制御回路
図2はRS-232Cと電磁弁との接続を示しています。赤色のケーブルとつながっているコネクターの3番ピンがTxD、茶色のケーブルとつながっている5番ピンがグランドです。白色のケーブルとつながっている2番ピンはRxD(受信)ですが、今回の制御回路では使っていません。なお、接続に用いているケーブルですが、ブレッドボードの電子工作などでよく用いられるメスのジャンパーケーブルが、このRS-232Cコネクターのオスのピンとぴったりはまるのでこのような用途ではとても重宝しておりよく使っています。
図3は電磁弁を駆動する回路です。FETとして「SUP85N15-21」を使っています。最初はトランジスタで回路を組んだのですが、RS-232Cの出力電流ではトランジスタを制御するには不足で、入力インピーダンスの高いFETを使いました。ここではたまたま手元にあったこの型番のFETを使いましたが、パワー系のNMOS FETであれば何でも使えると思います。
今回使用した電磁弁のスペックを見て頂ければ分かると思うのですが、電流が160mA以下とありますので、それほど大容量のFETでなくても大丈夫そうですね。あとFETのパッケージ内に保護用のダイオードが入っていますので電磁系の制御には適していると思います。この辺りは、以下の筆者の過去記事を参照してください。
この回路ではRS-232Cが0(+3〜+15V)を出力すると電磁弁の電磁石に電流が流れます。“@”を出力した場合8ビット中ゼロが7個、1が1個になります。本来全てのビットがゼロの方が良いのですが、1が混じります。また文字と文字の間に1が挟まります。このため、多少電磁弁の動作がバタつくことがあるので、FETのゲートと並列にコンデンサーを入れてあります。
Copyright © ITmedia, Inc. All Rights Reserved.