第4章 インタフェース付きリモートコントロールスイッチ
1 開発コンセプト
製作の手軽さから、自作リモコンのほとんどはトグルスイッチを使って作られている。しかし、2回路両跳ね返り型のトグルスイッチは種類も限られており1個当たりの値段も比較的高い。トグルスイッチ型4CH(チャンネル)リモコン(図14−@)を試作したが、製作総費用は約1500円となった。トグルスイッチは、値段相応の高級感は感じられるが、跳ね返りのバネが堅く、操作性の面では教材会社から販売されているものと大差がないと考えられる。 次に、比較的安価で視覚的な効果が得られ、操作性も優れているタッチ式のLED付きタクトスイッチを使った小型で手軽に持ち運べるリモコンを考えた。タクトスイッチ型3CHリモコン(図14−A)を試作した後、インタフェースを組み込んだタクトスイッチ型4CHリモコン(図14−B)を製作した。 従来のインタフェースでは、コンピュータのプログラムでしか制御できないので、少しだけモータを回転させたい時などは不便である。今回、コンピュータとロボットに接続したままの状態(図15)で、コンピュータ制御及びマニュアル操作ができるリモコンを考えた。
@トグルスイッチ型4CH(チャンネル)リモコン試作品
Aタクトスイッチ型3CHリモコン試作品
Bタクトスイッチ型4CHリモコン試作品
図14 リモコンの試作
3モータ・4モータ缶運びロボット | ||||
10ピン端子 | ||||
↑8OUT ↓2IN 接続ケーブルB |
||||
10ピン端子 | ||||
インタフェース付きリモートコントロールスイッチ |
||||
10ピン端子 | ||||
↑8OUT ↓2IN 接続ケーブルA |
||||
プリンタ端子
(セントロニクス仕様準拠) |
||||
コ ン ピ ュ ー タ |
図15 リモコンの接続
![]() |
図16 インタフェース付きリモートコントロールスイッチ |
2 モータ制御用IC(TA7291P)
T社製TA7291P6)は、正・逆転・ストップ・ブレーキの4モードがコントロールできる DCモータ用フルブリッジドライバである。 定格電圧は4.5〜20Vで、出力電流は、1.0A(AVE.)及び2.0A(PEAK)を取り出せる。また、熱遮断回路と出力端子プロテクタ回路や、逆起電力吸収用ダイオードも内蔵されている。 今回の製作では使用しなかったが、このTA7291Pはモータ電圧をリニア制御できるVref(制御電源電圧)端子を持っており、モータへの印加電圧調整もできる。ただし、Vref≦Vs(出力側電源電圧)としておく必要がある。この端子の活用については今後の課題としたい。
![]() |
図17 TA7291P |
表9 端子説明
端子記号 | 端子番号 | 端子説明 |
Vcc | 7 | ロジック側電源端子 |
Vs | 8 | 出力側電源端子 |
Vref | 4 | 制御電源端子 |
GND | 1 | GND |
IN1 | 5 | 入力端子 |
IN2 | 6 | 入力端子 |
OUT1 | 2 | 出力端子 |
OUT2 | 10 | 出力端子 |
BH番端子はNC端子
表10 ファンクション
入 力 | 出 力 | モ ー ド |
||
IN1 | IN2 | OUT1 | OUT2 | |
0 | 0 | ∞ | ∞ | ストップ |
1 | 0 | H | L | 正 転 |
0 | 1 | L | H | 逆 転 |
1 | 1 | L | L | ブレーキ |
∞:ハイインピーダンス
3 インタフェース付きリモートコントロールスイッチの回路図
![]() |
図18 モータドライブ回路 |
![]() |
図19 BUSY入力回路 |
![]() |
図20 レギュレータ回路 |
4 インタフェース付きリモートコントロールスイッチの部品配置図と部品表
![]() |
図21 インタフェース付きリモートコントロールスイッチ部品配置図(部品面より) |
表10 インタフェース付きリモートコントロールスイッチ基板部品表
番号 | 品 名 | 規 格 | 数量 | 参考単価 |
@ | 基盤 | S社製・ポジ感光基盤12K | 1 | 390 |
A | スイッチ | O社製・LED付タクトスイッチ BJ3-**** | 8 | 100 |
B | コントロール用コネクタ | N社製・2.5oピッチNHコネクタ・10ピンL型プラグ | 2 | 60 |
C | 電源用コネクタ | 〃 ・2ピンL型プラグ | 1 | 15 |
D | モータドライブ用IC | T社製・TA7291P | 4 | 200 |
E | BUSY端子用IC | SN74LS04N | 1 | 50 |
F | 発光ダイオード LED | T社製・TLR102A | 1 | 30 |
G | 抵抗 R1〜R8 | 10kΩ | 8 | 5 |
H | 抵抗 R9〜R16 | 390Ω | 8 | 5 |
I | 抵抗 R17〜R18 | 1kΩ | 2 | 5 |
J | セラミックコンデンサ C3〜6 | 0.1μF | 4 | 20 |
K | レギュレータ | P社製・24A05 9920J(5V・2A) | 1 | 200 |
L | セラミックコンデンサ C1 | 0.1μF | 1 | 25 |
M | 電解コンデンサ C2 | 50V・33μF | 1 | 20 |
5 製作手順
(1) 基板の製作(図22、23参照)
@ パターンを製作し、OHPシートに印刷する。
A 感光基板にパターンを焼き付け、エッチング処理を行う。
B 部品の取り付け穴をあける(φ0.8半月ドリル、φ2.5、φ3.0ドリルを使用する)。
C 穴あけ後、スイッチを位置確認のため取り付ける(半田づけは後で行う)。
(2) 外装部品の製作(図24参照)
@ 2o厚塩化ビニール板を122×88oの大きさで切り取り、カット用シートを張り付け、固定用の穴をあける。(φ3.2ドリル)
A 縦フライス盤でスイッチ穴、コネクタ穴を加工する。(φ2.0エンドミル)
B 角に丸みをつけ、仕上げる。
(3) 組み立て
@ 基板にジャンパ線、抵抗、コネクタピン、IC、コンデンサ、発光ダイオード、スイッチを取り付ける(図21、表10参照)。
A スイッチとスイッチ穴との微調整を行いながら、ボルト・ナットで基板を固定板に固定する(図25、表12参照)。
(4) 動作チェック
@ ACアダプタ電源をつなぎ、リモコンのスイッチを押して発光ダイオードの点灯を確認する。
A ロボットへの出力端子0、1にモータ1、出力端子2、3にモータ2、出力端子4、5にモータ3、出力端子6、7にモータ4接続して、リモコンのスイッチによりそれぞれのモータが正・逆回転する事を確認する。
B ロボットからの入力端子Gと+をショートさせ、BUSY端子用発光ダイオードが点灯することを確認する。
![]() |
図22 プリントパターン図(パターン面より) |
![]() |
![]() |
![]() |
![]() |
図23 プリント基板の製作
![]() |
![]() |
![]() |
図24 固定板(表)の加工
図25 インタフェース付きリモートコントロールスイッチ外装部
表12 インタフェース付きリモートコントロールスイッチ外装部品表
番号 | 品 名 | 規 格 | 数量 | 参考単価 |
@ | 固定板(表) | 塩化ビニール板 122×88×2o | 1 | |
A | 固定板(裏) | 塩化ビニール板 122×88×2o | 1 | |
B | スペーサ | φ5×5o | 8 | 10 |
C | ボルト | M3×20o | 4 | |
D | ナット | M3 | 8 |
6 プリンタ接続とモータ制御
(1) プリンタ端子
パソコンや周辺機器で使われているコネクタはメーカ側の都合によって決められることが多く、まちまちであり、互換性を損なう原因の一つにもなっているが、ここで使用するセントロニクス仕様準拠プリンタコネクタ端子(36ピン)は、現在でも広く一般的に使われている。今回はコンピュータからの出力信号を「DATA0〜DATA7」までの8端子とコンピュータへの入力信号の「BUSY」端子、「GND」端子の合計10端子を使用した。
図26 接続ケーブルA(プリンタ端子への配線図)
![]() |
![]() |
@リモコン用10ピンコネクタ端子 | Cセントロニクス仕様準拠36ピンプリンタ端子ソケット |
図27 接続ケーブル用端子
表14 接続ケーブルA(コンピュータ−リモコン接続)部品表
番号 | 品 名 | 規 格 | 数量 | 参考単価 |
@ | リモコン用コネクタ | N社製2.5oピッチNHコネクタ・10ピンハウジング | 2 | 60 |
A | コネクタピン | N社製2.5oピッチNHコネクタ・ピン | 10 | 9 |
B | 接続ケーブル | 10芯・2m | 1 |
200/m |
C | プリンタ端子ソケット | 36ピンソケット 58-40360 | 1 | 480 |
表15 接続ケーブルB(ロボット−リモコン接続)部品表
番号 | 品 名 | 規 格 | 数量 | 参考単価 |
@ | リモコン用コネクタ | N社製2.5oピッチNHコネクタ・10ピンハウジング | 2 | 60 |
A | コネクタピン | N社製2.5oピッチNHコネクタ・ピン2.5oピッチ | 20 | 9 |
B | 接続ケーブル | 10芯・2m | 1 |
200/m |
注)接続ケーブルBはコネクタ端子をストレートに接続する。
(2) BASICによるモータ制御
制御にはパソコン側から出力するだけのシーケンス制御と、機械の側からの信号を入力して判断し、状況に応じて出力するフィードバック制御がある。BASICで外部機械に対し出力するには、OUT命令を使用する。また、外部機械からの信号を得るには、INP関数を使用し、その結果を判断するためにIF文を使用する。N88日本語BASIC(86)ではAND演算子を使うが、UBASIC7)ではBIT関数を使う。このときの番地指定はコンピュータの仕様により異なる(表16)。
表16 プリンタ入出力命令8)
|
|
(3) プログラム例
プログラム例1は、N88BASIC(86)で作成した。4モータ缶運びロボットが前進して缶に当たる(マイクロスイッチがオンとなりBUSY信号がインタフェースに入る)と、アームで缶をつかみ、持ち上げ、後ろへ下がって、再び前進して缶をゴールの上に載せるプログラムである。 プログラム例2は、UBASICで作成した。4モータ缶運びロボットの操作をコンピュータのキーボードから行うプログラムである。
10 'SAVE "C:MOTOR7.BAS",A
20 CLS 3
30 P=&H40
40 A = INP(&H42) AND &H4
50 LOCATE 0,0:PRINT A
60 GOSUB *SUSUME
70 IF A=4 THEN 100
80 IF A=0 THEN 30
90 'MAIN PROGRAM
100 GOSUB *HASAME
110 GOSUB *MATE4
120 GOSUB *TOMARE
130 GOSUB *MATE1
140 GOSUB *AGERO
150 GOSUB *MATE2
160 GOSUB *MODORE
170 GOSUB *MATE2
180 GOSUB *TOMARE
190 GOSUB *MATE1
200 GOSUB *AGERO
210 GOSUB *MATE2
220 GOSUB *TOMARE
230 GOSUB *MATE1
240 GOSUB *SUSUME
250 GOSUB *MATE4
260 GOSUB *SAGERO
270 GOSUB *MATE2
280 GOSUB *HIRAKE
290 GOSUB *MATE4
300 GOSUB *MODORE
310 GOSUB *MATE2
320 GOSUB *SAGERO
330 GOSUB *MATE2
340 GOSUB *TOMARE
350 END
360 *TOMARE
370 OUT P,0:PRINT "テイシ"
380 RETURN
390 *MATE1
400 FOR W=O TO 10000:NEXT W:PRINT "マチ1"
410 RETURN
420 *MATE2
430 FOR W=O TO 20000:NEXT W:PRINT "マチ2"
440 RETURN
450 *MATE3
460 FOR W=O TO 30000:NEXT W:PRINT "マチ3"
470 RETURN
480 *MATE4
490 FOR W=O TO 40000!:NEXT W:PRINT "マチ4"
500 RETURN 510 *HASAME
520 OUT P,4:PRINT "ハサンデイマス"
530 RETURN
540 *HIRAKE
550 OUT P,8:PRINT "ヒライテイマス"
560 RETURN
570 *AGERO
580 OUT P,32:PRINT "モチアゲテイマス"
590 RETURN 600 *SAGERO
610 OUT P,16:PRINT "サゲテイマス"
620 RETURN 630 *SUSUME
640 OUT P,65:PRINT "ゼンシンシテイマス
650 RETURN 660 *MODORE
670 OUT P,130:PRINT "コウシンシテイマス"
680 RETURN
プログラム例2 UBASICによるモータ制御 (DOS-V/AT互換機)
10 'ASAVE "A:MOTOR8.UB"
20 cls 3
30 P=0x0378:out P,0
40 locate 0,0:print "中断はCTRL+C e=stop"
50 locate 5,2:print " 上 ↑・ ↑↑ ・↑"
60 locate 5,3:print " w 7 8 9"
70 locate 5,5:print " a s d 4 5 6"
80 locate 5,6:print " 開 止 閉 ↑↓ 止 ↓↑"
90 locate 5,8:print " z 1 2 3"
100 locate 5,9:print " 下 ↓・ ↓↓ ・↓"
110 'main program
120 A=inkey
130 if A="" then 120
140 if A="1" then D=2:H="↓・"
150 if A="2" then D=130:H="↓↓"
160 if A="3" then D=128:H="・↓"
170 if A="4" then D=129:H="↑↓"
180 if A="5" then D=0:H="止 "
190 if A="6" then D=66:H="↓↑"
200 if A="7" then D=1:H="↑・"
210 if A="8" then D=65:H="↑↑"
220 if A="9" then D=64:H="・↑"
230 if A="s" then D=0:H="止 "
240 if A="a" then D=8:H="開 "
250 if A="d" then D=4:H="閉 "
260 if A="w" then D=32:H="上 "
270 if A="z" then D=16:H="下 "
280 if A="e" then D=0:goto 320
290 gosub *Hyouji
300 out P,D
310 goto 120
320 out P,D:end
330 *Hyouji
340 locate 20,11:print "01234567"
350 locate 15,12:print H;" ";
360 for S=0 to 7
370 if bit(S,D)=1 then print "○"; else then print "●";
380 next S:return