2. モータとエンコーダの使い方 2.1 モータとエンコーダ 2.2 速度情報の導出 キーワード : モータ,エンコーダ, 微分器,不完全微分器 学習目標 :モータとエンコーダを用いた位置情報の取得方 法を修得する。微分器を用いた速度情報の取 得方法を修得する。 1 2 モータとエンコーダの使い方 2.1 モータとエンコーダ プログラム作成 2 3 4 5 データログ 「検出」をクリック 「データログ」をクリック 6 プログラム実行 NXT Rbl run クリック モータが 回る 「再アップロード」をクリック データが表示 される 7 データの保存と作成 「text.xls」で保存する 「ファイルへ書き出す」をクリック Excel でデータを図にする 8 2 モータとエンコーダの使い方 2.2 速度情報の導出 (1) 微分を使う 9 変数の 初期化 C11 = 0 C12 = 0 C13 = 0 11 “C13”と 同じ C13 = (C11-C12)*100 C12 = C11 13 角速度 = C13 C12 C11 (角度の現在値) – (角度の1サンプル前の値) (サンプル時間) 0.01 10 plot(data(:,1),data(:,2)) plot(data(:,3),data(:,4),'r') 11 (2) 疑似微分を使う 不完全微分(疑似微分) 後退差分近似 チャタリングが発生 ローパスフィルタを用いる 12 不完全微分 ボード線図 13 離散化 (連続)状態空間表現 (連続)伝達関数表現 式をラブラス変換 14 式をラブラス変換 式を代入 式と比較すると (離散)状態空間表現 (離散)伝達関数表現 15 不完全微分 とおいて微分する 式より 式より 16 タスティン変換(双一次変換) 17 C11 = 0 C12 = 0 C13 = 0 C14 = 0 C15 = 0 13 11 C15 = 0.6*C14 + 0.4*C11 C13 = -40*C14 + 40*C11 C14 = C15 18 微分 疑似微分 19 2. モータとエンコーダの使い方 2.1 モータとエンコーダ 2.2 速度情報の導出 キーワード : モータ,エンコーダ, 微分器,不完全微分器 学習目標 :モータとエンコーダを用いた位置情報の取得方 法を修得する。微分器を用いた速度情報の取 得方法を修得する。 20 データの保存 「text.txt」で保存する 「ファイルへ書き出す」をクリック データを確認 21 MATLABによる図の作成 1. MATLABの起動 アイコン クリック 3. カレントフォルダの設定 「text.txt」と同じフォルダに する 4. エディタを立ち上げる クリック MATLABWindow 22 5. エディタに書く clear all 変数を消去 close all 図を閉じる fid = fopen('test.txt'); text.txt を開く C = textscan(fid,'%f%f%f', 'headerLines', 1); fclose(fid); text.txt を閉じる data = [C{2} C{3}] figure(1) 1行目は省いて3列を変数”C”に保存 変数”C”の2列目,3列目を変数”data”に代入 Figure 1 を作成 plot(data(:,1),data(:,2)) 変数”data”の1列目をx座標,2列目をy座標として描く grid on 点線を入れる 23 6. 図を描く クリック 24 clear all 変数を消去 close all 図を閉じる fid = fopen('test2.txt'); text2.txt を開く C = textscan(fid,'%f%f%f%f%f', 'headerLines', 1); 1行目は省いて5列を変数”C”に fclose(fid); text2.txt を閉じる 保存 data = [C{2} C{3} C{4} C{5}] 変数”C”の2-5列目を変数”data”に代入 figure(1) Figure 1 を作成 plot(data(:,1),data(:,2)) 変数”data”の1列目をx座標,2列目をy座標として描く hold on 図を重ねるために図を保持 plot(data(:,3),data(:,4),'r') 変数”data”の3列目をx座標,4列目をy座標として描く grid on 点線を入れる 25 plot(data(:,1),data(:,2)) plot(data(:,3),data(:,4),'r') 26 clear all 変数を消去 close all 図を閉じる fid = fopen('test2.txt'); text2.txt を開く C = textscan(fid,'%f%f%f%f%f', 'headerLines', 1); 1行目は省いて5列を変数”C”に fclose(fid); text2.txt を閉じる 保存 data = [C{2} C{3} C{4} C{5}] 変数”C”の2-5列目を変数”data”に代入 figure(1) Figure 1 を作成 plot(data(:,1),data(:,2)) 変数”data”の1列目をx座標,2列目をy座標として描く hold on 図を重ねるために図を保持 plot(data(:,3),data(:,4),'r') 変数”data”の3列目をx座標,4列目をy座標として描く grid on 点線を入れる 27 微分 疑似微分 28
© Copyright 2024 ExpyDoc