ROBOとBluetoothで通信する(その1)

ロボとの無線通信は赤外線リモコンとラジコンが提供されているものの、ちょっと物足りないので、無線ゲームパッドによるロボ操作(+双方向通信)を目標に、Bluetooth化を検討した

基本方針
  • PC−ロボ間を無線(BT)化してから、ゲームパッド−ロボ間をBT化する
  • ロボ側の機材は機体内部に収納し、機体の外側に貼付けない
  • ベンダ提供のラジコンと同じ、変数RRによるコマンドI/Fを利用
    ※ロボ側からのデータ送受制御手段がないのは考慮済み

BT送受信器
ロボ側はZEALピッチ変換モジュール(BTX047)を、PC側は当初PlanexのBT-Micro3E2Xを使っていたが、現在はPC内蔵に。
このほか、ZEALの各種設定用にBTX026が必要。設定作業はBlogに書いた。

I/F回路を自作
ZEALとCPUボードをつなぐ自作基板の回路図が右上で、端子部の矢印は入出力の方向を示す。
その役割は、CPUボードからの5v電源を3.3vに降圧してZEALに供給する他、CPUボードの出力信号をレベル変換(5v→3.3v)と論理反転してZEALに渡す。一方ZEALの出力信号は3.3vのまま論理反転だけでCPUボードに渡す。
信号のレベル変換と論理反転をするICがTC4049。このICは入力耐圧が18v固定なので、信号レベル変換(降圧)に使える。4049は昔(ン十年前)回路設計が仕事の一部だった頃に慣れ親しんだ懐かしいIC。三端子レギュレータはTA48M33F。

自作基板の写真が右下。部品実装後に2度も設計変更したため(^_^;;)雑然とした外観になってしまった。(言い訳)

結果
ROBOZAKの付属ソフトであるroboRemoconを使用して、PCからBT通信でロボCPUの制御に成功。

なお、乾電池4本の6v電源を使って実測した消費電流は次のとおり
  • 自作基板単独 → 約 1mA
  • ZEALを接続  → 30〜40mA


 (ブラウザの拡大表示機能を使うとよいかも)

  • R1はプルアップ抵抗
  • R2も同趣旨のプルダウン
    尚、R2とCPUボード側の出力抵抗R6との抵抗比で、端子RingのHighレベル信号電圧が決まる点に注意
  • R3とR4はプラグジャック挿抜時の電極ショート対策
    R4は手持ち部品から22Kを選択したが、33Kの方がよさそう
  • C3はパスコン、悩んだ末に実装省略
修正履歴:R3を3.3K→12Kに変更、R4を追加(2011.10.15)
     R2を33Kに変更、R3を1.5Kに変更、R4を33Kに変更(2018.5.6)

信号線の説明(上から順)
  • 赤:Ring(CPUボードのプラグジャック)
  • 白:Tip(同上)
  • 白:RX(ZEAL)
  • 青:TX(ZEAL)
  • 赤:3.3v電源出力(ZEAL)
  • 黒:GND(ZEAL)
  • 黒:GND(CPUボード)
  • 赤:5v電源入力(CPUボード)

※この記事が何かのお役にたつことを願っていますが、記事内容についてのいかなる保証もしません