10: 2011-07-21 (木) 19:32:53 yoshida ソース 現: 2013-04-09 (火) 23:36:38 takaboo ソース
Line 3: Line 3:
**スぺーサの取り付け [#qf87c118] **スぺーサの取り付け [#qf87c118]
|CENTER:BGCOLOR(red):||c |CENTER:BGCOLOR(red):||c
-|  :idea:|FDIII-HCは基板が剥き出しになっており、動作中に導電性の物が接触すると破損します。必ずスペーサを取り付けてから以後の作業を行って下さい。&br;スペーサを取り付ける際は機器に傷等を付けないように十分に注意して下さい。|+|  :idea:|FDIII-HCは基板上の電子パーツが剥き出しになっており、動作中に導電性の物が接触すると破損します。必ずスペーサを取り付けてから以後の作業を行って下さい。&br;スペーサを取り付ける際は機器に傷等を付けないように十分に注意して下さい。|
FDIII-HCとスペーサ一式を用意します。ネジは短い方を使用します。 FDIII-HCとスペーサ一式を用意します。ネジは短い方を使用します。
#ref(spacer1.png,100%) #ref(spacer1.png,100%)
Line 19: Line 19:
|CENTER:BGCOLOR(red):||c |CENTER:BGCOLOR(red):||c
|  :idea:|ケーブルの抜き差しを行う際は必ず電源を切った状態で行って下さい。機器が破損する恐れがあります。| |  :idea:|ケーブルの抜き差しを行う際は必ず電源を切った状態で行って下さい。機器が破損する恐れがあります。|
-FDIII-HCにAX-12+とAX-S1を接続します。~ +FDIII-HCにAX-12AとAX-S1を接続します。~ 
-AX-12+とAX-S1はDynamixelケーブル(3線)で3本線用のコネクタに接続します。接続する順番や位置は、3本専用のコネクタであればどこでも構いません。+AX-12AとAX-S1はDynamixelケーブル(3線)で3本線用のコネクタに接続します。接続する順番や位置は、3本専用のコネクタであればどこでも構いません。
|CENTER:BGCOLOR(red):||c |CENTER:BGCOLOR(red):||c
| |必ずFDIII-HCの3本線用のコネクタに差し込んで下さい。誤って4本線のコネクタに差し込んだ状態で電源を入れると破損します。| | |必ずFDIII-HCの3本線用のコネクタに差し込んで下さい。誤って4本線のコネクタに差し込んだ状態で電源を入れると破損します。|
Line 52: Line 52:
**サンプルプログラム[#r86cf508] **サンプルプログラム[#r86cf508]
-FDIII-HCに書き込むサンプルプログラムを提示します。~+FDIII-HCに書き込むサンプルプログラムを示します。~
#html{{ #html{{
<pre class="brush: c,"> <pre class="brush: c,">
#include <fd.h> #include <fd.h>
void main (void) { void main (void) {
-  uint8_t ir;+  uint8_t ir = 0; 
 + 
 +  fd_Wait (2000); 
  // 初期化   // 初期化
  fd_SetBeepCondition (FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP);   fd_SetBeepCondition (FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP);
  fd_SetUVThreshold (7.4);   fd_SetUVThreshold (7.4);
  DX_ChangeBaudrate (1000000);   DX_ChangeBaudrate (1000000);
-  ir = 0;    // 距離初期化 + 
-  // 出力制限(20%) +  // 状態確認 
-  fd_DXSetTorqueLimit (1, 205); +  fd_printf("Present Voltage[x10] = %d\n", fd_GetPresentVoltage ()); 
-  // ID1のDynamixelが存在すること +  fd_printf("Ping to AX-12        = %s\n", DX_Ping (1, 500, NULL) ? "OK" : "NG"); 
-  if (DX_Ping (1, 100, NULL)) { +  fd_printf("Ping to AX-S1        = %s\n", DX_Ping (100, 500, NULL) ? "OK" : "NG"); 
-    // 何かキーボード入力があるまで繰り返す + 
-    while (!fd_rx_buff()) { +  // 出力制限(50%) 
-      // AX-S1より赤外線センサ(正面)の距離検出 +  fd_DXSetTorqueLimit (1, 511); 
-      if (DX_ReadByteData (100, 27, &ir, 50, NULL)) { +  // 無限回転モードOFF 
-        fd_printf ("%3d\r", ir); +  fd_DXSetEndlessTurn (1, false)
-        if (ir >100) { + 
-          // Dynamixelのポジション書込み +  // コンソールからの入力があるまで繰り返す 
-          fd_DXSetPosition (1, 300); +  while (!fd_rx_buff()) { 
-          fd_Wait (2000); +    // AX-S1より赤外線センサ(正面)の反射率計測 
-       } else { +    if (DX_ReadByteData (100, 27, &ir, 50, NULL)) { 
-          fd_DXSetPosition (1, 512); +      fd_printf ("\rAX-S1 Front IR = %3d\33[K", ir); 
-       }+      if (ir > 100) { 
 +        // Dynamixelのポジション書込み 
 +        fd_DXSetPosition (1, 300); 
 +      } else { 
 +       // Dynamixelのポジション書込み 
 +        fd_DXSetPosition (1, 512);
     }      }
-     fd_Wait (1);+   } else { 
 +     fd_printf ("\rRead from AX-S1:NG\33[K", ir);
   }    }
 +   // 50ミリ秒の待ち
 +   fd_Wait (50);
  }   }
 +  // 位置決め制御停止
 +  fd_DXEnableControl (1, false);
} }
</pre> </pre>
}} }}
-サンプルプログラムをダブルクリックして選択状態にしてください。「Ctrl+C」又は右クリックして「コピー(C)」を選択して、コピーします。+サンプルプログラムをダブルクリックして選択状態にし、「Ctrl+C」又は右クリックして「コピー(C)」を選択してコピーします。改行のエスケープシーケンス記号は表示上バックスラッシュ+nとなっていますが、日本語環境へコピーするとバックスラッシュは円記号として表示されます。
---- ----
Line 94: Line 107:
#ref(gcc_save1.png,100%) #ref(gcc_save1.png,100%)
---- ----
-メニューより「名前を付けて保存」を選択して下さい。+メニューより「名前を付けて保存」を選択します。
#ref(gcc_save2.png,100%) #ref(gcc_save2.png,100%)
---- ----
Line 114: Line 127:
#ref(gcc_option2.png,100%) #ref(gcc_option2.png,100%)
-1度コンパイルを行うと、コンパイルオプションの設定は保存されるため、次回からは再度設定する必要がなくなります。+1度コンパイルを行うとコンパイルオプションの設定は保存されるため、次回からは再度設定する必要がなくなります。
**ビルドする [#ad84c3d3] **ビルドする [#ad84c3d3]
Line 128: Line 141:
**SIMPLE TERMの設定 [#a3b0dd1e] **SIMPLE TERMの設定 [#a3b0dd1e]
-先ず[[機器の接続>#xa842a1b]]が完了していることを確認して下さい。+まず[[機器の接続>#xa842a1b]]が完了していることを確認します。
---- ----
メニューの「ファイル」→「プロパティ」をクリックします。 メニューの「ファイル」→「プロパティ」をクリックします。
#ref(sterm2.png,100%) #ref(sterm2.png,100%)
---- ----
-プロパティ画面内、Connect toのリストボックス右側にある下向き矢印ボタンをクリックし、リストを表示します。そのリストの中から「AT91 USB to Serial Converter」と書かれているCOMポート(パソコンが外部と通信を行うための口)を選択して下さい。COMポートには番号が振られていますが、番号は環境によって異なります。+プロパティ画面内、Connect toのリストボックス右側にある下向き矢印ボタンをクリックし、リストを表示します。そのリストの中から「AT91 USB to Serial Converter」と書かれているCOMポートを選択します。COMポートには番号が振られていますが、番号は使用環境によって異なります。
#ref(sterm3.png,100%) #ref(sterm3.png,100%)
Line 152: Line 165:
**プログラムの転送 [#aaed87f4] **プログラムの転送 [#aaed87f4]
-< FDIII Ver2.3 by BestTechnology >と表示されることを確認して下さい。ブートローダのコマンドモードに入ると必ず最初にこのように表示されます。+< FDIII VerX.X by BestTechnology > (X.Xはブートローダのバージョンにより異なる)と表示されることを確認して下さい。ブートローダのコマンドモードに入ると必ず最初にこのように表示されます。
#ref(sterm6.png,100%) #ref(sterm6.png,100%)
 +このメッセージが表示されない場合は、[[こちら>BTE083#vbd825b5]]の詳細な手順を確認してみてください。
---- ----
スクリプト実行ボタン(走る人のマーク)をクリックします。プログラムの転送が始まるので完了まで数秒待ちます。 スクリプト実行ボタン(走る人のマーク)をクリックします。プログラムの転送が始まるので完了まで数秒待ちます。
Line 161: Line 175:
**プログラムの実行 [#eb97850f] **プログラムの実行 [#eb97850f]
-FDIII-HCの電源をONにします。AX-12+とAX-S1に電源が供給されます。この時“ピッ”と音がします。+FDIII-HCの電源をONにします。AX-12AとAX-S1に電源が供給されるとAX-12AのLEDが一瞬点灯し、AX-S1から“ピッ”という起動音がします。
#ref(execute1.png,100%) #ref(execute1.png,100%)
---- ----
Line 167: Line 181:
#ref(execute2.png,100%) #ref(execute2.png,100%)
---- ----
-AX-S1の上方向のセンサに手を近づけるとAX-12+のホーンが回転し、手を放して少し待つと元の位置に回転します。~+AX-S1の上方向のセンサに手を近づけるとAX-12Aのホーンが回転し、手を放して少し待つと元の位置に回転します。~
SIMPLE TERM上でキーボードの適当なキーを入力するとブートローダのコマンドモードに戻ります。 SIMPLE TERM上でキーボードの適当なキーを入力するとブートローダのコマンドモードに戻ります。
#ref(execute3.png,100%) #ref(execute3.png,100%)
プログラム実行中にブザーが鳴り続ける場合は、エラーが発生していますので以下を確認して下さい。 プログラム実行中にブザーが鳴り続ける場合は、エラーが発生していますので以下を確認して下さい。
--AX-12+とAX-S1がFDIII-HCに接続されているか+-AX-12AとAX-S1がFDIII-HCに接続されているか
-FDIII-HCの電源スイッチがONになっているか -FDIII-HCの電源スイッチがONになっているか
-電源アダプタがコンセントに接続されているか -電源アダプタがコンセントに接続されているか


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom