ライントレーサ

ライントレーサとは,平面上に描かれた線上を自動で追尾して移動する車輪駆動ロボットです。平面は白い色,線は黒い色。線幅は18mm程度です。2個のモータを左右に持ち,その回転数をコントロールして,進む方向を制御して移動させるロボットです。

一見、線に沿って移動するだけのロボットであるが、いざ製作するとさまざまな知識や技術が要求されます。入門編でよく使用され、ロボットの楽しさを体感するには持って来いのロボットですね。

ライントレーサ制御のアイディア

CDSセンサ(光センサ)を車体の下に2つ付けることにより,どれぐらい黒線に近いかを検出することができる。センサの出力電圧をADコンバータ内蔵のマイコンに入力することで黒線の有無を知ることができます。

そして次にプログラムで2個のモータに与える指示値を算出する。左車輪のモータへの指示値が大きければ車体は右に曲がる。

2個のモータの指示値はPWM信号で行う。マイコン内蔵にはPWMユニットがあるのでそれを使用する。

ライントレーサ製作例
CDSセンサCdSとは硫化カドミウムの事であり、これは可視光線で最も感度の良い光伝導体である。光制御における可変抵抗であり,光があたると抵抗が小さくなる。

PWM信号

PWM(Pulse Width Modulation:パルス幅変調)と呼ばれる信号で,モータなどの制御に使われます。スイッチのON、OFFを繰り返した時のスイッチのON時間の長さを変えることによって電圧を制御する方法です。例えば0.9msONにして0.1msOFFにするとか,0.2msONにして0.8msOFFにすることが可能である。それにより、電圧を90%にしたり20%したりと、可変することができます。

CDSは周囲の明るさの影響を受けるので,遮光をつけて,自然光の影響をなるべくなくして使う。光源にはLED光源を使用します。

オペアンプ

CDSを使うにはオペアンプが必要です。オペアンプは電圧を増幅する働きを持ち、CDSから出力される微小電圧をオペアンプで増幅して使用します。抵抗値の選択で2倍、5倍、10倍といった増幅値を決めることができます。

ADコンバータ

ADコンバータは,入力電圧をコンピュータが認識できる数値に変換する素子です。ほとんどのマイコンにはADコンバータが内蔵されていて、電子工作でよく利用されるH8/3664にも内蔵されています。0Vから5Vまでの入力が,0から65535までの数値に変換されます。

CDS光センサは初心者には使いやすけど,光の強さに対する応答が遅いです。スキルアップして応答が早い素子を使用する場合はフォトトランジスタが良いでしょう。

パワーMOSFET

モータを駆動させる為には電流増幅が必要ですが、電流増幅にはこのパワーMOSFETを使用します。パワーMOSFETは3本足で構成され、「ドレイン」「ゲート」「ソース」と呼ばれている。この素子はゲート-ドレイン間にかかる電圧で制御されるスイッチとして機能し,ソースに対してゲート電圧が約3V以上になるとON,0VではOFFになる。

H8/3664

H8/3664はロボット製作でよく使用されるマイコンです。ルネサス系のH8シリーズの中で一番安価のマイコンです。フラッシュメモリがある為、ROMが不要です。
H8/3664は安価なマイコンですが、ADコンバータ、PWM、タイマー割り込み、シリアル通信といった機能が内蔵されているので非常に扱いやすいマイコンです。

プログラムにはC言語を使用し、クロスCコンパイラでコンパイルします。書き込みはシリアル通信で行い、フラッシュメモリに書き込みます。フラッシュメモリは不揮発性なので、一度書き込めば、電源をOFFにしても記憶されます。

テストプログラムからスタートし、動作を確認しながら進めるのがコツですね。

  • LEDの点滅動作
  • LEDの点滅時間の調整
  • シリアル出力の方法(デバッグで活用できます)
  • コマンド通信
  • タイマ割り込み
  • PWM動作

と順を追って進めていくのがいいでしょう。

プログラム次第で自分の作ったロボットの動きが目まぐるしく変わります。

ぜひロボット制御の楽しさを味わってください。