モータドライバの設定
モータドライバの設定
/setMicrostepMode (int)motorID (int)STEP_SEL
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
| STEP_SEL | 0-7 | Micro stepping mode |
実行可能タイミング
HiZ状態
説明
マイクロステッピングのモードを切り替えます。
| STEP_SEL | Micro stepping mode |
|---|---|
| 0 | Full-step |
| 1 | Half-step |
| 2 | 1/4 microstep |
| 3 | 1/8 microstep |
| 4 | 1/16 microstep |
| 5 | 1/32 microstep |
| 6 | 1/64 microstep |
| 7 | 1/128 microstep |
初期状態では1/128マイクロステップモードになっています。
定電流制御モード (current mode) では、Full-stepから1/16 microstepまでしか使えません。
初期値
7 (1/128 microstep)
/getMicrostepMode (int)motorID
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
実行可能タイミング
常時
説明
マイクロステッピングのモードを取得します。STEP_SELについては/setMicrostepModeの項目を参照してください。
返答
/microstepMode (int)motorID (int)STEP_SEL
/enableLowSpeedOptimize (int)motorID (bool)enable
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
| enable | 0-1 | 1で有効, 0で無効 |
実行可能タイミング
モータ停止時
説明
低速回転時の相電流ひずみ補正 (Low speed optimization) の有効無効を切り替えます。この設定が有効になっていると、Min Speed は自動的に0になります。この補正は電圧モードでのみ利用可能です。詳しくは対応するデータシートの "Low speed optimization"を参照してください。
初期値
0 (無効)
/setLowSpeedOptimizeThreshold (int)motorID (float)lowSpeedOptimizationThreshold
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
| lowSpeedOptimizationThreshold | 0.0 - 976.3 [step/s] | Low speed optimization threshold |
実行可能タイミング
モータ停止時
説明
低速回転時の相電流ひずみ補正を行う閾値を設定します。
下記の/getLowSpeedOptimizeThresholdと同じ返答があります。
初期値
20.0 [step/s]
/getLowSpeedOptimizeThreshold (int)motorID
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
実行可能タイミング
常時
説明
Low speed optimization threshold の現在の設定値を取得します。
返答
/lowSpeedOptimizeThreshold (int)motorID (float)lowSpeedOptimizeThreshold
状態の取得
/enableBusyReport (int)motorID (bool)enable
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
| enable | 0-1 | 1で有効, 0で無効 |
実行可能タイミング
常時
説明
指定したモータのBUSY状態に変化があったら自動でメッセージを送信する設定を行います。メッセージは/getBusyの返答と同じです。
初期値
0 (無効)
/getBusy (int)motorID
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
実行可能タイミング
常時
説明
指定したモータのBUSY状態を取得します。
返答
/busy (int)motorID (bool)state
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8 | モータのID |
| state | 0-1 | 1:BUSYの場合, 0:BUSYでない場合 |
/enableHizReport (int)motorID (bool)enable
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
| enable | 0-1 | 1で有効, 0で無効 |
実行可能タイミング
常時
説明
指定したモータのHiZ(ハイインピーダンス)状態に変化があったら自動でメッセージを送信する設定を行います。送信されるメッセージは/getHiZの返答と同じです。
初期値
0 (無効)
/getHiZ (int)motorID
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
実行可能タイミング
常時
説明
指定したモータのHiZ状態を取得します。
返答
/HiZ (int)motorID (bool)state
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8 | モータのID |
| state | 0-1 | 1:HiZ状態の場合, 0:HiZ状態でない場合 |
/enableDirReport (int)motorID (bool)enable
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
| enable | 0-1 | 1で有効, 0で無効 |
実行可能タイミング
常時
説明
指定したモータの回転方向に変化があったら自動でメッセージを送信する設定を行います。送信されるメッセージは/getDirの返答と同じです。
初期値
0 (無効)
/getDir (int)motorID
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
実行可能タイミング
常時
説明
指定したモータの回転方向を取得します。
返答
/dir (int)motorID (bool)direction
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8 | モータのID |
| direction | 0-1 | 1:正転方向, 0:逆転方向 |
/enableMotorStatusReport (int)motorID (bool)enable
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
| enable | 0-1 | 1で有効, 0で無効 |
実行可能タイミング
常時
説明
指定したモータの動作状態(MOT_STATUS)に変化があったら自動でメッセージを送信する設定を行います。メッセージは/getMotorStatusの返答と同じです。
初期値
0 (無効)
/getMotorStatus (int)motorID
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
実行可能タイミング
常時
説明
指定したモータの動作状態(MOT_STATUS)を取得します。
返答
/motorStatus (int)motorID (int)MOT_STATUS
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8 | モータのID |
| MOT_STATUS | 0-3 | Motor status |
Motor status
| MOT_STATUS | Motor status |
|---|---|
| 0 | モータ停止 |
| 1 | 加速中 |
| 2 | 減速中 |
| 3 | 一定速運転中 |
/setPositionReportInterval (int)motorID (int)interval
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
| interval | 0-2147483647 | 送信間隔 [ms] |
実行可能タイミング
常時
説明
指定したモータの現在位置 (ABS_POS) を指定間隔で自動送信します。0を指定すると無効化され、送信を停止します。
いずれかのモータで有効化された場合、/setPositionListReportIntervalは無効になり自動停止します。
返答
/getPosition と同じ返答があります。
初期値
0 (無効)
/setPositionListReportInterval (int)interval
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| interval | 0-2147483647 | 送信間隔 [ms] |
実行可能タイミング
常時
説明
全モータの現在位置 (ABS_POS) をひとつのリストにまとめたメッセージを指定間隔で自動送信します。0を指定すると無効化され、送信を停止します。
このコマンドが有効化される際には /setPositionIntervalはすべての軸で無効になり自動停止します。
返答
/getPositionList と同じ返答があります。
初期値
0 (無効)
デバッグ
/getAdcVal (int)motorID
STEP400のみ
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4, 255 | モータのID |
実行可能タイミング
常時
説明
PowerSTEP01チップのADC_OUTレジスタの値を取得します。このレジスタはADCピンの電圧を5ビットでAD変換した値が収められています。このピンは10kΩでプルアップされていて、LIMITSWコネクタに接続されています。
返答
/adcVal (int)motorID (int)ADC_OUT
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4, 255 | モータのID |
| ADC_OUT | 0-31 | 5bitのADC_OUTレジスタ |
/getStatus (int)motorID
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
実行可能タイミング
常時
説明
モータドライバ(PowerSTEP01/L6470)のステータスレジスタを取得します。ステータスレジスタにはモータやアラーム、スイッチの状態などが含まれます。
返答
/status (int)motorID (int)status
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
| status | 0-65535(0xFFFF) | 16bitのSTATUSレジスタ |
レジスタに含まれる情報は、データシートを参照してください。このうち、一部の値はラッチされていて、ステータスレジスタを読み出すとリセットされます。本デバイスではファームウェアによって常時ステータスレジスタを繰り返し取得しているため、これらの値はすぐにリセットされてしまいます。これらの事象を個別に報告する設定が可能ですので、そちらを利用してください。
| ステータスbit名 (STEP400) | ステータスbit名 (STEP800) | 対応する設定コマンド |
|---|---|---|
| UVLO | UVLO | /enableUvloReport |
| UVLO_ADC | - | この機能はSTEP400では使えませんので常時無効になっています。 |
| OCD | OCD | /enableOverCurrentReport |
| STALL_A, STALL_B | STEP_LOSS_A, STEP_LOSS_B | /enableStallReport |
| CMD_ERROR | WRONG_CMD, NOTPREF_CMD | /enableCommandErrorReport |
| TH_STATUS | TH_WRN, TH_SD | /enableThermalStatusReport |
| SW_EVN | SW_EVN | /enableHomeSwReport |
| MOT_STATUS | MOT_STATUS | /enableMotorStatusReport |
| SW_F | SW_F | /enableHomeSwReport |
| BUSY | BUSY | /enableBusyReport |
| HiZ | HiZ | /enableHizReport |
/getConfigRegister (int)motorID
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
実行可能タイミング
常時
説明
モータドライバ(PowerSTEP01/L6470)のCONFIGレジスタを取得します。CONFIGレジスタにはモータやアラーム、スイッチの状態などが含まれます。
返答
/configRegister (int)motorID (int)CONFIG
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8 | モータのID |
| CONFIG | 0-65535(0xFFFF) | 16bitのCONFIGレジスタ |
CONFIGレジスタにはモータドライバの各種設定が収められています。詳細についてはモータドライバのデータシートを参照してください。
/resetMotorDriver (int)motorID
アーギュメント
| アーギュメント | 範囲 | 説明 |
|---|---|---|
| motorID | 1-4/1-8, 255 | モータのID |
実行可能タイミング
常時
説明
モータドライバ (PowerSTEP01/L6470) をリセットし、初期設定値を再度書き込みます。