H8マイコンを使用した自立型走行ロボットの設計、製作

H8マイコンを使用した自立型走行
ロボットの設計・製作
矢萩・橋本研究室
工E13001
池内 晃
http://www.aomori-u.ac.jp/staff/yahagi/lab/GR_2004/ikeuchi/
発表内容
1.
2.
3.
4.
5.
6.
7.
8.
研究目的
H8マイコンのハードウェア構成
回路・基板設計
回路・基板製作
筐体設計
筐体製作
プログラム開発
結果・考察
研究目的
• 回路CAD(CR-5000)を使用し、コントロール
回路とドライブ回路の一体化と、センサ回路
を設計・製作する。
• 三次元CAD(SolidWorks)を使用し、基板と
モータ等を取り付ける筐体を設計・製作する。
• 自立型走行ロボットが迷路を走行できる走行
プログラムを作成する。
H8マイコンのハードウェア構成
CN1 P10 :
START-SWに接続
CN2 P16,17 :
ドライブ回路に接続
CN1 P20~22 :
ドライブ回路に
接続
CN1 P80~83 :
ロータリーSWに
接続
CN2 P80~85 :
センサ入力ポート
に接続
CN2 P50~57 :
モニター用LEDに
接続
回路・基板設計
• ポートの設定を行い、H8マイコンのポートに
接続する場所を決める。尚、RESET-SWは、
CN1の12ピン目に接続。
• 回路CAD(CR-5000)のSystem Designerを
使用し、全体の回路図とccfファイルを製作。
• PWS(Print Wiring System)を使用し、基板を
設計。
回路図(全体)
センサ回路の改良点
• 前面、側面に配置し、迷路
の壁を横方向で感知するよ
うにした。
• 可変抵抗を接続することに
より、センサの光の強度を
調節することができるように
した。
回路・基板製作
• PWSを使用し、基板加工用のデータ(photo1、
photo2、drill、outline)を出力。
• 基板加工機で、PWSで出力したデータから基
板を製作。
• 製作した基板に部品の半田付け。
筐体設計
• 三次元CAD(SolidWorks)を使用し、昨年まで使用
していたアルミ板の上に乗せる筐体を設計。
• アルミ板を使用せず、三次元CADで新たな筐体の
デザインを設計(筐体サイズの縮小、センサ部の筐
体を設計、モータ、電池ボックスの取付穴の追加)。
• 電池ボックスの固定化、センサ基板を取付できるよ
うにし、最終の筐体を設計。
昨年まで製作していたロボット
モデル1(パーツ取付前)
モデル1(パーツ取付後)
モデル2(パーツ取付前)
モデル2(パーツ取付後)
モデル3(パーツ取付前)
モデル3(パーツ取付後)
モデル4(パーツ取付前)
筐体製作
• 三次元造型機(Dimension)を使用し、アルミ板を加
工した筐体のサイズに合わせて製作。
• ロボットを90°回転させる際、筐体のサイズが合わ
ずぶつかってしまった為、アルミの筐体を使用せず
に三次元CADと造型機を使用して製作。
• 部分的に強度が弱くなるなどの問題が生じた為、そ
の問題点を踏まえて設計を変更し、筐体を製作。最
終の筐体が完成。
製作したロボット
製作したロボット・2
プログラム開発
開始
ポートアドレス設定
モータ出力
初期設定
(SPの設定、ポート入出力設定)
YES
前壁センサ入力
LED消灯
NO
NO
START-SW入力
横壁センサ入力
YES
YES
タイマ
NO
姿勢制御
区間数をR1Lに一時記憶
パルス数をR1Hに一時記憶
90°回転
前壁センサプログラム
MOV.B @PDR8,R0L
NOT.B R0L
AND.B #B’00000001,ROL
CMP.B #B’00000001,ROL
BEQ
LOOP3
:
:
:
:
:
MOV.B @PDR8,R0L
NOT.B R0L
AND.B #B’00000010,ROL
CMP.B #B’00000010,ROL
BEQ
LOOP3
:
:
:
:
:
ポート8(PDR8)からR0Lレジスタにセンサデータを読込
データ反転
0ビット目でセンサを感知
前部1つのセンサデータが一致しているかを確認
一致していたらLOOP3に移動
ポート8(PDR8)からR0Lレジスタにセンサデータを読込
データ反転
1ビット目でセンサを感知
前部1つのセンサデータが一致しているかを確認
一致していたらLOOP3に移動
90°回転プログラム
SUBM90:
MOV.B #D’93, R1L
SLOOP : MOV.B #B’00000000,R0L
MOV.B R0L, @PDR1
MOV.B #B’00000111,R0L
MOV.B R0L, @PDR2
MOV.B #B’00000001,R0L
MOV.B R0L, @PDR2
JSR
@TIM2
DEC.B R1L
BNE
SLOOP
RTS
: 93パルスをR1Lに設定
: 右モータを逆回転させる
: R0Lをポート1(PDR1)に転送
1パルス出力
: タイマ
: パルス数を1減算
: R1Lが0になるまでループ
姿勢制御プログラム
SUBMR1:
MOV.B
PULSE : MOV.B
MOV.B
MOV.B
MOV.B
MOV.B
MOV.B
DEC.B
BRA
SUBMR2:
MOV.B
PULSE : MOV.B
MOV.B
MOV.B
MOV.B
MOV.B
MOV.B
DEC.B
BRA
#D’6,R1H
#B’01000000,R0L
R0L, @PDR1
#B’00000101,R0L
R0L, @PDR2
#B’00000100,R0L
R0L, @PDR2
R1H
PULSE
: パルス数6をR1Hに一時記憶
: 前進
: R0Lをポート1に出力設定
#D’6,R1H
#B’01000000,R0L
R0L, @PDR1
#B’00000101,R0L
R0L, @PDR2
#B’00000001,R0L
R0L, @PDR2
R1H
PULSE
: パルス数6をR1Hに一時記憶
: 前進
: R0Lをポート1に出力設定
1パルス出力
: パルス数を1減算
: パルス数が0になるまでループ
1パルス出力
: パルス数を1減算
: パルス数が0になるまでループ
結果・考察
• コントロール回路とドライブ回路の一体型基板が完成した。
• センサ回路は可変抵抗を取り付ける事により、赤外線センサ
の光の強度が調整できるようになった。
• 筐体は試行錯誤を繰り返し、問題を修正していきながら現在
の筐体の完成した。
• 基本走行プログラムは姿勢制御や90°回転などを開発し、
迷路を走行できた。
• 今後の課題は、横壁用センサの改良と迷路探査用プログラ
ムの開発が残されている。
電源回路(三端子レギュレータ搭載)
コントロール回路(CPU回路)、センサ回路
ドライブ回路