Infanoid | Keepon | ClayBot
日本語 | English
ロボット素材 ClayBot

ClayBot(クレイボット)とは,さまざまなロボットを実現するための素材群です.もともは Infanoid や Keepon に共通した電子回路やソフトウェアとして開発されました.この素材群を,さまざまな研究者(とくに心理・教育・福祉などを専門とする人)や理科教育の実践者,そして趣味でロボットを作りたい人に,〈夢をカタチにする素材〉として使っていただきたいと考えています.

【回路素材:Pico・Poco・Peco】

ロボットを設計するとき,いちばん時間のかかる部分が,モータを動かすための電子回路です.さまざまなボードコンピュータが市販されていますが,そのサイズ,ソフトウェア,エンコーダやモータとの接続など,設計者が自力で解決しなければならない問題がたくさん残されています.そこで ClayBot では,モータの動きを数値制御する〈制御コンピュータ〉,モータを電気駆動する〈モータドライバ〉,そして PC と接続するための〈通信コンバータ〉を用意しました.これら素材を利用することで,設計者はロボットの全体的なデザインに集中することができるでしょう.

いままでに以下の回路素材を開発し,Infanoid・Keepon に活用してきました.すべて 60mm×40mm を共通基板サイズとしています.

写真:Pico-2の基板(表/裏) 写真:Poco-14の基板(表/裏) 写真:Poco-42の基板(表/裏) 写真:Peco-2の基板(表/裏)
Pico-2・Poco-14・Poco-42・Peco-2 (上=表/下=裏)
制御コンピュータ Pico-2 のハードウェア

Pico-2 は,さまざまな目的に利用できる小型コンピュータです.とくにエンコーダつきのDCモータの制御を得意としています.大きさは 60mm×40mm で,厚みは10mm 程度.その心臓となる SH2(32ビットRISCプロセッサ;50MHz 動作で約60Mips)は放熱のために裏面に配置し,表側には ZEN2044F(エンコーダ読み取り IC)・LED・スイッチ・コネクタなどを配置してあります.電源のコネクタ形式は JST/XH(1番ピンが+),その他のコネクタ形式は JST/SH(ピン配列は回路図を参照)となっています.電源は DC 6〜16V です.

写真:表面にZEN2044Fと裏面にSH2を配置したPico-2量産基板 図:Pico-2の回路構成(ブロック図)
Pico-2 の外観(表/裏)と回路構成(ブロック図)

後述のモータドライバ Poco を接続(POCOX/Y)することで,4つのモータ(MOT0−3)を独立制御することができます.また,モータを流れる電流をモニタする機能(SEN)があり,トルク制御などに利用できます.

【モータおよびエンコーダとの接続】

各モータ(MOT0−3)に印加される電圧は,PWM 信号と回転方向を表わす DIR 信号として出力されます.PWM 信号の周期は 24KHz です.DIR=0 のとき CW (clockwise) 方向,すわなちモータ単体を出力軸側から見たとき時計回りの方向となります.また,DIR=1 のときは,その反対の CCW (counter-clockwise) 方向となります.これら信号で直接モータを駆動することはできません.モータドライバ Poco のようなHブリッジを利用してモータを駆動することになります.また,モータ電流をモニタする場合は,モータと直列にシャント抵抗(0.1〜1Ω程度)を挿入し,その両端の電圧をオペアンプなどで 0〜5V に増幅して SEN に入力することになります.(モータドライバ Poco には,シャント抵抗や増幅回路が内蔵されています.)

図:Pico-2からモータおよびエンコーダへの接続の様子
モータおよびエンコーダとの接続
(POCOY 端子についても同様)

エンコーダからの信号は,A相・B相のみを受け取ります.Pico-2 内部では,この A/B 信号を解析することで,エンコーダ1回転あたりのパルス数を4倍にして読み取ります.たとえば,100 パルス/回転のエンコーダの場合,Pico-2 から見ると 400 カウント/回転となります.エンコーダからの信号は,TTL 出力でもオープンコレクタ出力でも構いません.エンコーダに 5V 電源を供給する能力があるため,モータ駆動電源を OFF にした状態でもエンコーダを生かしておくことができます.

【ホスト PC との接続】

Pico-2 はホスト PC からの指令にもとづいてモータを制御します.ホスト PC との通信には,RS-485 規格のシリアル通信を利用し,スタートビット1・データビット8・ストップビット1・パリティなし・通信速度 38400bps を標準としています.実際に PC と接続するときは,RS-232C の信号を(後述の Peco-2 などを利用して)RS-485 に変換し,Pico-2 の PORTX または PORTY に接続することになります.また,R+ と R− の線をツイストペアに,T+ と T− の線をツイストペアにすることで,外来ノイズへの耐性を高めることができます.

