ライントレースカーの開発
２年Ｂ組

羽鹿

諒

指導教諭

末谷健志

１． 要約
私は H8-3664F とフォトセンサを用いて、ライントレースカーの開発に成功した。これにより、黒線と白線を見分けて追跡する技術を習得できた。また、センサ技術の基本を学ぶことができた。
キーワード

マイコン、赤外線、フォトインタラプタ、PWM、モータードライバ、充電池

２． 研究の背景と目的

自分で制御したりするロボットが多く、自私は、今年度 H8-3664F というマイクロ立型、つまりそれ単体で動くものはごくわ

コンピュータ（以下、マイコン）を用いてずかだった。そこで、コンピュータのソフ研究を行っている。

トや人間の操作に頼らない自立型ロボットを製作することで、今後の研究にも役立てることができると考えた。
そして、センサを搭載させて自動的に走行させ、固定された動作ではあるがロボットが自ら走行することで、センサを扱う技術と、自立型ロボットを作るための制御方法、それぞれの基礎を学ぶことを目的とした。

図１

H8-3664F マイコン(黒色の IC)

今回の研究で目標としていたことをまとめると、以下のようになる。

これまで、PC からマイコンを経由してLED の点灯・消灯を制御することをはじめ

・ プ ロ グ ラ ムの 製 作 （ アナ ロ グ 入 力・PWM 出力）

として、可変抵抗でサーボモータを制御す・ 自立型ロボットの制御る、といったことを行ってきた。しかし、・ センサの制御

これらは全て書籍に掲載されている回路図・ ライントレース回路の製作とプログラムを用いて製作したものだった。

・ DC モータの制御

そこで、自分で０から全て作ることを目標として今回の研究に至った。
また、その書籍に掲載されていたのは、

３． 研究内容(1)研究事項

≪研究１≫

ライントレースセンサ回路を試作し、白色の位置にあるときと、黒色の位置にあるときとの出力される電圧差を計測する。
≪研究２≫

アナログ入力プログラムを製作し、(A/D 変換)デジタル出力により LED
図２の点灯・消滅を行う。

フォトインタラプタ

研究２のプログラムに PWM

このセンサは、赤外線の光が黒色には吸信号を出力するように変更を加え、DC モ収され、白色では反射するという原理を利ータを制御する。

用しているもので、赤外線 LED とフォトト≪研究３≫

ランジスタが一体になっているセンサである。

(2)仮説
≪研究１≫

黒色のとき、約５V、白色のときに０V が出力される。

テスト回路を作る際、データシートやインターネットを用いて回路を参照し、参考にしたが、それぞれにおいて抵抗値や回路≪研究 2≫ 次に行う DC モータの制御のはばらばらであった。そこで、最も重要だ

際、左右のどちらのモータが機能しているった負荷抵抗について、赤外線 LED 側の抵か、またはどちらに曲がるかが一目で分か

抗はオームの法則より、次のように求めた。

るようになる。

電圧を E、電流を I、抵抗を R とすると、R=E/I≪研究３≫

DC モータは、機械的な反応が瞬時にできないため、PWM 信号を送ると電圧を調整するのと等価になり、制御ができる。という式が成り立つ。そこで、次のような式を立てた。
R=5/0.02 （電圧＝５V、電流=20mA）
よって、抵抗値は 250Ω となる。
このテスト回路では輝度を調整するため、(3)研究方法≪研究１≫500Ω の半固定抵抗を用いた。
また、フォトトランジスタ側は正確にど

今回、ライントレース回路を製作するにの位の負荷抵抗を入れるとよいか不明だっあたり、「フォトインタラプタ」と呼ばれるたため、50kΩ の半固定抵抗を入れて実験しセンサを用いた。

た。今回の回路図を図３に表す。

これまでに出てきた「PWM 信号」とは、Pulse Width Modulation の略で、変調方式の一つである。

図３

テスト回路

そして、テスト回路の出力をオシロスコ

図４

PWM 信号ープに接続し、電圧を測定する。
これは、簡単に言うと、高速で電源の≪研究２≫
この研究では、MIT の松下光次郎氏に提供していただいた A/D 変換値をハイパータ

ON/OFF を繰り返しているもので、サーボモータや DC モータの制御に適したものといえる。

ーミナル上に表示するプログラムを用いてそこで、この実験では PWM 信号をモーA/D 変換ができる値かを調べた後、独自でタードライバ IC に流し、それを経由してモ処理プログラムを製作し、白か黒かを判別ータを制御することにした。

