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    390
 A スイッチ O社製・LED付タクトスイッチ BJ3-****    100
 B コントロール用コネクタ N社製・2.5oピッチNHコネクタ・10ピンL型プラグ    60
 C 電源用コネクタ   〃         ・2ピンL型プラグ    15
 D モータドライブ用IC T社製・TA7291P    200
 E BUSY端子用IC SN74LS04N    50
 F 発光ダイオード  LED T社製・TLR102A    30
 G 抵抗 R1〜R8 10kΩ     5
 H 抵抗 R9〜R16 390Ω     5
 I 抵抗 R17〜R18 1kΩ     5
 J セラミックコンデンサ C3〜6 0.1μF    20
 K レギュレータ P社製・24A05 9920J(5V・2A)    200
 L セラミックコンデンサ C1 0.1μF    25
 M 電解コンデンサ  C2 50V・33μF    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  
 A 固定板(裏)   塩化ビニール板 122×88×2o  
 B スペーサ φ5×5o    10
 C ボルト M3×20o  
 D ナット M3  

 

6 プリンタ接続とモータ制御

 (1) プリンタ端子

 パソコンや周辺機器で使われているコネクタはメーカ側の都合によって決められることが多く、まちまちであり、互換性を損なう原因の一つにもなっているが、ここで使用するセントロニクス仕様準拠プリンタコネクタ端子(36ピン)は、現在でも広く一般的に使われている。今回はコンピュータからの出力信号を「DATA0〜DATA7」までの8端子とコンピュータへの入力信号の「BUSY」端子、「GND」端子の合計10端子を使用した。

 

       

 

図26 接続ケーブルA(プリンタ端子への配線図)

@リモコン用10ピンコネクタ端子 Cセントロニクス仕様準拠36ピンプリンタ端子ソケット

図27 接続ケーブル用端子

 

表14 接続ケーブルA(コンピュータ−リモコン接続)部品表

番号 品  名 規  格 数量 参考単価
 @ リモコン用コネクタ N社製2.5oピッチNHコネクタ・10ピンハウジング    60
 A コネクタピン N社製2.5oピッチNHコネクタ・ピン 10     9
 B 接続ケーブル 10芯・2m

 200/m
 C プリンタ端子ソケット 36ピンソケット 58-40360    480

  表15 接続ケーブルB(ロボット−リモコン接続)部品表

番号 品  名 規  格 数量 参考単価
 @ リモコン用コネクタ N社製2.5oピッチNHコネクタ・10ピンハウジング     60
 A コネクタピン N社製2.5oピッチNHコネクタ・ピン2.5oピッチ 20     9
 B 接続ケーブル 10芯・2m

 200/m

  注)接続ケーブルBはコネクタ端子をストレートに接続する。 

 (2) BASICによるモータ制御

 制御にはパソコン側から出力するだけのシーケンス制御と、機械の側からの信号を入力して判断し、状況に応じて出力するフィードバック制御がある。BASICで外部機械に対し出力するには、OUT命令を使用する。また、外部機械からの信号を得るには、INP関数を使用し、その結果を判断するためにIF文を使用する。N88日本語BASIC(86)ではAND演算子を使うが、UBASIC7)ではBIT関数を使う。このときの番地指定はコンピュータの仕様により異なる(表16)。  

表16 プリンタ入出力命令8)

関  数 OUT INP     
  出力番地 入力番地 ビット位置 
N88日本語BASIC(86) 9801/EPSON &H40 &H42 2(AND 4)
UBASIC      DOS-V/AX 0X0378 0X037D 7(AND 128)
 

 

   (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