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が機能していたがモータ回転用プログラム では全く機能しなくなる。
© Copyright 2025 ExpyDoc