Differences between revisions 20 and 184 (spanning 164 versions)
Revision 20 as of 2017-10-05 18:43:26
Size: 1538
Editor: AyakaShoda
Comment:
Revision 184 as of 2021-02-09 14:44:45
Size: 21508
Editor: satoru.ikeda
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<<TableOfContents(3)>>
Line 2: Line 4:

== DriverList ==


== Configuration ==
[[attachment:configuration|{{attachment:スクリーンショット 2017-05-01 19.20.17.png|latest sensitivity curve|width="600"}}]]
[[attachment:configuration|{{attachment:スクリーンショット 2017-05-01 19.20.17.png|latest sensitivity curve|width="500"}}]]

This system is to control the stepper motor of GAS and IP in VIS suspension using the KAGRA DGS network.

 * If you control with serial in local place, please see the manual written by Sekiguch [[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=2512|JGW-T1402512]].
 * In this system, anyone control stepper motor with medm screen via EPICS channels managed by PCAS (Potable Channel Access Server).
 * 2017/10/13 : medm screen is not yet.

== Motor Specifications ==
=== Environment ===
 * Controller: TMCM-6110
 * Motor: AML D42.2
=== Motor drive method and motor Rotation ===
 * FULL step: 200steps / Rotation
 * Micro step(x256): 51200steps / Rotation
=== stallGuard2 ===
 * [[KAGRA/Subgroups/DGS/Projects/StepperMotor/stallGuard2|stallGuard2]]

== How to use ==
=== About the control script ===
コマンド送信はPythonのソケット通信ライブラリを使って実装、ライブラリ化した。

 * モータドライバ側はBinaryでコマンドを受け付けるので注意が必要。設定すればASCIIでも可。
 * バイナリコマンドを直接socketで送りつけるPythonコードがあったので、それを使う。
 * それ改変して、最小限動かすのに必要な関数を集めたPythonクラス ’KAGRA_stepper’ を用意した。
 * 実際のモータを動かすための設定ファイルを用意した。(モータの配線、IPの自由度へのマトリックス)

=== Quick Start ===
Run the PCAS to activate the EPICS channels for stepper motor control.

 * PCAサーバは、各EPICSチャンネルの値の変更に応じて指定のコマンドを送るためのもの
 * なので起動しないと、ボタンを押してもコマンドが送れずモータが動作しない。
 * 起動をするには、MEDM画面からボタンを押すだけ(の予定)

After activate, control the stepper motor using the medm screen

 * --(まだスクリーンをつくっていない)--
 * 速度を設定する。デフォルトで500
 * 加速度を設定する。デフォルトで500
 * 動かす。FWDで正転、REVで反転
Line 10: Line 46:
ユーザがTelnetでコマンドを送信するには,(1)Nport5150のRS485-Ethernet変換の設定(2)TMCM6110の環境設定が必要である。
=== Nport5150の設定 ===
[[attachment:configuration|{{attachment:SerialSetting.png|latest sensitivity curve|width="900"}}]]

[[attachment:configuration|{{attachment:NportSetting.png|latest sensitivity curve|width="900"}}]]

[[attachment:configuration|{{attachment:NetworkSetting.PNG|latest sensitivity curve|width="600"}}]]

Please change the IP address according to where you want to use it.

=== TMCM6110の設定 ===

See [[KAGRA/Subgroups/VIS/OpsManual/Stepper| Stepper motor driver installation]]
=== Nport5150 ===
Serial setting

 * Baudrte : 9600
 * DataBit : 8
 * StopBit : 1
 * Parity : None
 * FIFO : Enable

Network setting

 * IPaddress : 10.68.150.xx (Please change the IP address according to where you want to use it.)
 * Netmask : 255.255.0.0
 * Gateway : 10.68.10.1
 * IP Configuration : Static

Operation Mode setting

 * choose ’TCP Server Mode’
 * port : 4001

=== TMCM6110 ===
Line 23: Line 72:
=== How to control the motors from python script ===
(At point at 17/10/5)

* Go to the directory: /kagra/Dropbox/Subsystem/VIS/TypeBp/Script/steppingmotor/

* start ipython

