モータドライバの設定
Contents
モータドライバの設定
/setMicrostepMode (int)motorID (int)STEP_SEL
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 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, 255 | モータのID |
実行可能タイミング
常時
説明
マイクロステッピングのモードを取得します。STEP_SELについては/setMicrostepMode
の項目を参照してください。
返答
/microstepMode (int)motorID (int)STEP_SEL
/setLowSpeedOptimizeThreshold (int)motorID (float)lowSpeedOptimizationThreshold
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
lowSpeedOptimizationThreshold | 0.0 - 976.3 [step/s] | Low speed optimization threshold |
実行可能タイミング
モータ停止時
説明
低速回転時の相電流ひずみ補正を行う閾値を設定します。詳しくはデータシートの "8.3 Low speed optimization"を参照してください。
下記の/getLowSpeedOptimizeThreshold
と同じ返答があります。
初期値
20.0 [step/s]
/getLowSpeedOptimizeThreshold (int)motorID
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
実行可能タイミング
常時
説明
Low speed optimization threshold の現在の設定値を取得します。
返答
/lowSpeedOptimizeThreshold (int)motorID (float)lowSpeedOptimizeThreshold
状態の取得
/enableBusyReport (int)motorID (bool)enable
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
enable | 0-1 | 1で有効, 0で無効 |
実行可能タイミング
常時
説明
指定したモータのBUSY状態に変化があったら自動でメッセージを送信する設定を行います。メッセージは/getBusy
の返答と同じです。
初期値
0 (無効)
/getBusy (int)motorID
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
実行可能タイミング
常時
説明
指定したモータのBUSY状態を取得します。
返答
/busy (int)motorID (bool)state
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4 | モータのID |
state | 0-1 | 1:BUSYの場合, 0:BUSYでない場合 |
/enableHizReport (int)motorID (bool)enable
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
enable | 0-1 | 1で有効, 0で無効 |
実行可能タイミング
常時
説明
指定したモータのHiZ(ハイインピーダンス)状態に変化があったら自動でメッセージを送信する設定を行います。送信されるメッセージは/getHiZ
の返答と同じです。
初期値
0 (無効)
/getHiZ (int)motorID
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
実行可能タイミング
常時
説明
指定したモータのHiZ状態を取得します。
返答
/HiZ (int)motorID (bool)state
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4 | モータのID |
state | 0-1 | 1:HiZ状態の場合, 0:HiZ状態でない場合 |
/enableMotorStatusReport (int)motorID (bool)enable
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
enable | 0-1 | 1で有効, 0で無効 |
実行可能タイミング
常時
説明
指定したモータの動作状態(MOT_STATUS)に変化があったら自動でメッセージを送信する設定を行います。メッセージは/getMotorStatus
の返答と同じです。
初期値
0 (無効)
/getMotorStatus (int)motorID
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
実行可能タイミング
常時
説明
指定したモータの動作状態(MOT_STATUS)を取得します。
返答
/motorStatus (int)motorID (int)MOT_STATUS
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4 | モータのID |
MOT_STATUS | 0-3 | Motor status |
Motor status
MOT_STATUS | Motor status |
---|---|
0 | モータ停止 |
1 | 加速中 |
2 | 減速中 |
3 | 一定速運転中 |
デバッグ
/getAdcVal (int)motorID
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
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, 255 | モータのID |
実行可能タイミング
常時
説明
モータドライバ(PowerSTEP01)のステータスレジスタを取得します。ステータスレジスタにはモータやアラーム、スイッチの状態などが含まれます。
返答
/status (int)motorID (int)status
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
status | 0-65535(0xFFFF) | 16bitのSTATUSレジスタ |
レジスタに含まれる情報は、データシートの "11.1.28 STATUS" を参照してください。このうち、UVLO, UVLO_ADC, OCD, STEP_LOSS_A, STEP_LOSS_B, CMD_ERROR, SW_EVN, TH_STATUS の値はラッチされていて、ステータスレジスタを読み出すとリセットされます。STEP400ではファームウェアによって常時ステータスレジスタを繰り返し取得しているため、これらの値はすぐにリセットされてしまいます。これらの事象を個別に報告する設定が可能ですので、そちらを利用してください。
ステータスbit名 | 対応する設定コマンド |
---|---|
UVLO | /enableUvloReport |
UVLO_ADC | この機能はSTEP400では使えませんので常時無効になっています。 |
OCD | /enableOverCurrentReport |
STEP_LOSS_A, STEP_LOSS_B | /enableStallReport |
CMD_ERROR | /enableCommandErrorReport |
TH_STATUS | /enableThermalStatusReport |
SW_EVN | /enableHomeSwReport |
MOT_STATUS | /enableMotorStatusReport |
SW_F | /enableHomeSwReport |
BUSY | /enableBusyReport |
HiZ | /enableHizReport |
/getConfigRegister (int)motorID
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
実行可能タイミング
常時
説明
モータドライバ(PowerSTEP01)のCONFIGレジスタを取得します。CONFIGレジスタにはモータやアラーム、スイッチの状態などが含まれます。
返答
/configRegister (int)motorID (int)CONFIG
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4 | モータのID |
CONFIG | 0-65535(0xFFFF) | 16bitのCONFIGレジスタ |
CONFIGレジスタにはモータドライバの各種設定が収められています。詳細についてはPowerSTEP01のデータシートを参照してください。
/resetMotorDriver (int)motorID
アーギュメント
アーギュメント | 範囲 | 説明 |
---|---|---|
motorID | 1-4, 255 | モータのID |
実行可能タイミング
常時
説明
モータドライバ (PowerSTEP01) をリセットし、設定値を再度書き込みます。