Transcript PowerPoint

H8マイコンを用いた自立型
走行ロボットの設計・製作Ⅱ
-アセンブリ言語によるプログラム開発‐
矢萩・橋本研究室
工E12017
三上雄太
http://www.aomori-u.ac.jp/staff/yahagi/lab/GR_2003/mikami/
目的
従来使用していたZ-80マイコンからH8マイコ
ンに変えて、コントロール回路の設計・製作す
る。
H8マイコン用のアセンブリ言語によるプログ
ラム開発をする。
H8/3664Fワンボードマイコン
 H8/300Hシリーズは、H8マイコンシリーズの中位に
属し、高機能の割には安価で入手しやすいため、ホ
ビーから製品への組込みまで、幅広く使用されてい
る。
 また、プログラムを内蔵のフラッシュメモリに格納す
ることができるため、プログラムの書き換えが簡単
に行えることから、マイコンプログラムの学習に適し
ている。
 H8/300Hシリーズには、H8/3048F、H8/3052F、
H8/3069F、H8/3664F(Tinyシリーズ)などの機種が
あるが、コアとなるCPUには同じH8/300Hが使用さ
れている。
H8マイコンの構成

H8マイコン
 日立製作所の8ビット/16ビットマイクロコン
ピュータの総称

CPU
 H8/300Hシリーズ 組込型マイコン

RAM
 2Kを内蔵している

フラッシュROM
 32Kを内蔵していて、書き込み制御回路、
SP232(MAX232) 、Dサブコ ネクタを装備してい
るので、パソコンに接続するだけでソフトの書き
込みができる

メインクロック
 16MHzと1Hzが簡単に作れるサブクリスタル
(32.768KHz)を両方装備している

ポート
 1, 2, 5, 7, 8, Bを使用することができる

電源
 7~12V、100mA以上。

割り込み、各種タイマ、A-D/D-Aコンバータ、ス
リープモード、ウォッチドッグタイマー、通信機能
など豊富な機能を内蔵している。
H8マイコンとZ-80マイコンの機能の比較
 H8はA-D/D-A変換ができるのに対して、Z-80では
できない 。
 プログラム作成では、Z-80はアセンブリ言語を使用
するがH8ではC言語とアセンブリ言語で作成するこ
とができる。
 プログラムの転送の仕方ではZ-80は直接通信でき
ないのでステレオジャックからMAX232(通信レベル
コンバータ)に接続しないといけないが、H8の場合
はマイコンに直接接続できる 。
コントロール回路の設計指針
 CPUの負担を軽減し、ハードウェアを簡昜なものに
するため、ロボットのCPUには、従来は、Z-80マイコ
ンを使用していたが、本研究では、H8マイコンを使
用した 。
 設計指針として、Z-80マイコンよりH8マイコンが小
型ということもありロボット全体の小型化さらには、
今まではボードの電源スイッチがなかったので電池
の消費が激しかった。そこで、コントロール回路に電
源スイッチを付けることになった。
コントロール回路の設計・製作
 基板設計では、回路設計CAD(CR-5000)を用いる
ことにした。
 まず、System Designerでは、回路図とネットリスト
(プリント配線板の配線設計を行うために用いる電
子部品の端子間の接続情報)を作成した。
 PWSでは、部品の登録、部品配置設計、配線設計
を作製した。
 PWSで作製したデータをもとに、基板加工機でプリ
ント基板を作製した。
コントロール回路の回路図
コントロール回路の部品配置
完成したZ-80とH8マイコンの
自立型走行ロボット
プログラム開発
モニターLED点滅プログラム
コントロール回路の動作確認用
センサ入力プログラム
センサ回路の動作確認用
モータ回転用プログラム
ドライブ回路の動作確認用
モニターLED点滅プログラムのフローチャート
初期設定
ポート5を出力設定
出力設定
ポート5へ点灯データ出力
LED点灯データ
タイマサブルーチン
1秒のタイマサブルーチン
右に1ビットローテイト
繰り返し
センサ入力プログラムのフロチャート
ポート5を出力設定
ポート8を入力設定
初期設定
センサの状態を読み込む
ポート8の入力データを読み込み
障害物を探知したか?
障害物を探知した時
センサ回路のLEDが点灯
NO
YES
LED点灯
LED消灯
ポート8から入力した時
ポート5のLEDが出力設定
モータ回転用プログラムのフローチャート
スイッチを入力設定
モータを出力設定
初期設定
スイッチの入力データを読み込み
SWの状態を読み込み
SWはONかOFFか?
ON
モータ回転
OFF
モータ停止
結果
 コントロール回路を小型化し片面基板で作ることに
成功した。
 モニターLEDの点滅プログラムとセンサ入力プログ
ラムはプログラム通りに動作を確認した。
 モーター回転用プログラムはモーターは動くがプロ
グラム通りに動作しない。
 原因としては、コントロール回路とドライブ回路を接
続すると接触が悪くなることからハンダ不良が考え
られる。
 コントロール回路も上の2つのプログラムでは
resetSWが機能していたがモータ回転用プログラム
では全く機能しなくなる。