し、LED にその結果を表すという実験を行った。
また、LED は２つ、左モータ・右モータ

モータードライバ IC というのは、中に Hブリッジ回路という回路を内蔵した IC のことである。に見立ててプログラムを製作し、実行した。
このプログラムの条件は以下の通りである。
・ ８ビットの A/D 変換を行う（センサ３つ分）。
・ 上記の結果を２つの LED に表す。
・ センサが黒の位置にあるときに１、白の位置にあるときに０と読み取るようにする。
≪研究３≫

図５

モータードライバ

研究２のプログラムに PWM 信号を出力するような改造を加え、DC モータを制御できるようにする。

これを用いることにより、たとえ制御するために用いる信号が低電流・低電圧だったとしても、大電流・大電圧を必要とする≪研究３≫

高出力のモータを制御することができる。
また、もちろん普通のモータも制御することができるので、様々な用途に応用されている。
(4)研究結果≪研究１≫
電源装置を用いた測定実験では、センサが地面から約 2.5mm の距離で黒 5.11V～4.48V、白 3.63V～3.11V まで、とおよそ

図７

電源を搭載したところ1V 以上の電圧差があった。これによって、アナログ入力がうまくいく値が出力された実験では、図７のようなプロトタイプを製作し、実験した。といえる。
また、９V→５V 安定化電源を用いた場合
でも、上記と同様の結果が得られた。
≪研究２≫

図８

トレースコース

実験する際は、図８のようなコースをビニールテープで設置し、走行実験を行った。
図６

実験風景

結果的には、走行は成功であった。

今回の実験では、図６のように白・黒・４．考察

白とラインを並べたところに研究１におい≪研究１≫て最適とされた高さにセンサを配置し、テストした。
このときは、プログラムで設定したとおりに LED が発光した。

この研究では、ハンダ付けの際に用いる基板の固定台を用いてセンサの高さを調節し、測定した。また、実験を２段階に分けて行った。２段階で行うことで、それぞれ電源を違うものにしても違いが現れないか、という検証を行った。１段階目は、電源がまず、このセンサの出力電圧を測定する

比較的安定している電源装置を用いてセンにあたって、前もって製品のデータシートサ部の電源として、オシロスコープで電圧やインターネットなどを用いて必要な諸条を測定する。２段階目は９V 電池を三端子件を調べていた。また、先輩にもアドバイレギュレータ５V に安定化した電源を用いスをいただいていた。その結果、実際に計た。測定時の条件は以下の通りだ。

測しない限りはマイコンで読み取ることが・ 電源装置の電源 : ５V/0.2Aできる値が出力されるかは分からないとい・ ９V→５V 安定化電源：５V/1.2A

うことが分かっていた。そのため、焦点距・ ２ 段 階 目 では １ 段 階 目の 測 定 の うち離である６mm をベースに、１mm ずつ下げてA/D 変換の数値を測定するのみを行っいき、半固定抵抗を調節して測定した。

た。

・ 白と黒で１V 以上の差があったときに≪研究２≫
この研究では、まず最初に MIT の松下光測定を止める。

・ 用いたセンサ：フォトインタラプタ

次郎氏に提供していただいた A/D 変換値をRPR-220

ハイパーターミナル上に出力するプログラ

ローム社

ムと研究１で製作したセンサ回路を用いてA/D 変換値を測定した。

図９

測定時風景①

図 11

ハイパーターミナル上に出力された A/D 変換値出力パターン

図 11 より、L・C・R はそれぞれセンサの位置を表している。
（Left，Center，Right）
そして、四角で囲んでいるところがそれら
図 10 測定時風景②の値である。それぞれを見ると分かるのが、まず、数値の大幅な違いである。一番上のブロックでは、L はシルバー、C は白、R

「1/1/0」「1/0/0」「0/1/1」「0/0/1」「0/1/0」は黒の位置にある。このとき、L は 068～「0/0/0」「1/1/1」）。

180、C は 012～137、R は 216～243 といまた、出力の I/O ポート２ch には動作う値が出力されている（R においては、比確認用の白色 LED がついている。

較のために 179 という値は省略している）。

製作したプログラムの流れを下図に表す。

また、ひとつ下のブロックでは、L はシルバー、C は黒、R は白の位置にある。このとき、L は 127～148、C は 241～244、Rは 012～045 という値がそれぞれ出力されている。これらの結果より、白は 012～137、黒は 216～244 という値が出力されており、A/D 変換によるはっきりとした判定が可能であることが分かる。また、特別に測定したシルバーにおいても、白と重複するところはあるが、068～180 という値が出力されており、ある程度の判別も可能であることが分かった。

