ラインフォロワーロボットは、線をたどる機械で、黒い線でも白い線でもかまいません。基本的に2種類のラインフォロワーロボットがあります。1つは黒い線に続く黒いラインフォロワーで、もう1つは白い線に続く白いラインフォロワーです。ラインフォロワーは実際にラインを感知し、その上を走ります。以前のプロジェクトでは、arduinoを使用してブラックラインフォロワーロボットを作成しましたが、今回は8051マイクロコントローラーを使用してホワイトラインフォロワーを作成します。このチュートリアルでは、自宅でラインフォロワーロボット用のプリント回路基板を低価格で作成する方法についても説明します。
ラインフォロワーロボットのコンセプト
ラインフォロワーの概念は光に関連しています。黒と白の表面での光の振る舞いを使用しました。光が白い表面に当たると、ほぼ完全に反射し、黒い表面の場合、光は黒い表面に吸収されます。この説明された光の振る舞いは、このラインフォロワーロボットで使用されます。
このラインフォロワーロボットプロジェクトでは、光の送受信にフォトダイオードとも呼ばれるIR送信機とIR受信機を使用しました 。IRは赤外線を送信します。赤外線が白い表面に当たると、反射してフォトダイオードに捕らえられ、電圧変化が発生します。IR光が黒い表面に当たると、光は黒い表面に吸収され、光線は反射しません。そのため、フォトダイオードは光や光線を受け取りませんでした。このラインフォロワーロボットでは、センサーが白い表面を感知するとマイクロコントローラーが入力として0を取得し、黒い線を感知するとマイクロコントローラーが入力として1を取得します。
回路の説明
ラインフォロワーロボット全体をセンサーセクション、コントロールセクション、ドライバーセクションなどのさまざまなセクションに分割できます。
センサーセクション: このセクションには、IRダイオード、ポテンショメーター、コンパレータ(オペアンプ)、およびLEDが含まれます。ポテンショメータは、コンパレータの1つの端子で基準電圧を設定するために使用され、IRセンサーはラインを検知して、コンパレータの2番目の端子で電圧の変化を提供します。次に、コンパレータは両方の電圧を比較し、出力でデジタル信号を生成します。この回路では、2つのセンサーに2つのコンパレータを使用しました。LM358はコンパレータとして使用されます。LM358には2つの低ノイズオペアンプが組み込まれています。
制御セクション: 8051マイクロコントローラーは、ラインフォロワーロボットのプロセス全体を制御するために使用されます。コンパレータの出力は、8051のピン番号P0.0およびP0.1に接続されています。8051はこれらの信号を読み取り、ドライバ回路にコマンドを送信してラインフォロワを駆動します。
ドライバーセクション: ドライバーセクションは、モータードライバーと2つのDCモーターで構成されます。マイクロコントローラーがモーターに十分な電圧と電流を供給しないため、モータードライバーはモーターの駆動に使用されます。そこで、モーターに十分な電圧と電流を得るためにモータードライバー回路を追加しました。マイクロコントローラーはこのモータードライバーにコマンドを送信してから、モーターを駆動します。
8051を使用したラインフォロワーロボットの動作
ラインフォロワーロボットは、センサーを使用して白い線を感知し、マイクロコントローラーに信号を送信します。次に、マイクロコントローラーはセンサーの出力に従ってモーターを駆動します。
このプロジェクトでは、2つのIRセンサーペアを使用しています。IRセンサーペアの左センサーと右センサーを呼び出しているとすると、左センサーと右センサーの両方が何も感知しないか、黒い線を感知して、ロボットが前進します。
そして、左センサーが白い線を感知すると、ロボットは左側に曲がります。
左側のセンサーが白い線を感知すると、ロボットは両方のセンサーが黒い線になるか、表面が何も感知されなくなるまで右側に向きを変えます。
そして、両方のセンサーが白い線になったら、ロボットは停止します。
8051ベースのラインフォロワーロボット回路
このラインフォロワーロボットの回路は非常にシンプルです。コンパレータの出力は、マイクロコントローラのピン番号P0.0およびP0.1に直接接続されています。また、モータードライバーの入力ピン2、7、10、15は、それぞれピン番号P2.3、P2.2、P2.1、P2.4に接続されています。また、1つのモーターはモータードライバー3と6の出力ピンに接続され、もう1つのモーターは11と14に接続されます。
プログラミングの説明
プログラムでは、まず入力ピンと出力ピンを定義します。そして、主な機能では、入力をチェックし、入力に従って出力を駆動モーターの出力ピンに送信します。入力ピンのチェックには、「if」ステートメントを使用しました。
このラインフォロワーには4つの条件があります。左センサーと右センサーの2つのセンサーを使用しました。
入力 |
出力 |
ロボットの動き |
||||
左センサー |
右センサー |
左モーター |
右モーター |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
1 |
0 |
1 |
0 |
フォワード |
0 |
1 |
1 |
0 |
0 |
0 |
右に曲がる |
1 |
0 |
0 |
0 |
1 |
0 |
左折してください |
1 |
1 |
0 |
0 |
0 |
0 |
やめる |
上記の表の条件に従ってプログラムを作成しました。概念を理解するには、このページの下部にあるこの8051ベースのラインフォロワーロボットの完全なコードを参照してください。
PCBレイアウト
これは、 Dip TraceSoftwareで設計されたラインフォロワーロボットのPCBレイアウトです。
このPCBレイアウトでは、ラインフォロワー用の回路基板とIRセンサーを配置するための2本のスティックを設計しました。PCB上にラインフォロワーロボットを作成するためのステップバイステップのチュートリアルをここで確認してください:自宅でPCBを作成する方法