光センサ・インターフェ−スと PWM制御を使ったモータ駆動の テクニック

第 11 章
ポール・スラローム・ロボットの
製作を通して理解する
光センサ・インターフェ−スと
PWM 制御を使ったモータ駆動の
テクニック
◆開発環境 C コンパイラ(AKI − H8/3664
マイコン・ボード付属品,入手先:秋月電子通商)
山名 宏治
Koji Yamana
本章では,並べられたポールの間を縫って走行する
ポール・スラローム・ロボットを製作します.
近いほど大きくなり,対象物を限定すれば距離も測定
できます.ただし,数ミリという近距離では,LED
写真 1
( カラー写真は,p.108 参照)は,動作中の連
とフォト・トランジスタの中心点がずれていることに
続写真から作成した合成画像で,右下から左上の方向
に移動しているところです.足回りのメカ部分は,タ
よって戻り光は減少します.
スラローム走行のアルゴリズム
カラのデジ Q(写真 2)を使いました.
ポールを検出する方法
● ポールを検出したら旋回方向を切り替える
基本的なアルゴリズムは,左右のセンサでポールを
ポールを検出するセンサには,赤外線を使うほうが
検出するたびに旋回方向を切り替えるという単純なも
外光の影響を抑えることができます.見た目の楽しさ
や動作のわかりやすさを優先するために,オレンジ色
のです.ここでは,写真 1 を使って説明します.
手前から①番目と②番目は左回りの旋回で,旋回の
の可視光を使いました.ここでは,超高輝度 LED
TLOH180P とフォト・トランジスタ TPS601A を対に
外側,つまり進行方向右側の LED が点灯しています
(以後“左”“右”は同様の意味で使う)
.
点灯しているセンサがアクティブな状態であり,②
して使用します.
ポールの有無は,LED の光をポールに当て,乱反
射して戻ってくる光の量をフォト・トランジスタで検
番目でポールに光が当たりここで旋回方向を切り替え
ます.③番目は右回りの旋回で,左側の LED が点灯
出します.使用した LED の指向角の半値角は 8 °とか
なり狭いので,フォト・トランジスタも指向性の強い
しています.
次にポールに光が当たる場面はコマ落ちしています
ものにしました.
が,④番目は右側のセンサが点灯して左回りに切り替
LED は点灯と消灯を高速で繰り返し,点灯時と消
灯時の光の量の差分が,ポールに当たって戻ってくる
わっています.⑤番目は 1 番目に近い状態に戻った形
であり,この繰り返しでポールを縫って走行します.
光の量としました.この差分は,ポールまでの距離が
● デフォルトは終端ポールで停止
⑤
終端ポールに達したとき,次のポールを検出するま
光の反射を検出
④
距離測定用LEDが
距離測定用LED
距離測定用
LEDが
点灯している
③
②
①
右回りの旋回
左回りの旋回
写真 1 連続写真から作成した合成画像
1 コマの時間間隔は 0.4 秒
180
写真 2 デジ Q
2004 年 5 月号
特集*保存版 ★ H8マイコン応用回路集
で旋回を継続すると,次のポールが一つ前のポールに
なり,図 1 のように折り返してくることになります.
きず,調整作業が煩雑になるので,検出した距離を近
距離,標準距離,遠距離の三つに分類して,それぞれ
もっとも,図 1 のようにきれいな旋回には条件があり,
現実のロボットではなかなかそうはいきません.
の旋回半径を設定することにしました.
ハードウェアの設計
デジ Q のメカは,ギア比が低いうえに重量もある
ので,確実性の高い低速走行というわけにはいきませ
んし,折り返し動作の完成度を上げるとなると難問に
ポール・スラローム・ロボットの回路図を図 3 に示
なりそうです.
今回は,終端ポールを検出したところで停止するこ
します.
とにして,スタート操作のオプションとして 1 往復や
● センサ回路
エンドレス動作も選べるようにしました.
D1 と D2 がセンサ用 LED,Tr1 と Tr2 が受光用フォ
ト・トランジスタです.受光量は A − D 変換します.
● ポールとの距離に応じて旋回半径を変える
前述したアルゴリズムを利用し,一定の旋回半径で
フォト・トランジスタは,感度にばらつきが見られる
ので,余分に購入してテストすることを推奨します.
動作させるだけでもポールを縫って走行することはで
H8/3694F の A − D コンバータで測定精度を得るた
きます.しかし,ポール間の中央近辺に移動する作用
はほとんどないため,ずれると修正が効きにくく,ポ
めには,接続回路,ここではセンサの出力インピーダ
ンスが 5 kΩ以下という制約があります.そこで,Tr3
ール間隔はほぼ一定に制限されます.
図2
(a)は標準的な旋回,(b)は小さい旋回,(c)は
大きい旋回で,このようにロボットの旋回スタート時
の位置に応じて旋回半径が変われば,次のポールとの
間の中央のあたりにロボットを到達させることができ
ます.
すなわち,旋回切り替え時に検出するポール(図の
中央のポール)との距離に応じて旋回半径を変えれば
良いことになります.
ここでは,あまり複雑な制御を行うと状態が把握で
付録マイコン基板
MB-H8
B
R5
VR 1
100k
Tr1
2SC
10k
Tr4 1815
P85
(東芝)
VR
2
Tr3 2SC 100k
1815
Tr2
R1
4.7k
TPS
601A
E
C
D2
TLOH180P×2
右用
R 11
150Ω
VCC
SW4 SLR-342VC
(ローム)
CN4
充電器
接続用
D3
PB1/AN1
PB0/AN0
PB4/AN4
PB5/AN5
A
VR 4
VR 5
5k
5k
5k
スピード用
C1
1k
右用
左用
赤
PB6/AN6
黒
C3
スタート・
ボタン
C4
0.01μ
Tr5
2SK2782
(東芝)
C
SW2
P14/IRQ0
P15
D
C2
470μ 0.1μ
単4ニッケル水素電池×2
デジQの電池
デジQ部分
右旋回用
(c)大きい
旋回
R 10
P81
4.7k
TPS
601A
(東芝)
D1
150Ω
R2
VR 3
左旋回用
P80
(b)小さい
旋回
図 2 三つの旋回半径
左用
右用
左用
(a)標準的
な旋回
図 1 終端ポー
ルでの折り返し
黒
R6
R7
10k
100k
0.01μ
赤
R8
10k
R9
100k
Tr6
2SK2782
(東芝)
GDS
P16
図 3 ポール・スラローム・ロボットの回路図
2004 年 5 月号
181