図 12 プログラムの流れ≪研究３≫

次に、A/D 変換プログラムの製作を行っ

この研究では、「PWM 出力プログラムのた。A/D 変換とは、アナログ・デジタル変製作」と「DC モータの制御」を目的とし換の略で、マイコンの機能の一つであり、て実験を行った。

マイコンに入力されたアナログ信号（電圧この実験で用いるプログラムは、研究２の変化）をデジタル信号（０か１、すなわで製作したプログラムに PWM 出力のコーり ON か OFF）に変換するものである。

ドを追加したものである。

プログラムは、C 言語で記述している。

今回のプログラムの流れを下図に表す。

また、プログラムは秋月電子通商の H8 マイコン開発キットに付属している C コンパイラやヘッダファイルを用いて製作した。
さらに、参考文献[1]も参考にして製作した。
プログラムの内容を下記に表す。
・ センサの値は A/D 変換ポート３ch 分を用いて入力、8bit モードで読み取る。
（０～255）・ A/D 変換値が０～170 のときを白、170～255 のときを黒とする。
・ センサ信号を処理するため、パターンを７つ設定する（黒を１、白を０とすると、

図 13 プログラムの流れまた、DC モータの制御ではマイコンかかった。このセンサは本来、６mm までのらモータードライバに PWM 信号を送り、距離にある、白色と黒色を判別できる。かDC モータを制御する方式をとった。

つ６mm が最適な距離とされているが、今PWM 信号を送ることで、電圧を可変するのと等価になり、DC モータのスピードを細かく変えられて制御にとても適している。
しかし、マイコンから出力される PWM信号は５V 出力だが電流がとても微弱なも回の実験では、2.5mm と比較的低い位置でしか検知できなかった。
また、今回 DC モータの制御に PWM 信号を用い、何度か実験をした上で PWM 信号にはそれぞれ以下のようなメリットとデメリットがあった。のなので、このまま直にモータに接続してもパワーが弱く、動かない可能性がある。

＜メリット＞

そのため、モータードライバを間接的に用・ モータやサーボモータなど、アクチュエい、モータ用の別電源で動作させた。

ータの動作の調整にとても適している。
・ カーブなどの角を曲がるとき、左右のモータのスピード調整が簡単にできる。
＜デメリット＞
・ とても微弱なものであり、直接アクチュエータの制御ができない。
・ スピード調整は簡単にできるが、実際にどの位の出力値かが分からない。

図 14 製作したライントレースカー

今後は、メリットを生かしながら、デメリットを解決し、また、PWM 信号を用い５．まとめと今後の課題
今回の研究では、以下のことを調査ある

たアクチュエータの制御を中心に研究を進めたいと思っている。

いは実験できた。
・ フォトインタラプタを用いたセンサ回路の製作

６．参考文献・サイト[1]「ぼくらのマイコン・ロボット工作」、横・ センサ出力値の計測

井浩史・松下光次郎共著、CQ 出版社

・ アナログ入力・PWM 出力プログラムの(2006)

製作
・ モータードライブ回路の製作
・ ライントレースカーの製作
しかし、センサのデータシートに表記された、センサの焦点距離での測定ができな[2]Wikipedia ( PWM 制御)[3]ローム社：RPR-220 データシート
www.rohm.co.jp/products/databook/s/p
df/rpr-220-j.pdf[4]東芝セミコンダクタ：TA7291P データシ

ート
www.semicon.toshiba.co.jp/docs/datash
eet/ja/LinearIC/TA7291F_TA7291SG_j
a_datasheet_070613.pdf[5]秋月電子通商「AKI-H8/3664fp マイコンモジュールキット」
http://www.aki-den.jp/kit_manual/%83%7d%83C%83R%83%93%8a%d6%8cW/
A34_AKI-H83664%83%82%83W%83%
85%81%5b%83%8b.pdf

７．謝辞
今回の研究にあたり、MIT の松下光次郎先生にハードウェア技術やプログラミングなどの指導、また、A/D 変換値をハイパーターミナル上に表示するプログラムを提供していただきました。また、ライントレースカーのアドバイスや、技術指導を物理班顧問の末谷健志先生、サイエンス研究会物理班の先輩方にいただきました。
お世話になった方々、本当にありがとうございました。