図:ホストPCから複数のPico-2が数珠つなぎ状に接続する様子
シリアル通信線の接続方法

1台の PC に,複数の Pico-2 を数珠のように接続することができます.それぞれの Pico-2 に固有のアドレス(5bit = 0〜31)を与え,ホスト PC から区別できるようにします.最大32台の Pico-2 を1つの通信線に接続することができます.PC から一番遠い(つまり通信線の終端に位置する)Pico-2 だけ,設定スイッチの SW8・9 を ON にして「ターミネータ」と呼ばれる終端抵抗を有効にしてください.それ以外の Pico-2 については,SW8・9 を OFF にしてください.また,PC に直接接続された RS-232C〜485 変換装置(Peco-2 など)の RS-485 側にも終端抵抗(100〜150Ω)を入れてください.

【その他の機能】

汎用入出力: Pico-2 は,デジタル入出力ポート4端子(LIO0−3;10KΩ でプルアップ),デジタル/アナログ入力ポート8端子(ALINX0−3・ALINY0−3;プルアップなし)を持っています.これらポートは,モータ制御とは独立していますので,ユーザがプログラムから利用することができます.

ラジコン用サーボの制御: Pico-2 は,4台までのラジコン用サーボの制御信号を出力することができます.パルス周期 10.667ms,標準パルス幅 1.5ms の PWM 信号を4系統,RCS0−3 端子から出力します.パルス幅は,ユーザがプログラムから自由に変更することができます.

LED: Pico-2 の表面には,5つの赤色 LED1−5 があります.これらは,ユーザがプログラムから自由に点灯・消灯させることができ,内部状態の表示などに利用できます.

SW1−9: Pico-2 の表面には,10極のディップスイッチがあります.SW1−5 の状態はユーザがプログラムから利用することができますが,通常はアドレス設定に利用します.SW6 はフラッシュ=メモリの書き込み許可,SW7 はブートスイッチ,SW8・9 は通信線の終端抵抗を有効にするスイッチです.なお,SW10 は使用していません.

【取り付け方法】

Pico-2 で最も発熱するのは SH2 と電源レギュレータ(29M05)です.これらを裏面に配置しているので,ロボットなどの構造部材(たとえばアルミの骨格)への放熱経路を確保することができます.具体的には,熱伝導グリス(シリコン系の白いハミガキ状のもの)を SH2 と電源レギュレータのラベル面に塗り,構造部材と密着させます.3.5mm のスペーサを入れてネジ(M2.5〜3)で留めるとよいでしょう.(SH2 の高さは約 3.0mm,電源レギュレータは約 2.3mm です.)

図:Pico-2のSH2等が熱伝導グリスで構造ベースに放熱する様子
放熱を考慮したPico-2の取り付け方法
制御コンピュータ Pico-2 のソフトウェア

Pico-2 を利用するには,後述の BIOS を利用したプログラムを用意し,それを PC 上のクロスコンパイラ(gcc など)でコンパイルします.出来上がった実行可能プログラムを Pico-2 のフラッシュ=メモリ(不揮発性メモリ)に書き込み,そして Pico-2 にそのプログラムを実行させます.

【BIOS】

BIOS (basic input/output system) は,ユーザ=プログラムが Pico-2 のハードウェア資源にアクセスするのを手助けする基本ソフトウェアです.ユーザから見ると BIOS はインタフェース関数の集まりです.現在のところ,以下のようなインタフェース関数が用意されています.(ucharunsigned char に,ushortunsigned short に,uintunsigned int に読み替えてください.)

モータドライバ Poco-14・Poco-42

Poco-14・Poco-42 はそれぞれ小型モータ・中型モータのドライバです.Pico-2 から入力された PWM・DIR 信号に応じた印加電圧で各モータを駆動します.モータ駆動電源は DC12〜36V です.Poco-14 は4つのモータ(1モータあたり瞬間 3A,連続 0.5A まで),Poco-42 は2つのモータ(1モータあたり瞬間 5A,平均 4A まで)を駆動できます.また,エンコーダへの電源供給機能(Pico-2 から)と,エンコーダ信号の中継機能(A相・B相を Pico-2 へ)も持っています.

写真:裏面にHブリッジを配置したPoco-14量産基板 図:Poco-14の回路構成(ブロック図)
Poco-14 の外観(表/裏)と回路構成(ブロック図)
写真:裏面にHブリッジを配置したPoco-42量産基板 図:Poco-42の回路構成(ブロック図)
Poco-42 の外観(表/裏)と回路構成(ブロック図)