* in ipython, type the command as follows.
=== Control Script (No need) ===
ドライバーに接続されているモータの名前を[[https://www.dropbox.com/home/Personal/miyo/script/stepper?preview=param.py|param.py]]に書き下す。

 * param.py はモータ名とドライバに接続するポート番号を定義するためのファイル。
 * 原則的に一台目をGAS,二代目をIPにつかう。
 * しかし,TypeBではランダムで配線しているので,かならずparam.pyを書き換える。

IPだけ,どのモータがIPの自由度にたいしてつながっているかparam.pyに書き下す

 * 同時に動かすべきモータの組み合わせをparam.py内にある行列に書き換える。

== How to actuate (On 18/02/26) ==
=== Actuate fishing rods from medm screen (On 18/06/04) ===
==== Initial activate ====
{{{
$ ssh k1script1
$ step_start SERVER_NAME
}}}
SERVER_NAME is the EPICS channel name after K1:STEPPER_. (i.e., PR2_GAS) If the lines

Stepper has been migrated from k1script (Python2) to k1script1 (Python3).

{{{
Reconnecting...
Testing connection:
...ok
}}}
appears in the command line, it is ok. otherwise, check server configuration.

When the work is finished, step_start is exited.
After 2020/10/26, you can add "-kill" to the command argument to terminate it.
{{{
$ step_start SERVER_NAME -kill
}}}

==== How to use ====
 * Press "UPDATE" to check the current position of the motor. Note that the number is initialized when you turn the driver off.
 * Set '''RELATIVE''' steps to actuate in "STEP" box. (i,e, it does driver.setTargetPosition(POSITION+STEP,motorAddress))
 * Press '''ENTER''' one or more times until the desired position is reached.
 * Press "STOP" for emergency stop.

{{attachment:FR_medm.GIF}}

(ref: [[http://klog.icrr.u-tokyo.ac.jp/osl/?r=4161|klog4161]])

=== How to actuate IP stepping motors from medm screen (On 18/02/28) ===
==== Initial Activate ====
{{{
$ ssh k1script1
$ step_start SERVER_NAME
}}}
SERVER_NAME is the EPICS channel name after K1:STEPPER_. (i.e., BS_IP) If the lines

Stepper has been migrated from k1script (Python2) to k1script1 (Python3).

{{{
Reconnecting...
Testing connection:
...ok
}}}
appears in the command line, it is ok. otherwise, check server configuration.

When the work is finished, step_start is exited.
After 2020/10/26, you can add "-kill" to the command argument to terminate it.
{{{
$ step_start SERVER_NAME -kill
}}}

==== Configuration ====
There are two types of alignment of the IP stepping motors, which we call Type-SR (left), Type-BS (center), and Type-TM (right).

{{attachment:IP_Type-SR.gif||width="350"}} {{attachment:IP_Type-BS.gif||width="350"}} {{attachment:IP_Type-TM.gif||width="350"}}

SRs have Type-SR, while BS has Type-BS. Type-A towers have Type-TM.

The connection assign is loaded from conf.py in the script file, including the sign of the motor actuation. Refer the table below for the connection assignment as well.

=== How to check the log ===
The log files remain in /kagra/Dropbox/Subsystems/VIS/Scripts/StepMotor/LogFiles/ Check the log files with each prefix.

=== How to actuate from the command line (On 17/10/5) ===
確認のしかた

 * Go to the directory: /kagra/Dropbox/Subsystems/VIS/TypeBp/Scripts/steppingmotor/
 * start ipython
 * in ipython, type the command as follows.
Line 39: Line 167:
* In order to move it,  * In order to check the current position,

{{{
driver.getTargetPosition(motor_number)
}}}
 * In order to move it,
Line 42: Line 176:
}}}
Insert the relative step in to the 'step', and insert the motor number into 'motor_number.'
}}}
Insert the absolute step in to the 'step', and insert the motor number into 'motor_number.'

<<BR>> B) B) B) Also, there is a convenient script which Miyamoto-san wrote. The script moves all the three stepping motors at once for the type A IPs so that one can request the motion in (L, T, Y) basis.

{{{
import controlInvertedPendulum as myip
miyamoto = myip.controlIP()
miyamoto.connectTCP('your ip address', 4001)
miyamoto.reconnect()
}}}
 * In order to move it,

{{{
miyamoto.move_LONG(step)
}}}
/!\ Caution that the step value in the `move_(LONG|YAW|TRANS)` command corresponds to the '''relative''' move from the current position.

