Texas Instruments 技術情報

新人奮闘記事 第2回「製作始動、ロボットの目“センサ”」

[最終更新日 : 2016/09/15]


前回の奮闘記!

研修最後の課題は“目覚ましロボット”を作ろうと決めました。
製作に向けて、必要な機能を決め、ブロック図と回路図の作成ができました。
いよいよモノづくりが始まるところです!

第1回「はじまる、新人FAEの奮闘」

製作実習始動!

こんにちは。クライフです。

今回は、必要な部品を購入してくるところから始まります。富士エレは御茶ノ水にオフィスがあり、近くには何と秋葉原!パーツショップまで片道20分で行けるという環境なので、必要となる部品をすぐさま購入しに行きました。

パーツの購入ができたところで、マイコンと各部品を一つずつ動作テストしていきます。やはり動かせないことには先に行けませんからね。動作テストは回路のテストとソフトウェアのテストプログラムの開発です。

私はまず、部品1つ1つ分けてブレッドボード上で回路図の通りに配線するところから始めました。そしてマイコンにテストプログラムを書き込んで部品が正しく動いてくれるかを確認します。

まず、測距センサをテストしていきます。

測距センサの動作原理

今回使用するセンサは測距センサです。測距センサといっても、距離の測り方はセンサによっていろいろありますが、今回は赤外線LEDとフォトトランジスタを使った光学式のセンサを使います。ではこのセンサはどうやって使うものなのかご説明します。

測距モジュール

フォトリフレクタ

赤外線LEDは電流を流すことでLEDから赤外線が放出されます。フォトトランジスタは光を受け取ると導通する素子です。普通のトランジスタのスイッチング(ベース部)を光で行うということですね。では、この2つを組み合わせてどうやって壁や床を検知するか。赤外線が壁にぶつかると反射してフォトトランジスタに当たります。すると、フォトトランジスタのE-C間(エミッタ - コレクタ間)に電流が流れるようになります。壁がないと、赤外線は反射してこないため、E-C間は導通しなくなります。

測距センサ動作原理図

つまり、この反射した赤外線によって電流が流れる/流れないが変化し、これをマイコンが検出することで測距センサが反応しているか/していないかを判断することができます。

また、今回使用するマイコン(MSP430G2553)にはADコンバータが内蔵されています。ADコンバータとはアナログ値からデジタル値へ変換するための機能です。センサからアナログ信号である電圧がマイコンへ出力され、マイコンはこの値をデジタル信号に変換して、その数値をもとにマイコンがシステムを制御します。ADコンバータを使うよう設定することでマイコンがセンサの値を読んでくれるわけですね。

テストの結果

では、回路を作り、テストプログラムを作成します。これまでの研修でC言語は学んできましたが、さすがに1から作るのは・・・。

そこで、TI社から提供されているMSP430wareのサンプルコードを参考にテストプログラムを作ることにしました。今回は、モータの代わりにLaunchPadに備え付けられたLEDを点灯させます。

そしてできたものがこんな感じです。

測距モジュール動作テスト

壁に近づけばLaunchPadの赤LEDが点灯するプログラムを作成しました。ちゃんと反応していますね。(よかった...)

フォトリフレクタ動作テスト

床を検知するセンサも床を検知していない時に赤LEDが点灯しています。

どちらも赤LEDが点灯したときに、ロボットが壁を検知してぶつかりそう、または床が検知できず落ちそうと判断して、旋回させます。

これで私が製作する“目覚ましロボット”の目の部分に当たるセンサを動かすことができました。特に躓くことなく進めましたので、なかなか良いペースです。このままどんどん進めていきますよ~!

新人奮闘記事シリーズはこちら

新人奮闘記事 第1回「はじまる、新人FAEの奮闘」

新人奮闘記事 第2回「製作始動、ロボットの目“センサ”」

新人奮闘記事 第3回「順調ペース、ロボットの足"モータ"」

新人奮闘記事 第4回「新人の躓き、ディスプレイの時計表示」

新人奮闘記事 第5回「更なる難問、ロボットのプログラム統合」

新人奮闘記事 第6回「目覚めるか、目覚ましロボット」


実験に使用したTI製品の詳細はこちら

MSP430 LaunchPad バリュー・ライン開発キット MSP-EXP430G2
MSP430 サンプルコード集 MSPWare

取り扱いメーカー

お問い合わせ