どちらの Poco も,60mm×40mm の大きさ(Pico-2 と同じ)で,厚みは約18mm(モータコネクタ装着時)となっています.HブリッジICを裏側に配置し,効率的に放熱できるようにデザインしてあります.コネクタの形式は,Pico-2 と同様で,電源には JST/XH,Pico-2 との接続には JST/SH を採用しています.また,モータとの接続には 2×3=6極(2.54mmピッチ;MIL系)のコネクタを採用しています.モータコネクタのピン配列を下図に示します.(逆向きに接続しないよう気をつけてください.エンコーダに逆電圧がかかって故障する恐れがあります.)

図:モータコネクタのピン配列()
モータコネクタのピン配列
(左:基板上面から;右:コネクタ端面から)
【モータ電流のモニタ】

Poco-14 には8極のジャンパピン(SW3,4 / SW5,6 / SW9,10 / SW11,12)があり,それぞれモータ0 / 1 / 2 / 3の電流をモニタするためのシャント抵抗の値を設定します.また,Poco-42 には4極のジャンパピン(SW2,3 / SW5,6)があり,それぞれモータ0 / 1の電流をモニタするためのシャント抵抗の値を設定します.モータ電流に比例した 0〜5V の電圧を SEN 端子から出力します.モータの大きさ(予想される最大電流)に合わせて,下表を参考に適切なシャント抵抗値を設定してください.

Poco-14 の場合
SW
3, 5, 9, 11
SW
4, 6, 10, 12
最大電流
(A)
モニタ感度
(V/A)
開放 開放 0.3125 16.00
ショート 開放 0.6250 8.000
開放 ショート 0.9775 5.115
ショート ショート 1.290 3.877
Poco-42 の場合
SW2, 5 SW3, 6 最大電流
(A)
モニタ感度
(V/A)
開放 開放 1.364 3.666
ショート 開放 2.728 1.833
開放 ショート 4.278 1.169
ショート ショート 5.642 0.8863
【Pico-2 との接続・モータとの接続】

Pico-2 と Poco の接続は,12極のコネクタつきケーブル(JST/SH)を使います.1本のケーブルでモータ2台分の信号線(PWM/DIR・A/B・V/G・SEN)を接続できます.Pico-2 には POCOX・POCOY のコネクタがあり,それぞれモータ0・1とモータ2・3に対応しています.Poco-14 には同様のコネクタが2つ(PICOX・PICOY)あり,Poco-42 には1つ(PICO)あります.これらをどのような組み合わせで接続しても構いません.

図:Pico-2・Poco-14・モータ=4台の接続例 図:Pico-2・Poco-42=2台・モータ4台の接続例
Pico-2・Poco・モータの接続例(Poco-14 の場合・Poco-42 の場合)
【取り付け方法】

Poco で発熱するのは裏面に取り付けたHブリッジICです.これをロボットなどの構造部材(たとえばアルミの骨格)に熱伝導グリスで熱接地します.Poco-14 の場合は 3mm のスペーサを入れてネジ留めし,Poco-42 の場合は 4mm のスペーサを入れてネジ留めすればよいでしょう.(Poco-14 のHブリッジICは高さ 2.65mm,Poco-42 のHブリッジICは高さ 3.6mm です.)

図:PocoのHブリッジが熱伝導グリスで構造ベースに放熱する様子
放熱を考慮したPico-2の取り付け方法
通信コンバータ Peco-2

Peco-2 は,ホスト PC の通信ポート(RS-232C)と Pico-2 の通信ポート(RS-485)をつなげるためのコンバータです.独立した2系統の RS-232C / RS-485 相互変換ができます.なお,フロー制御(RTS/CTS など)は一切行なっていません.

写真:RS-232C/485コンバータPeco-2量産基板 図:Peco-2の回路構成(ブロック図)
Peco-2 の外観(表/裏)と回路構成(ブロック図)

ホスト PC との接続には,D-Sub 9ピンのコネクタつきケーブルを利用します.ストレートケーブルとクロスケーブルで接続のしかたが異なります.下図を参考にしてください.PC 側の通信プログラムによっては,たとえば D-Sub 9ピンコネクタの CTS/RTS(7番と8番)を短絡させる必要があるかもしれません.

図:ホストPCからのシリアルケーブルを接続する様子
ホスト PC からのシリアルケーブルの接続(D-Sub 9ピン)

Pico-2 への接続には,4極のコネクタつきケーブル(JST/SH)を利用します.ポート 485-A1・485-A2 は電気的に全く同じで,232-A と相互変換されます.また,ポート 485-B1・485-B2 も電気的に全く同じで,232-B と相互変換されます.A 系統と B 系統は独立して動作します.たとえば A 系統であれば,Peco-2 を中心として,2方向に(たとえば 485-A1 から左へ,485-A2 から右へ)通信線を延ばすことも可能です.その場合,終端抵抗を無効にしてください.それ以外(通信線の端に Peco-2 が配置される場合)は,終端抵抗を2つとも有効にしてください.