* Picomotor Controller 8752 [#w80328ad] ** Picture [#c0d87a11] #ref(8752.JPG,,8%); ** How to Use [#t257fff3] 主な使い方は,(1)ジョイスティック,(2)PCとシリアル通信,である. *** Joystick [#m7e3f9dc] + 以下のように繋げる #ref(Joystick.JPG,,8%); + スティックのx軸,y軸をどのドライバーのどのモーターに対応づけるかをセットする. まず左の「Set Axis/Enable」ボタンを押す. その状態で,x軸に対応させたいドライバーを「Driver」ボタンを押して切り替える. 同様に,動かしたいモーターを「Motor」ボタンを押してセットする. + セットした状態でスティックを動かせば,先ほど設定したモーターが動く. *** Serial communication [#h4d9d3c1] (2019.07.14追記)~ シリアル通信用のGUIを作った.~ [[GUPPy - Graphical User interface for Picomotors by Python >GUPPy]]~ 無理してCUIを使わなくとも良くなったが,以下の記述はGUIを使う上でもある程度重要なので目を通すといいかも. !! Note !! 以下の解説はMacでの操作を仮定する. WindowsユーザーはTeratermを使えばいい(らしい)が著者はよく知りません. Windowsを使っている誰か,追記してください. + 以下のように繋げる #ref(Serial.JPG,,8%); + 自前のUSB-Dsub変換コネクタを持っている人は以下は省略.持っていない人は写真の変換コネクタを使うと仮定して話を進める. ++ 初めて使う人はまずドライバーをインストールする. 残念ながらメーカーのページにはMacに対応したドライバーがない.が,幸いコネクタの中で使われているICを作っている会社がドライバーを配布しているので,これを使う.[[ここ>https://www.ftdichip.com/Drivers/VCP.htm]]からドライバーをダウンロードしてインストールする. ++ controllerとPCを繋ぎ.ターミナルで以下のコマンドを打つ. ls -l /dev/tty.usbserial* ドライバーが正しくインストールされてcontrollerを認識していれば, /dev/tty.usbserial-******* のように表示されるはずである.ここが接続先になる. + 次のコマンドを入力する. sudo cu -l /dev/tty.usbserial-******* -s 19200 もしくは screen /dev/tty.usbserial-******* 9600 これで,controllerとPCが繋がった.~ %%試しに何か入力してみると…何も表示されない.%% %%実は,バグなのか不具合なのかわからないが,この方法で繋ぐと入力した文字が一切表示されない.%% %%不便で仕方がないので,誰か解決方法がわかったら教えてください.%%~ (2019.07.12追記)~ 以下のコマンドを入力すると文字が見えるようになる. >echo ComA on 接続を確認するために,試しに「ver」と入力する.これはcontrollerのファームウェアのバージョンを表示させるコマンドである. controllerによるが, Version 1.6.0 などと表示されればOK.~ ちなみに,cuとscreenでは接続の切り方が異なる. cu: ~. screen: ctrl+A の後に k で切断される. + ピコモータを動かすためのコマンドは[[レファレンス>https://granite.phys.s.u-tokyo.ac.jp/wiki/Lab/index.php?plugin=attach&pcmd=open&file=87XX_Manual_RevC.pdf&refer=AndoLabInstrumentsPico8752]]の99ページにあるExample2を参考にすると良い。Example2をここに記しておく。 >jof >def >chl a1 = 0 >ch1 a2 = 1 >typ a1 0=1 >typ a2 1=1 >vel a1 0=2000 >vel a2 1=2000 >mon >pos A1=0 A2=0 >rel a1=-5000 >rel a2=10000 >go >pos A1=-5000 A2=10000 >jon 各行の説明は次の通り。 : (L1) |ジョイスティックの接続を切る。2つの入力方法があると干渉して良くないらしい(?)ので切っておこう。 :(L2~8) |ドライバとモータを定義しておく。 :: (L2) |ドライバのデフォルト設定にする :: (L3,L4) |使うモーターを設定する.各ドライバ(A1~A31まで使える)の3つのチャンネル(0~2)のうちどれを使うかを指定する. ::(L5,L6) |ピコモーターのタイプを指定する. 小さいやつ(Tiny Picomotor)は1,大きいやつ(Standard Picomotor)は0に対応する. >typ (driver) (channel) = (type) のように使う. ::( L7,L8) |モータの動作速度を調整できる。デフォルトは2000. ::(L7,L8) |モータの動作速度を調整できる。デフォルトは2000. : (L9) |ドライバを有効にする. >mon (driver) にすると,特定のドライバーだけ有効にする. : (L10) |現在のモータの位置を確認できる(closed-loop driverを使っている場合のみ)。 open-loop driverの場合は単に直前に動かしたステップ数を返す. : (L13,14) |relでモータを動かす目標値を入力する。 末尾に''g''をつけるとすぐに移動を始める. >rel a1=-5000 g : (15) |goを入れるとrelで定めた位置までモータが動く。 : (L15) |goを入れるとrelで定めた位置までモータが動く。 途中で止めたいときは >stp を入力. : (L19) |最後はジョイスティックをオンに戻しておく。シリアル通信の接続を切る方法は上に記してある通り。 以上がシリアル通信の接続方法である. 接続した後に,どのコマンドでどのように動かすかなど, コマンドの詳しいことについては[[レファレンス>https://granite.phys.s.u-tokyo.ac.jp/wiki/Lab/index.php?plugin=attach&pcmd=open&file=87XX_Manual_RevC.pdf&refer=AndoLabInstrumentsPico8752]] を参照されたし. ただしこのcontrollerは古くてもはや公式サイトが存在しないので注意.