== Driver List ==
[[https://docs.google.com/spreadsheets/d/1eePcJB_O5vPhrYg0hgAbrvU-9jwiHGU2hx-cbhrI6CM/edit?usp=sharing|Master List]]

||EPICS channel name ||Driver IP Address ||Installation ||klog ||JGW-S ||Memo ||Motor assign ||Sign of the script (when positive value) ||
||K1:STEPPER_PR2_GAS ||10.68.150.40 ||◯ ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=5642|JGW-S1605642]] ||- ||0:BF, 1: SF ||Supposed to rotate right||
||K1:STEPPER_PR0_GAS ||10.68.150.41 ||◯ ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6035|JGW-S1706035]] ||- ||0:BF, 1: SF ||Supposed to rotate right||
||K1:STEPPER_PR0_GAS ||10.68.150.41 ||◯ ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6035|JGW-S1706035]] ||- ||2:BF, 3: SF ||Supposed to rotate right||
||K1:STEPPER_ITMX_GAS ||10.68.150.43 ||◯ ||[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=5321|5321]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6034|JGW-S1706034]] ||- ||- ||Supposed to rotate right||
||K1:STEPPER_ITMX_IP ||10.68.150.44 ||◯ ||[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=5321|5321]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6042|JGW-S1706042]] ||- ||- ||Supposed to rotate right||
||K1:STEPPER_ETMX_GAS ||10.68.150.45 ||◯ ||[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=3566|3566]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6041|JGW-S1706041]] ||- ||<style="text-align:center" |2>See [[http://gwwiki.icrr.u-tokyo.ac.jp/JGWwiki/KAGRA/Subgroups/VIS/TypeA/ETMX|ETMX status]](IP A:1, B:2, C:3, YAW:0) ||Supposed to rotate right||
||K1:STEPPER_ETMX_IP ||10.68.150.46 ||◯ ||[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=3566|3566]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6037|JGW-S1706037]] ||- ||Supposed to rotate right||
||K1:STEPPER_ITMY_GAS ||10.68.150.47 ||◯ ||[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=6162|6162]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6031|JGW-S1706031]] ||- ||- ||Supposed to rotate right||
||K1:STEPPER_ITMY_IP ||10.68.150.48 ||- ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=8437|JGW-S1808437]] ||- ||- ||Supposed to rotate right||
||K1:STEPPER_ETMY_GAS ||10.68.150.49 ||◯ ||<style="text-align:center" |2>[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=3790|3790]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6039|JGW-S1706039]] ||- ||<style="text-align:center" |2>See [[http://gwwiki.icrr.u-tokyo.ac.jp/JGWwiki/KAGRA/Subgroups/VIS/TypeA/ETMY|ETMY status]](IP A:1, B:2, C:3, YAW:0) ||Supposed to rotate right||
||K1:STEPPER_ETMY_IP ||10.68.150.50 ||◯ ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6043|JGW-S1706043]] ||- ||Supposed to rotate right||
||K1:STEPPER_BS_GAS ||[[http://10.68.150.51|10.68.150.51]] ||◯ ||[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=3509|3509]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6032|JGW-S1706032]] ||BS second floor ||'''0: '''BF, '''1: '''F1, '''2:''' '''not used''', '''3:''' F0 ||Supposed to rotate right||
||K1:STEPPER_BS_IP ||[[http://10.68.150.52|10.68.150.52]] ||◯ ||[[http://klog.icrr.u-tokyo.ac.jp/osl/?r=7190|7190]] ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6044|JGW-S1706044]] ||BS second floor ||0:A, 1:B, 2:C, 3:YAW ||Supposed to rotate right||
||K1:STEPPER_SR2_GAS ||[[http://10.68.150.53|10.68.150.53]] ||◯ ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6036|JGW-S1706036]] ||SR2 small rack second floor ||'''0: '''BF, '''1: '''F1, '''2:''' F0 ||Supposed to rotate right(Plans to change the value of [[http://klog.icrr.u-tokyo.ac.jp/osl/?r= 15272 | 15272]]in the future)||
||K1:STEPPER_SR2_IP ||[[http://10.68.150.54|10.68.150.54]] ||◯ ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6040|JGW-S1706040]] ||SR2 small rack second floor ||0:A, 1:B, 2:C, 3:YAW ||Supposed to rotate right(Plans to change the value of [[http://klog.icrr.u-tokyo.ac.jp/osl/?r= 15272 | 15272]]in the future)||
||K1:STEPPER_SR3_GAS ||[[http://10.68.150.55|10.68.150.55]] ||◯ ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6038|JGW-S1706038]] ||SR3 second floor ||'''0: '''BF, '''1: '''F1, '''2:'''not used, '''3:''' F0 (2020/11/26change from 2 to 3:Klog#15541) ||Supposed to rotate right(Plans to change the value of [[http://klog.icrr.u-tokyo.ac.jp/osl/?r= 15272 | 15272]]in the future)||
||K1:STEPPER_SR3_IP ||[[http://10.68.150.56|10.68.150.56]] ||◯ ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=8436|JGW-S1808436]] ||SR3 second floor ||0:A, 1:B, 2:C, 3:YAW ||Supposed to rotate right(Plans to change the value of [[http://klog.icrr.u-tokyo.ac.jp/osl/?r= 15272 | 15272]]in the future)||
||K1:STEPPER_SRM_GAS ||[[http://10.68.150.57|10.68.150.57]] ||◯ ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6035|JGW-S1706035]] ||SRM small rack second floor ||'''0: '''BF, '''1: '''F1, '''2:''' '''F0''', '''4:''' Doesn't work([[http://klog.icrr.u-tokyo.ac.jp/osl/?r= 15685|15685]]) || Supposed to rotate right(Plans to change the value of [[http://klog.icrr.u-tokyo.ac.jp/osl/?r= 15272 | 15272]]in the future)||
||K1:STEPPER_SRM_IP ||[[http://10.68.150.58|10.68.150.58]] ||◯ ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=8438|JGW-S1808438]] ||SRM small rack second floor ||0:A, 1:B, 2:C, '''3,4: not used(Broken)''', '''5''':YAW (2020/11/25 change from 4 to 5) || Supposed to rotate right(Plans to change the value of [[http://klog.icrr.u-tokyo.ac.jp/osl/?r= 15272 | 15272]]in the future)||
||K1:PHY_ETMY ||10.68.150.59 ||- ||- ||- ||ETMY for cryo-p ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=12505|JGW-G2112505]] || ||
||K1:PHY_ETMX ||10.68.150.60 ||- ||- ||- ||ETMX for cryo-p ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=12505|JGW-G2112505]] || ||
||K1:PHY_ITMY ||10.68.150.61 ||- ||- ||- ||ITMY for cryo-p ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=12505|JGW-G2112505]] || ||
||K1:PHY_ITMX ||10.68.150.62 ||- ||- ||- ||ITMX for cryo-p ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=12505|JGW-G2112505]] || ||
||- ||- ||- ||- ||[[https://gwdoc.icrr.u-tokyo.ac.jp/cgi-bin/private/DocDB/ShowDocument?docid=6045|JGW-S1706045]] ||water damaged; klog 7190 ||- || ||

== Limit Switch Install Status (2021/01/15) ==
||EPICS channel name ||DOF ||Limit Switch Install ||Limit Switch Enable/Disable ||Memo ||
||<^|2>K1:STEPPER_PR2_GAS || SF ||None || || ||
||BF ||None || || ||
||<^|2>K1:STEPPER_PR0_GAS ||SF ||None || || ||
||BF|| None || || ||
||<^|2>K1:STEPPER_PR0_GAS ||SF ||None || || ||
||BF|| None || || ||
||<^|5>K1:STEPPER_ITMX_GAS ||F0 ||None(Plans to install) ||Disable(Plans to Enable) || ||
||F1 ||None || || ||
||F2 ||None || || ||
||F3 ||None || || ||
||BF ||None || || ||
||<^|4>K1:STEPPER_ITMX_IP || IP H1(A) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||IP H2(B) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||IP H3(C) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||F0 YAW ||None(Plans to install) ||Disable(Plans to Enable) || ||
||<^|5>K1:STEPPER_ETMX_GAS ||F0 || None(Plans to install) ||Disable(Plans to Enable) || ||
||F1 ||None || || ||
||F2 ||None || || ||
||F3 ||None || || ||
||BF ||None || || ||
||<^|4>K1:STEPPER_ETMX_IP || IP H1(A) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||IP H2(B) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||IP H3(C) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||F0 YAW ||None(Plans to install) ||Disable(Plans to Enable) || ||
||<^|5>K1:STEPPER_ITMY_GAS ||F0 ||None(Plans to install) ||Disable(Plans to Enable) || ||
||F1 ||None || || ||
||F2 ||None || || ||
||F3 ||None || || ||
||BF ||None || || ||
||<^|4>K1:STEPPER_ITMY_IP ||IP H1(A) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||IP H2(B) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||IP H3(C) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||F0 YAW ||None(Plans to install) ||Disable(Plans to Enable) || ||
||<^|5>K1:STEPPER_ETMY_GAS ||F0 ||None(Plans to install) ||Disable(Plans to Enable) || ||
||F1 ||None || || ||
||F2 ||None || || ||
||F3 ||None || || ||
||BF ||None || || ||
||<^|4>K1:STEPPER_ETMY_IP ||IP H1(A) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||IP H2(B) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||IP H3(C) ||Installed & Not Check(Plans to check) ||Disable(Plans to Enable) || ||
||F0 YAW ||None(Plans to install) ||Disable(Plans to Enable) || ||
||<^|3>K1:STEPPER_BS_GAS ||F0 ||Installed & Check OK ||Disable(Plans to Enable) ||[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15680 |15680]], [[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r= 15729| 15729]] ||
||F1 ||None || || ||
||BF ||None || || ||
||<^|4>K1:STEPPER_BS_IP ||IP H1(A) ||Installed & Check OK ||Disable(Plans to Enable) ||<^|3>[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r= 15680 | 15680]] ||
||IP H2(B) ||Installed & Check OK ||Disable(Plans to Enable) || ||
||IP H3(C) ||Installed & Check OK ||Disable(Plans to Enable) || ||
||F0 YAW ||Installed & Check OK ||Disable(Plans to Enable) ||[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r= 15729| 15729]] ||
||<^|3>K1:STEPPER_SR2_GAS || F0 ||None(Plans to install) ||Disable(Plans to Enable) || ||
||F1 ||None || || ||
||BF ||None || || ||
||<^|4>K1:STEPPER_SR2_IP ||IP H1(A) ||-Yaw(Left): Bad, +Yaw(Right):OK ||Disable(Plans to Enable) ||<^|3>[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15583|15583]], [[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15593|15593]] ||
||IP H2(B) ||Both(L,R) OK, Install Spring useless? ||Disable(Plans to Enable) ||
||IP H3(C) ||Both(L,R) OK, Install Spring useless? ||Disable(Plans to Enable) ||
||F0 YAW ||None(Plans to install) ||Disable(Plans to Enable) ||[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15583|15583]], [[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15593|15593]] ||
||<^|3>K1:STEPPER_SR3_GAS || F0 ||Installed & Check OK ||Disable(Plans to Enable) ||[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15582|15582]] ||
||F1 ||None || || ||
||BF ||None || || ||
||<^|4>K1:STEPPER_SR3_IP ||IP H1(A) ||-Yaw(Left) Bad +Yaw(Right):OK ||Disable(Plans to Enable) ||<^|3>[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15592|15592]] ||
||IP H2(B) ||Both(L,R) OK Installed Spring useless? ||Disable(Plans to Enable) ||
||IP H3(C) ||Both(L,R) OK Installed Spring useless? ||Disable(Plans to Enable) ||
||F0 YAW ||None(Plans to install) ||Disable(Plans to Enable) ||[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15592|15592]], [[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15541|15541]] ||
||<^|3>K1:STEPPER_SRM_GAS ||F0 ||Installed? Change the polarity? ||Disable(Plans to Enable) ||[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15534|15534]] ||
||F1 ||None || || ||
||BF ||None || || ||
||<^|4>K1:STEPPER_SRM_IP ||IP H1(A) ||-YAW(Left):didn't come back. Installed Spring useless ||Disable(Plans to Enable) ||<^|3>[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15484|15484]], [[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15530|15530]]||
||IP H2(B) ||Installed Spring useless ||Disable(Plans to Enable) ||
||IP H3(C) ||Installed Spring useless ||Disable(Plans to Enable) ||
||F0 YAW ||Installed & Check OK ||Disable(Plans to Enable) ||[[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15484|15484]], [[http://klog.icrr.u-tokyo.ac.jp/osl/index.php?r=15530|15530]] ||

== Stepper Screw pitch(2021/01/15) ==
||optic ||DOF ||Screw pitch || 1step辺りの駆動量[um/step] ||
||<(> PRM,PR3,PR2_GAS ||SF/BF ||M6(1.0mm) ||0.01953125 ||
||<(> ITMX,ETMX,ITMY,ETMY_GAS ||F0/F1/F2/F3/BF ||M6(1.0mm) ||0.01953125 ||
||<^|2(> ITMX,ETMX,ITMY,ETMY_IP ||IP H1/H2/H3 ||M6(1.0mm) ||0.01953125 ||
||<(> F0YAW ||M5(0.8mm) ||0.015625 ||
||<(> BS_GAS ||F0/F1/BF ||M6(1.0mm) ||0.01953125 ||
||<^|2(> BS_IP ||IP H1/H2/H3 ||M5(0.8mm) ||0.015625 ||
||<(> F0YAW ||M5(0.8mm) ||0.015625 ||
||<(> SRM,SR2,SR3_GAS ||F0/F1/BF ||M6(1.0mm) ||0.01953125 ||
||<^|2(> SRM,SR2,SR3_IP ||IP H1/H2/H3 ||M6(1.0mm) ||0.01953125 ||
||<(> F0YAW ||M5(0.8mm) ||0.015625 ||

== Driver Box List according to JGWDoc on 2018-02-08 ==
 * S1605642 2018-02-08 found in PR2 cleanbooth driving PR2 by Mark B.
 * S1706031 18/01/19- Testing in mozumi by K. Miyo
 * S1706032 2017-10-18 installed in BF second floor (klog 3527) by Enzo
 * S1706033 2018-02-08 Found in PR3 cleanbooth driving PR3/PRM by Mark B.
 * S1706034 2018-02-08 Found in AEL stockroom by Mark B.
 * S1706035 Moved to PRM at 2017/8/8 (A.Shoda) [but not found 2018-02-08 by Mark - apparently replaced by 6033 for both PR3 and PRM]
 * S1706036 2017-12-27 Installed in second floor of SR2 area as SR-GAS by Shoda-san.
 * S1706037 [2017/10/24] Installed into K1EX2 rack by K.Okutomi
 * S1706038 2018-02-07 Reallocated to SR3 and moved to SR3 second floor by Mark
 * S1706039 2017-12-06 Installed in K1EY1 rack as EYV_IP by K. Okutomi (klog 3790).
 * S1706040 2017-12-27 Installed in second floor of SR2 area as SR-PI by Shoda-san.
 * S1706041 [2017/08/22] Installed into K1EX2 rack by K. Okutomi
 * S1706042 2018-02-08 Found in AEL stockroom by Mark B.
 * S1706043 2017-12-06 Installed in K1EY1 rack as EYV_GAS by K. Okutomi (klog 3790).
 * S1706044 2018-02-07 Reallocated to SR3 and moved to SR3 second floor by Mark
 * S1706045 2017-10-18 installed in BF second floor (klog 3527) by Enzo

== Bug ==

Overview

latest sensitivity curve

This system is to control the stepper motor of GAS and IP in VIS suspension using the KAGRA DGS network.

  • If you control with serial in local place, please see the manual written by Sekiguch JGW-T1402512.

  • In this system, anyone control stepper motor with medm screen via EPICS channels managed by PCAS (Potable Channel Access Server).
  • 2017/10/13 : medm screen is not yet.

Motor Specifications

Environment

  • Controller: TMCM-6110
  • Motor: AML D42.2

Motor drive method and motor Rotation

  • FULL step: 200steps / Rotation
  • Micro step(x256): 51200steps / Rotation

stallGuard2

How to use

About the control script

コマンド送信はPythonのソケット通信ライブラリを使って実装、ライブラリ化した。

  • モータドライバ側はBinaryでコマンドを受け付けるので注意が必要。設定すればASCIIでも可。
  • バイナリコマンドを直接socketで送りつけるPythonコードがあったので、それを使う。
  • それ改変して、最小限動かすのに必要な関数を集めたPythonクラス ’KAGRA_stepper’ を用意した。
  • 実際のモータを動かすための設定ファイルを用意した。(モータの配線、IPの自由度へのマトリックス)

Quick Start

Run the PCAS to activate the EPICS channels for stepper motor control.

  • PCAサーバは、各EPICSチャンネルの値の変更に応じて指定のコマンドを送るためのもの
  • なので起動しないと、ボタンを押してもコマンドが送れずモータが動作しない。
  • 起動をするには、MEDM画面からボタンを押すだけ(の予定)

After activate, control the stepper motor using the medm screen

  • まだスクリーンをつくっていない

  • 速度を設定する。デフォルトで500
  • 加速度を設定する。デフォルトで500
  • 動かす。FWDで正転、REVで反転

Setup

See Stepper motor driver installation

Nport5150

Serial setting

Network setting

  • IPaddress : 10.68.150.xx (Please change the IP address according to where you want to use it.)
  • Netmask : 255.255.0.0
  • Gateway : 10.68.10.1
  • IP Configuration : Static

Operation Mode setting

  • choose ’TCP Server Mode’
  • port : 4001

TMCM6110

Do not use in ASCII mode. Use binary mode.

Control Script (No need)

ドライバーに接続されているモータの名前をparam.pyに書き下す。

  • param.py はモータ名とドライバに接続するポート番号を定義するためのファイル。
  • 原則的に一台目をGAS,二代目をIPにつかう。
  • しかし,TypeBではランダムで配線しているので,かならずparam.pyを書き換える。

IPだけ,どのモータがIPの自由度にたいしてつながっているかparam.pyに書き下す

  • 同時に動かすべきモータの組み合わせをparam.py内にある行列に書き換える。

How to actuate (On 18/02/26)

Actuate fishing rods from medm screen (On 18/06/04)

Initial activate

$ ssh k1script1
$ step_start SERVER_NAME

SERVER_NAME is the EPICS channel name after K1:STEPPER_. (i.e., PR2_GAS) If the lines

Stepper has been migrated from k1script (Python2) to k1script1 (Python3).

Reconnecting...
Testing connection:
...ok

appears in the command line, it is ok. otherwise, check server configuration.

When the work is finished, step_start is exited. After 2020/10/26, you can add "-kill" to the command argument to terminate it.

$ step_start SERVER_NAME -kill

How to use

  • Press "UPDATE" to check the current position of the motor. Note that the number is initialized when you turn the driver off.
  • Set RELATIVE steps to actuate in "STEP" box. (i,e, it does driver.setTargetPosition(POSITION+STEP,motorAddress))

  • Press ENTER one or more times until the desired position is reached.

  • Press "STOP" for emergency stop.

FR_medm.GIF

(ref: klog4161)

How to actuate IP stepping motors from medm screen (On 18/02/28)

Initial Activate

$ ssh k1script1
$ step_start SERVER_NAME

SERVER_NAME is the EPICS channel name after K1:STEPPER_. (i.e., BS_IP) If the lines

Stepper has been migrated from k1script (Python2) to k1script1 (Python3).

Reconnecting...
Testing connection:
...ok

appears in the command line, it is ok. otherwise, check server configuration.

When the work is finished, step_start is exited. After 2020/10/26, you can add "-kill" to the command argument to terminate it.

$ step_start SERVER_NAME -kill

Configuration

There are two types of alignment of the IP stepping motors, which we call Type-SR (left), Type-BS (center), and Type-TM (right).

IP_Type-SR.gif IP_Type-BS.gif IP_Type-TM.gif

SRs have Type-SR, while BS has Type-BS. Type-A towers have Type-TM.

The connection assign is loaded from conf.py in the script file, including the sign of the motor actuation. Refer the table below for the connection assignment as well.

How to check the log

The log files remain in /kagra/Dropbox/Subsystems/VIS/Scripts/StepMotor/LogFiles/ Check the log files with each prefix.

How to actuate from the command line (On 17/10/5)

確認のしかた

  • Go to the directory: /kagra/Dropbox/Subsystems/VIS/TypeBp/Scripts/steppingmotor/
  • start ipython
  • in ipython, type the command as follows.

from Trinamic_control6110 import *
driver = Trinamic_control6110()
driver.connectTCP('your ip address', 4001)
driver.reconnect()

and if it says '...ok', the motors are replying. If error occurs, try to restart the motor drivers as well as Nport. Just turn off and on the power.

  • In order to check the current position,

driver.getTargetPosition(motor_number)
  • In order to move it,

driver.setTargetPosition(step,motor_number)

Insert the absolute step in to the 'step', and insert the motor number into 'motor_number.'


B) B) B) Also, there is a convenient script which Miyamoto-san wrote. The script moves all the three stepping motors at once for the type A IPs so that one can request the motion in (L, T, Y) basis.

import controlInvertedPendulum as myip
miyamoto = myip.controlIP()
miyamoto.connectTCP('your ip address', 4001)
miyamoto.reconnect()
  • In order to move it,

miyamoto.move_LONG(step)

/!\ Caution that the step value in the move_(LONG|YAW|TRANS) command corresponds to the relative move from the current position.

Driver List

Master List

EPICS channel name

Driver IP Address

Installation

klog

JGW-S

Memo

Motor assign

Sign of the script (when positive value)

K1:STEPPER_PR2_GAS

10.68.150.40

-

JGW-S1605642

-

0:BF, 1: SF

Supposed to rotate right

K1:STEPPER_PR0_GAS

10.68.150.41

-

JGW-S1706035

-

0:BF, 1: SF

Supposed to rotate right

K1:STEPPER_PR0_GAS

10.68.150.41

-

JGW-S1706035

-

2:BF, 3: SF

Supposed to rotate right

K1:STEPPER_ITMX_GAS

10.68.150.43

5321

JGW-S1706034

-

-

Supposed to rotate right

K1:STEPPER_ITMX_IP

10.68.150.44

5321

JGW-S1706042

-

-

Supposed to rotate right

K1:STEPPER_ETMX_GAS

10.68.150.45

3566

JGW-S1706041

-

See ETMX status(IP A:1, B:2, C:3, YAW:0)

Supposed to rotate right

K1:STEPPER_ETMX_IP

10.68.150.46

3566

JGW-S1706037

-

Supposed to rotate right

K1:STEPPER_ITMY_GAS

10.68.150.47

6162

JGW-S1706031

-

-

Supposed to rotate right

K1:STEPPER_ITMY_IP

10.68.150.48

-

-

JGW-S1808437

-

-

Supposed to rotate right

K1:STEPPER_ETMY_GAS

10.68.150.49

3790

JGW-S1706039

-

See ETMY status(IP A:1, B:2, C:3, YAW:0)

Supposed to rotate right

K1:STEPPER_ETMY_IP

10.68.150.50

JGW-S1706043

-

Supposed to rotate right

K1:STEPPER_BS_GAS

10.68.150.51

3509

JGW-S1706032

BS second floor

0: BF, 1: F1, 2: not used, 3: F0

Supposed to rotate right

K1:STEPPER_BS_IP

10.68.150.52

7190

JGW-S1706044

BS second floor

0:A, 1:B, 2:C, 3:YAW

Supposed to rotate right

K1:STEPPER_SR2_GAS

10.68.150.53

-

JGW-S1706036

SR2 small rack second floor

0: BF, 1: F1, 2: F0

Supposed to rotate right(Plans to change the value of 15272in the future)

K1:STEPPER_SR2_IP

10.68.150.54

-

JGW-S1706040

SR2 small rack second floor

0:A, 1:B, 2:C, 3:YAW

Supposed to rotate right(Plans to change the value of 15272in the future)

K1:STEPPER_SR3_GAS

10.68.150.55

-

JGW-S1706038

SR3 second floor

0: BF, 1: F1, 2:not used, 3: F0 (2020/11/26change from 2 to 3:Klog#15541)

Supposed to rotate right(Plans to change the value of 15272in the future)

K1:STEPPER_SR3_IP

10.68.150.56

-

JGW-S1808436

SR3 second floor

0:A, 1:B, 2:C, 3:YAW

Supposed to rotate right(Plans to change the value of 15272in the future)

K1:STEPPER_SRM_GAS

10.68.150.57

-

JGW-S1706035

SRM small rack second floor

0: BF, 1: F1, 2: F0, 4: Doesn't work(15685)

Supposed to rotate right(Plans to change the value of 15272in the future)

K1:STEPPER_SRM_IP

10.68.150.58

-

JGW-S1808438

SRM small rack second floor

0:A, 1:B, 2:C, 3,4: not used(Broken), 5:YAW (2020/11/25 change from 4 to 5)

Supposed to rotate right(Plans to change the value of 15272in the future)

K1:PHY_ETMY

10.68.150.59

-

-

-

ETMY for cryo-p

JGW-G2112505

K1:PHY_ETMX

10.68.150.60

-

-

-

ETMX for cryo-p

JGW-G2112505

K1:PHY_ITMY

10.68.150.61

-

-

-

ITMY for cryo-p

JGW-G2112505

K1:PHY_ITMX

10.68.150.62

-

-

-

ITMX for cryo-p

JGW-G2112505

-

-

-

-

JGW-S1706045

water damaged; klog 7190

-

Limit Switch Install Status (2021/01/15)

EPICS channel name

DOF

Limit Switch Install

Limit Switch Enable/Disable

Memo

K1:STEPPER_PR2_GAS

SF

None

BF

None

K1:STEPPER_PR0_GAS

SF

None

BF

None

K1:STEPPER_PR0_GAS

SF

None

BF

None

K1:STEPPER_ITMX_GAS

F0

None(Plans to install)

Disable(Plans to Enable)

F1

None

F2

None

F3

None

BF

None

K1:STEPPER_ITMX_IP

IP H1(A)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

IP H2(B)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

IP H3(C)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

F0 YAW

None(Plans to install)

Disable(Plans to Enable)

K1:STEPPER_ETMX_GAS

F0

None(Plans to install)

Disable(Plans to Enable)

F1

None

F2

None

F3

None

BF

None

K1:STEPPER_ETMX_IP

IP H1(A)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

IP H2(B)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

IP H3(C)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

F0 YAW

None(Plans to install)

Disable(Plans to Enable)

K1:STEPPER_ITMY_GAS

F0

None(Plans to install)

Disable(Plans to Enable)

F1

None

F2

None

F3

None

BF

None

K1:STEPPER_ITMY_IP

IP H1(A)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

IP H2(B)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

IP H3(C)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

F0 YAW

None(Plans to install)

Disable(Plans to Enable)

K1:STEPPER_ETMY_GAS

F0

None(Plans to install)

Disable(Plans to Enable)

F1

None

F2

None

F3

None

BF

None

K1:STEPPER_ETMY_IP

IP H1(A)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

IP H2(B)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

IP H3(C)

Installed & Not Check(Plans to check)

Disable(Plans to Enable)

F0 YAW

None(Plans to install)

Disable(Plans to Enable)

K1:STEPPER_BS_GAS

F0

Installed & Check OK

Disable(Plans to Enable)

15680, 15729

F1

None

BF

None

K1:STEPPER_BS_IP

IP H1(A)

Installed & Check OK

Disable(Plans to Enable)

15680

IP H2(B)

Installed & Check OK

Disable(Plans to Enable)

IP H3(C)

Installed & Check OK

Disable(Plans to Enable)

F0 YAW

Installed & Check OK

Disable(Plans to Enable)

15729

K1:STEPPER_SR2_GAS

F0

None(Plans to install)

Disable(Plans to Enable)

F1

None

BF

None

K1:STEPPER_SR2_IP

IP H1(A)

-Yaw(Left): Bad, +Yaw(Right):OK

Disable(Plans to Enable)

15583, 15593

IP H2(B)

Both(L,R) OK, Install Spring useless?

Disable(Plans to Enable)

IP H3(C)

Both(L,R) OK, Install Spring useless?

Disable(Plans to Enable)

F0 YAW

None(Plans to install)

Disable(Plans to Enable)

15583, 15593

K1:STEPPER_SR3_GAS

F0

Installed & Check OK

Disable(Plans to Enable)

15582

F1

None

BF

None

K1:STEPPER_SR3_IP

IP H1(A)

-Yaw(Left) Bad +Yaw(Right):OK

Disable(Plans to Enable)

15592

IP H2(B)

Both(L,R) OK Installed Spring useless?

Disable(Plans to Enable)

IP H3(C)

Both(L,R) OK Installed Spring useless?

Disable(Plans to Enable)

F0 YAW

None(Plans to install)

Disable(Plans to Enable)

15592, 15541

K1:STEPPER_SRM_GAS

F0

Installed? Change the polarity?

Disable(Plans to Enable)

15534

F1

None

BF

None

K1:STEPPER_SRM_IP

IP H1(A)

-YAW(Left):didn't come back. Installed Spring useless

Disable(Plans to Enable)

15484, 15530

IP H2(B)

Installed Spring useless

Disable(Plans to Enable)

IP H3(C)

Installed Spring useless

Disable(Plans to Enable)

F0 YAW

Installed & Check OK

Disable(Plans to Enable)

15484, 15530

Stepper Screw pitch(2021/01/15)

optic

DOF

Screw pitch

1step辺りの駆動量[um/step]

PRM,PR3,PR2_GAS

SF/BF

M6(1.0mm)

0.01953125

ITMX,ETMX,ITMY,ETMY_GAS

F0/F1/F2/F3/BF

M6(1.0mm)

0.01953125

ITMX,ETMX,ITMY,ETMY_IP

IP H1/H2/H3

M6(1.0mm)

0.01953125

F0YAW

M5(0.8mm)

0.015625

BS_GAS

F0/F1/BF

M6(1.0mm)

0.01953125

BS_IP

IP H1/H2/H3

M5(0.8mm)

0.015625

F0YAW

M5(0.8mm)

0.015625

SRM,SR2,SR3_GAS

F0/F1/BF

M6(1.0mm)

0.01953125

SRM,SR2,SR3_IP

IP H1/H2/H3

M6(1.0mm)

0.01953125

F0YAW

M5(0.8mm)

0.015625

Driver Box List according to JGWDoc on 2018-02-08

  • S1605642 2018-02-08 found in PR2 cleanbooth driving PR2 by Mark B.
  • S1706031 18/01/19- Testing in mozumi by K. Miyo
  • S1706032 2017-10-18 installed in BF second floor (klog 3527) by Enzo
  • S1706033 2018-02-08 Found in PR3 cleanbooth driving PR3/PRM by Mark B.
  • S1706034 2018-02-08 Found in AEL stockroom by Mark B.
  • S1706035 Moved to PRM at 2017/8/8 (A.Shoda) [but not found 2018-02-08 by Mark - apparently replaced by 6033 for both PR3 and PRM]
  • S1706036 2017-12-27 Installed in second floor of SR2 area as SR-GAS by Shoda-san.
  • S1706037 [2017/10/24] Installed into K1EX2 rack by K.Okutomi
  • S1706038 2018-02-07 Reallocated to SR3 and moved to SR3 second floor by Mark
  • S1706039 2017-12-06 Installed in K1EY1 rack as EYV_IP by K. Okutomi (klog 3790).
  • S1706040 2017-12-27 Installed in second floor of SR2 area as SR-PI by Shoda-san.
  • S1706041 [2017/08/22] Installed into K1EX2 rack by K. Okutomi
  • S1706042 2018-02-08 Found in AEL stockroom by Mark B.
  • S1706043 2017-12-06 Installed in K1EY1 rack as EYV_GAS by K. Okutomi (klog 3790).
  • S1706044 2018-02-07 Reallocated to SR3 and moved to SR3 second floor by Mark
  • S1706045 2017-10-18 installed in BF second floor (klog 3527) by Enzo

Bug

KAGRA/Subgroups/DGS/Projects/StepperMotor (last edited 2022-08-02 16:57:38 by satoru.ikeda)