XMOS評価ボードを使った玩具Ver 2

XMOS
XC-1評価ボードを使った玩具
Ver.2
2009/10/17
鰐淵
前回の製作で検証したもの
„ テーマ
ライントレーサー・カー
リミットSW
距離センサー
(ON/OFF SW)
„ 構成
車輪
フォーク
ラインセンサー:
リミットSW
起動/停止
: DCモータ(左右)
: DCモータ
フォトインターラプタ(2個)
: フォーク上下
: 赤外線距離センサー
DCモータ
(フォーク)
„ 内容
開発環境
I/O接続
チャネル
マルチコア
限界の確認
:
:
:
:
:
XCによるプログラミング
I/Oの接続性
チャネル通信と応答性
マルチコア/マルチスレッド
スレッド数/タイマー数など
フォトセンサー
DCモータ
(左右車輪)
今回の製作テーマ
„ 目的
プログラミングに専念するためのベースとなるハードウェアの製作
„ ベース技術の開発
・AD変換器の接続
・PCによるデバッグ環境構築
・ステッピングモータの接続
„ 製作テーマ
・「猫脅し」(複合動作:ストーリ性のある自立走行プログラムの開発)
・動作イメージ
探査
検出
追尾・接近
威嚇
後退
今回の製作したもの
„ 構成
ベース
赤外線距離センサー
ステッピングモータ
DCモータドライバ
ステッピングモータドライバ
AD変換器
赤外線距離セン
サー
:
:
:
:
:
:
田宮模型 ダブルギアボックス+電子工作用パーツ(DCモータ×2)
シャープ GP2Y0A21×2
秋月電子 SPG20 ユニポーラ(24対1 480ステップ)
東芝 TA7291P×2
2SC1815×4
Microchip MCP3208 12Bit 8チャンネル(SPI I/F)
赤外線距離セン
サー
ADコンバータ
ステッピングモータ
DCモータドライバ
ステッピング
モータドライバ
田宮模型の電子工作用パーツ
Thread Diagram
par {
on stdcore[
on stdcore[
on stdcore[
on stdcore[
on stdcore[
on stdcore[
on stdcore[
on stdcore[
on stdcore[
on stdcore[
on stdcore[
}
0]
1]
1]
0]
0]
0]
0]
0]
1]
1]
2]
:
:
:
:
:
:
:
:
:
:
:
control( adinfo, whlinfo, ledinfo, ch0, ch1);
sensor_control( ad, minfo, adinfo);
wheel_control( whlinfo, r_dir, l_dir, r_prm, l_prm);
right_motor( r_pls, r_dir);
left_motor( l_pls, l_dir);
adc_inp( ad);
send_UART( ch0, ch1);
led( ledinfo);
right_pulse_gen( r_pls, r_prm);
left_pulse_gen( l_pls, l_prm);
stepping_motor( minfo);
赤外線距離センサー/ADコンバータ
•
赤外線距離センサー
SHARP GP2Y0A21
•
ADコンバータ
MICROCHIP MCP3208
12Bit 8チャンネル
SPI(Serial Peripheral Interface)
Output voltage
= ADout ×
5
4096
赤外線距離センサーの取付
•
検出対象の形状(曲面)及び移動方向から、取付方法を変更
(正)
(誤)
動作の検討
‡
‡
‡
‡
2つのセンサーの距離を比較
2つの値が等しくなるようにセンサー部を回転
センサー部と本体との角度が大きくなったら本体を回転
検出物との距離に応じて前進・後退
(a)
(b)
(c)
3つの状態
(1)検出物無し
(2)どちらかのセンサーに反応
(3)両センサーの値及び本体・
センサーとの角度が許容値内
(d)
結果と今後の課題
„結果
プログラミングに専念できる環境整備
・汎用的な入出力ボード対応
・デバッグ環境(PCとの接続)
掲げたテーマに対しては未完成
„今後の課題
・ストーリーを決めた自走プログラミング
・PC側のモニタリングソフトウェア
・サブサンプションアーキテクチャー
・複数のXCボードとの連携動作確認
製作内容の詳細については、
http://2d3d.jp
で公開中しています。