自立型走行ロボットの 設計・製作 AKI-80を用いたアセンブリ言語の プログラミング開発 矢萩・橋本研究室 工E12019 山田 正樹 http://www.aomori-u.ac.jp/staff/yahagi/lab/elec.html 目的 自立型走行ロボットをCADを用いて設計し、 アセンブリ言語を用いてプログラム開発をす る。 H8マイコン用のコントロール回路、ドライブ回 路を設計・製作する。 迷路走行させる。 設計・製作 AKI-80用とH8用のドライブ回路をCADのCR5000と、PWSを用いて設計・製作した。 H8用ドライブ回路はAKI-80用ドライブ回路よ り一回り小さい基板を作成することにした。 AKI-80用ドライブ回路は配線に基板の両面を 使っていたが、H8用のドライブ回路は片面だけ の配線で作成することにした。 ドライブ回路の部品配置(H8用) AKI-80を使った自立型ロボット プログラム開発 基板の動作確認用プログラムの開発 1区間走行プログラムの開発 90°回転プログラムの開発(右、左、180° 回転) 直進停止プログラムの開発 姿勢制御プログラムの開発 迷路探査プログラムの開発 1区間走行 ステッピングモータを1区画(180㎜)を走行させる ためのパルス数は、車輪の直径は D=2r=49(㎜) となり車輪を1回転したときに進む距離は “2πr=49π≒153.9(㎜)” となる。 そして、使用したステッピングモータは200パ ルスで1回転するから1区画進むために必要 なパルス数をXとして 153.9:200=180:X X=(200×180)÷153.9≒233.9 となり1区間走行に必要なパルス数は234パ ルスとなる。 R_GEN RKASOK R_TEI LD INC LD LD CP JP JP LD DEC LD LD CP JP LD LD JP LD CP JP LD A, (T_CTC1) A (T_CTC),A A, (R_CONT) 234 NZ,RPULSE STOP A, (T_CTC1) A (T_CTC1) ,A A, (R_CONT) 70 NZ,RPULSE A,0 (RKA_F)、A RPULSE A,(R_CONT) 164 NZ,RPULSE A,0 LD (RTE_F),A 90°回転プログラム概要 90°回転プログラムはセンサが壁を検出し、 進めないようだったら左右どちらかに90°回 転するプログラムである。 今の段階での90°回転プログラムはセンサ からのデータの取り込みはせずにその場で 回転するプログラムにしている。 90°回転プログラムの フローチャート 初期設定 右モータを正回転 左モータを逆回転 に設定 停止 234パルス出力 90°回転プログラム LD A,150 LD (T_CTC1),A LD (T_CTC2),A LD A,00100010B LD (MTRMOD),A XOR A LD (R_CONT),A LD (L_CONT),A LD A.1 LD (RKA_F),A LD (RTE_F),A LD (LKA_F),A LD (LTE_F),A EI 7,8ビット目でモータ の回転方向をきめる。 今回は右のモータを 逆回転、左のモータを 正回転にすると90° 回転する。 X Y 1 0 0 0 1 0 B X・・・右モータの正回転、逆回転を制御 Xが1だと正回転し0だと逆回転する。 Y・・・左モータの正回転、逆回転を制御 Yが1だと逆回転し0だと正回転する。 3ビット目はつねに1に設定 直進・停止プログラム概要 直進・停止プログラムとはセンサの4ビット目 か5ビット目のどちらかが壁を検出したら停止 するプログラムである。 直進・停止プログラムの フローチャート 初期設定 センサ取り込み モータ回転 センサの4,5ビット目 に入力はあるか YES NO 停止 直進・停止プログラム RPULSE IN A,(SENSOR) CPL LPULSE センサ取り込み AND 08H JP NZ,SWITCH IN A,(SENSOR) 00001000とセンサのデータで アンドを取る CPL AND 10H JP NZ,SWITCH アンドを取った結果0以外なら ストップ 結果 AKI-80用ドライブ回路は半田付けの失敗などもあっ たが、何とか完成した。 H8用のドライブ回路はモータにうまく信号がいかず プログラム通り動作してくれなかった。 H8マイコンのコントロール回路を作る事に成功した。 1区間走行と、90°回転(右、左、180°回転)のプ ログラム開発は成功した。 姿勢制御プログラムと迷路探査プログラムは時間 が足りず出来なかった。 今後の課題 H8用のコントロール回路とドライブ回路、セン サ回路を完成させる。 姿勢制御プログラムを開発する。 迷路探査プログラムを開発する。
© Copyright 2024 ExpyDoc