情報学実験 ii テーマ 3 センサーと計測システムct13050/johogaku/2-3.sensor_and...5...
TRANSCRIPT
1
情報学実験 IIテーマ 3 センサーと計測システム
1 実験目的
計測とは,機器を使い被計測対象(位置,速度,加速度,力,光,音など)を数量化することである.
多くの場合,センサーと呼ばれるエネルギー変換器を用いて非計測対象をより測りやすい別の物理量(電
流や電圧など)に変換し計測する.その後,信号の整形を行い A/D(Analog/Digital)変換器を用いてコン
ピュータにデジタル信号として取り込む.この一連の流れを計測システムと呼ぶ.
本実験の目的は,計測システムの製作を通して,センサーの利用方法,信号のデジタル化,計測の基
礎を理解することである.
2 使用器具
・ 曲げセンサー(浅草ギ研製 AS-BEND)
・ ブレッドボード(サンハヤト社製 SAD-101)
・ ジャンプワイヤー(200mm長,黒,赤,黄,青,白,各 2本計 10本)
・ 固定抵抗器(1kΩ,10kΩ,各1本)
・ 赤色 LED(1本)
・ 精密ドライバー(マイナス型)
・ データ集録装置 DAQ(ナショナルインスツルメンツ社製 USB-6009)
・ LabVIEW 2013(ナショナルインスツルメンツ社製)
・ パーソナルコンピュータ(諸元は情報科学研究教育センターHPを参照のこと)
3 計測システムの制作
3.1 概要
図1に計測システムの概略図を示す.この計測システムは曲げセンサー自身の変形量を計測する.
曲げセンサーは,内部の導電インクの割れ目により導電体の断面積を減少させ電気抵抗が変わると
いう原理を利用して,変形量を電圧に変換する.センサー回路(電気回路)によって測った電圧信
号を A/D 変換器によってデジタル信号に変換し,コンピュータに取り込む.取り込んだデジタル信
号をソフトウェアでグラフ化し,ファイルに保存する.
図 1 計測システムの概略図
曲げセンサー
(センサー回路) 変形量 電圧
A/D変換器
(DAQ) デジタル信号
PC
(LabVIEW) 力
2
3.2 センサー部
曲げセンサーは約 10kΩの抵抗を持つが,センサー自身を曲げると曲げた量に比例して約 30kΩ
まで抵抗が増加する.この性質を利用して図 2のセンサー回路を製作すると,Voから抵抗の変化に
比例した電圧が計測できる.曲げセンサーが曲がっていない状態では Vo=2.5V である.曲げセンサ
ーを最大に曲げ抵抗が 30kΩになる時 Voは何 Vになるかを,実験前に計算しておくこと.なお,曲
げセンサーは曲げる方向が決まっている(印字された側が内側となるよう曲げる)ので,製作の際
に間違えないこと.
【製作】
まず,センサー回路を作る.ブレッドボードに 10kΩ抵抗器と曲げセンサーを直列接続(図 2)にな
るように配置する.10kΩ抵抗器は図 4のカラーコード表を参照して選べ.次にジャンプワイヤーを
3本用意して, +5V,Vo,GNDの位置に挿し込む.
次に,LED点灯回路(図 3)を作る.この回路は DAQのデジタル出力(P0.0)に接続される.Voが指
定の閾値を超えると回路に電流が流れ LEDが点灯するよう,計測ソフトウェアでプログラミングす
る.ブレッドボードに 1kΩ抵抗器と赤色 LED を直列接続(図 3)になるように配置する.LED には
接続の方向があり,アノード(+側,足が長い)と カソード(GND 側,足が短い)がある.次に
ジャンプワイヤーを 2本用意して,D,GNDの位置に差し込む.GNDはセンサー回路と共通でよい.
図 2 曲げセンサー回路 図 3 LED点灯回路
図 4 抵抗器のカラーコード表
「ブレッドボードラジオ」より引用(http://bbradio.web.infoseek.co.jp/code1/code1.html)
Vo
+5V→
+2.5V→
0V→
10kΩ抵抗器
GND
1KΩ
赤色発光 LED
D
3
3.3 A/D変換部
本実験で使用する A/D変換器(DAQ USB-6009)の仕様の一部を表 1に,A/D変換の模式図(3ビッ
ト)を図 5 に示す.A/D 変換器には電圧入力範囲があり,計測される信号(原信号)に合わせて範囲を
調整する必要がある.量子化ビット数は量子化の細かさを示す値である.𝑛 ビットは 2𝑛 段階で電
圧を表現できる.図 5 は 3 ビットなので 23 = 8 段階の代表値で 0V 以上 10V 未満の信号を表現し
ている.図 5 の代表値は 0.00V, 1.25V, …, 8.75V である.代表値に変換する事を量子化(コード化)
と呼び,代表値間の幅をコード幅と呼ぶ.ビット数が多いほど原信号を忠実に再現でき,ビット数
が少ないほど量子化誤差が増える.同時に,前者はデータ数が増え,後者はデータ数が減る.量子
化ビット数が 13ビットで,電圧入力範囲が 0~5Vに設定されている時,コード幅は何 Vになるか,
実験前に計算しておくこと.
サンプリングレートは時間方向の分解能である.表 1の 48kS/秒は 1秒間あたり 48,000回,電圧
を標本化(サンプリング)できる事を示している.これは DAQの最大値であり,実際の計測に用いる
サンプリングレートは原信号の周波数とデータ量を勘案して調整する必要がある.サンプリングレ
ートが高いほど原信号を忠実に再現できる.サンプリングレートを低く設定しすぎると,信号が実
際の周波数とは異なって表示される.このような信号の誤った表現をエイリアスと呼ぶ.
表 1 DAQ USB-6009の仕様
電圧入力範囲 0~10V (シングルエンド方式時)
量子化ビット数 13ビット(シングルエンド方式時)
サンプリングレート 48 kS/秒 (S:サンプル)
図 5 A/D変換の模式図(3ビット)
【製作】
DAQ(Data Acquisition)装置の端子配置を図 6に示す.DAQのアナログ入力は簡単に言えば電圧
計である.シングルエンド方式で電圧を測る場合,GNDと AI 0(Analogue Input 0)の間の電位がデ
ジタルデータに変換される.参考までにUSB-6009は,アナログ入力(AI)を同時に 8ch(チャンネル)
計測できる他,アナログ出力(AO)が 4ch,デジタル入出力が(8+4)ch備わっている.
センサー回路の+5VをDAQの+5Vに接続せよ.同様に Voを AI 0に,GNDをGNDに接続する.
次に,LED点灯回路の Dを DAQの P0.0に,GNDはセンサー回路の GNDに接続する.曲げセン
サーとジャンプワイヤーが干渉しないようセンサー回路のパーツ配置やジャンプワイヤーの取り回
4
しを工夫せよ.ジャンプワイヤーは DAQのネジ留め式端子台の端子穴に挿し込んだ後,マイナス型
精密ドライバーで穴を閉めて固定する.DAQの GND端子は複数あり,どれに挿してもよい.最後
に USBケーブルの A-type端子を PCに,B-type端子を DAQに接続する.
図 6 DAQ装置(NI USB-6009)のピン配置
DAQ の動作確認は以下の手順で行う.[スタート]→[すべてのプログラム]→[NI MAX]を起動する.
起動した画面の左側に[デバイスとインタフェース]という項目を見つけ,クリックして展開し[NI
USB-6009 “Dev1”](使用するPC側USB端子によっては[NI USB-6009 “Dev2”]などと表示される)
をダブルクリックする.次に,画面上部のタブにある[テストパネル]をクリックすると,図 7の画面
が現れるので,図のとおりに各項目を設定する.最後に画面下の[再生]ボタンを押すとテスト計測が
開始される.計測が開始されたら,図 8のように曲げセンサーを曲げてみる.折ってはならない.
図 7 テストパネルによる動作確認
オンデマンド
チェック外す
RSE
最 大 5,
最小 0
5
図 8 曲げセンサーの曲げ方(折り曲げないこと)
3.4 計測ソフトウェア部
デジタル信号は計測ソフトウェア(LabVIEW)を使って指定したタイミングで DAQ から PC に転
送される.計測ソフトウェアでそのタイミングを指定し変数に取り込み,グラフ化したりファイル
に集録したりする.LabVIEW で作成する計測ソフトウェアのブロックダイアグラム部を図 9 に,
フロントパネル部を図 10に示す.
図 9 ブロックダイアグラム部
6
図 10 計測ソフトウェアのフロントパネル部
(パーツの種類,大きさ,配置,ラベル名,目盛等は適宜変えること)
【製作】
① 【ループの作成】ブロックダイアグラムのウィンドウ上で右クリックし,[関数]→[プログラ
ミング]→[ストラクチャ]→[Whileループ]を選び配置する.Whileループ内の赤丸を右クリッ
クしメニューから[制御器を作成]を選択すると,停止の制御器が作成され,ループを停止する
ボタンがフロントパネルに作成される.(図 11)
図 11 ブロックダイアグラム内のループの作成
7
② 【DAQアナログ入力】Whileループの枠内で右クリックし,[関数]→[測定 I/O]→[DAQmx –
データ集録]→[DAQアシスタント]を選択し起動する.図 12を参考に,画面のメニューで[信
号を集録]→[アナログ入力]→[電圧]を選択する.次の画面で[Dev1(USB-6009)]→[ai0]を選択
し[終了]ボタンを押す.次の画面で,信号入力範囲を[最大 5, 最小 0],端子構成を[基準化シ
ングルエンド],集録モードを[連続サンプル]とする.サンプリングレート(Hz)を設定する必
要があるが,ここでは設定せず制御器で変更できるようにする.
③ 【ファイルへの書き込み】図 13を参考に,[関数]→[プログラミング]→[ファイル I/O]→[計測
ファイルに書き込む]を選択する.次の画面で,ファイルが存在の場合を[ファイルを上書き]
に,ファイル形式を[テキスト]に,セグメントヘッダを[ヘッダなし]に,X 値列を[1 列のみ]
に,デリミタを[カンマ]に設定する.ファイル名は制御器で設定することにする.“DAQ ア
シスタント”の“データ”と“計測ファイルに書き込む”の“信号”を結線せよ.
④ 【制御器と数値表示器】アナログ入力の DAQ アシスタントのアイコンの下部をマウスで下
に広げると[エラー出力][停止]…といったコネクタが現れる.現れた[レート]の上で右クリッ
クをするとコンテキストメニューが現れる.[作成]→[制御器]を選択するとサンプリングレー
トの制御器が作成され,同時にフロントパネルウィンドウにも制御器が作成される.そのラ
ベルを「サンプリングレート(Hz)」に変更する.また,同様に[サンプル数]を右クリックし[作
成]→[定数]を選択し,サンプル数を 10に指定する.サンプル数は一度のループで処理される
データ配列の長さを表す.例えばサンプリングレート 100Hz,サンプル数 10 と設定した場
合,0.1 秒間隔で長さ 10 のデータ配列が送出される.次に,[データ]の数値表示器を作りそ
のラベルを「電圧値(V)」とせよ.この数値表示器のプロパティを開き,[表示形式]タブの[有
効数字]の[桁]を 3 とする.最後に“計測ファイルに書き込む”の[ファイル名]の制御器
(Filename)を作成する.
⑤ 【波形チャート】フロントパネルウィンドウに移動し,右クリックでメニューを出し,[グラ
フ]→[波形チャート]を選択して配置する.ブロックダイアグラムウィンドウに移動して DAQ
アシスタントの“データ”と“波形チャート”を結線する.次に,波形チャートを右クリッ
クしプロパティを開き,[スケール]タブ→[時間(X軸)]になっていることを確認して,[グリッ
ドのスタイルとカラー]のグラフ絵をクリックして,現れた 3つのうち中央のグラフを選択す
る.同様に,[スケール]タブ→[時間(X軸)]をクリックして[振幅(Y軸)]に変更して[自動スケー
ル]チェックを外し,最小値を 0 に,最大値を 5 に設定する.さらに[グリッドのスタイルと
カラー]のグラフ絵をクリックして,現れた 3つのうち中央のグラフを選択する.
⑥ 【メーター】フロントパネルウィンドウに移動し,右クリックでメニューを出し,[数値]→[メ
ーター]を選択して配置する.その後,ブロックダイアグラムウィンドウに移動し,DAQ ア
シスタントとメーターを接続する.
8
図 12 DAQアナログ入力の設定
図 13 計測ファイルの書き込み設定
9
次に,閾値超えを検知する回路を作成する.
⑦ 【比較器】関数メニューから[プログラミング]→[比較]→[≧以上?]を選択して比較器を配置
する.比較器の 2 入力のうちの x と DAQ アシスタントのデータを結線する.入力の y を右
クリックし,[作成]→[制御器]で制御器を作成し,そのラベルを「閾値(V)」と変更する.フ
ロントパネルに制御器が作成されたことを確認して適当に配置せよ.次に,出力端子を右ク
リックし,[信号操作パレット]→[ダイナミックデータから変換]を選択する.条件を設定する
ウィンドウで結果データタイプを[1D スカラ配列 – 最新値]に,スカラデータタイプを[ブー
ル (TRUEと FALSE)]に設定する.比較器の出力端子と変換器を接続する.変換器の出力側
を右クリックし,[作成]→[表示器]を選択すると,Arrayと名前の付いたアイコンが作成され
る.同時にフロントパネルに表示器が作成されるので,そのラベルを「閾値超シグナル」に
変更し[表示項目]から[指標番号表示]のチェックを外す.
⑧ 【DAQ デジタル出力】閾値を超えるとブレッドボードの LED を点灯する機能を DAQ のデ
ジタル出力機能を使って作成する.ブロックダイアグラムウィンドウで右クリックし,[DAQ
アシスタント]を選択する.すると新規にDAQアシスタント2が配置される.現れた画面で[信
号を生成]→[デジタル出力]→[ライン出力]を選択する.次の画面で[Dev1(USB-6009)]→
[port0/line0]を選択し[終了]ボタンを押す.次の画面で生成モードを[1 サンプル(オンデマン
ド)]とする.設定が終わったら[OK]を押し画面を閉じる.その後で,比較器の出力と DAQア
シスタント 2の[データ]を接続する.
⑨ 【閾値のきざみ値】フロントパネルウィンドウに移動し,「閾値」の制御器を探し,そのプロ
パティを開き,[データエントリ]タブ→[デフォルトの制限を使用]のチェックを外し,増分を
[0.1]に設定する.
上記の製作が終わったら,フロントパネルウィンドウに移動し,実験時に操作・観察がしやすいよ
うフロントパネルのパーツを整理・整形せよ.またブロックダイアグラムウィンドウに移動し,結
線されていないパーツがないか,不良ワイヤーが残っていないかを確認せよ.
以下に動作確認方法を説明する.
フロントパネルウィンドウに移動し,サンプリングレートを 100(Hz),ファイル名を data.txt,
閾値を 3.5(V)に設定して実行ボタン(→)を押す.曲げセンサーを曲げると波形チャートに曲げに応
じた波形が表示され,電圧メーターが振れ,電圧値が変化する.また閾値を超えると,閾値超シ
グナルが点灯し,同時にブレッドボード上の LEDも点灯する.
終了は[停止]ボタンを押す.停止したら,Windows の[マイドキュメント]→[LabVIEW Data]
→[data.txt]を開く.すると図 14に示すような数値データが表示される.1列目は時刻,2列目は
電圧値である(有効桁数についてはレポート課題で検討する).時間間隔はサンプリングレートで決
まる.
10
図 14 数値データ(data.txt)
4 実験
【実験 1】電位計測
サンプリングレートを 100Hz,ファイル名を data.txt,閾値を 3.5Vに設定して実行ボタン(→)を
押す.以下の電位を計測しなさい.
・曲げセンサーが完全に伸びている時の電位
・曲げセンサーを最大に曲げた時の電位 (注:折り曲げて破損させないように)
・LEDが点灯した時の電位,消灯した時の電位 (目測で良い)
曲げの変化量と電位の変化量の対応について説明せよ.また,この計測システムは,曲げセンサー
に限らず物理量に従って抵抗が変化するものならば何であってもセンサーとできる。例えば,硫化
カドミウム(CdS)などの光導電素子は当たる光の量に従って抵抗が変化するため,明るさを感知する
センサーとできる.また,端子間が空気であれば抵抗は大きく端子間が雨水や海水で満たされれば
抵抗は小さくなるためこれもセンサーとできる.この計測システムが,どのようなセンサーを用い
ると何に応用できるか考察せよ.
【実験 2】サンプリングレートと計測値
表 2の各行に示す条件を設定し,計測を開始してから曲げセンサーを曲げて図 15に示す「ラクダ
のこぶ」のような波形を連続して作れ.計測時間は 10 秒以上 20 秒未満とせよ.このとき,波形を
Windowsの Print Screen 機能を使って画面キャプチャせよ.レポートでサンプリングレートと波形
の再現性について考察せよ.また,ファイルを開き数値データを確認し,各サンプリングレートと
標本化時間,データ量の関係について理論的に説明せよ.
11
表 2 サンプリングレートの設定
サンプリングレート(Hz) ファイル名
10 10Hz.txt
100 100Hz.txt
500 500Hz.txt
(a)10Hz (b)100Hz (c)500Hz
図 15 サンプリングレートによる電圧波形の違い
5 レポート報告事項
実験目的,実験方法,結果,考察,課題のように章立てし,【実験 1】【実験 2】について報告せよ.
LabVIEWのフロントパネルとダイヤグラムのハードコピーも添付せよ.さらに以下の課題を解決し
同レポートにて報告すること.
(課題 1) 3.4節④で数値表示器の有効桁数を 3としたが,その理由を量子化ビット数(13ビット)から
説明せよ.同じ事は数値データのファイルにも言え,図 14でファイルの電圧値は 7桁あるが,有効
桁数は 3なので 4桁目を四捨五入して扱う必要がある.
(課題 2) 【実験 2】で記録した 10Hz.txt, 100Hz, 1000Hzのいずれかのファイルについて, プログ
ラミングを用いて各波形のピーク電位とその時間(計測開始からの秒数)を求めよ.例えば,図 16 は
8 回曲げた計測波形(100Hz.txt)であるが,1 番目の波のピークは計測開始 1.42 秒後でその電位は
3.87V であることを説明している.図 16 の場合は時間と電位が 8 組検出されるはずである(表 3).
プログラミング言語は何を使っても良い.レポートにソースコードと実行結果を添付せよ.
12
図 16 波形のピーク探索の説明図
表 3
波形番号 時刻(秒) 電位(V)
1 1.42 3.87
2 2.53 3.88
: : :
8 9.00 3.78