Motor driver settings
Motor Driver Settings
/setMicrostepMode (int)motorID (int)STEP_SEL
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
STEP_SEL | 0-7 | Microstepping mode |
Executable timing
High Z state
Description
Switches the micro stepping mode.
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 |
Initially, the microstep mode is set to 1/128. In the constant-current control mode (current mode), only full-step to 1/16 microstep is available.
Initial value
7 (1/128 microstep)
/getMicrostepMode (int)motorID
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
Executable timing
Always
Description
Gets the mode of microstepping. See /setMicrostepMode
for STEP_SEL.
Response
/microstepMode (int)motorID (int)STEP_SEL
/enableLowSpeedOptimize (int)motorID (bool)enable
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
enable | 0-1 | 1:Enable, 0:Disable |
Executable timing
When the motor is stopped.
Description
Enable/disable low speed optimization feature which compensate phase current distortion at a very low speed using a small driving voltage. When this optimization is enabled, speed profile minimum speed (Min speed
) is force to zero. Only work with voltage mode. See data sheets for details.
Initial value
0 (Disabled)
/setLowSpeedOptimizeThreshold (int)motorID (float)lowSpeedOptimizationThreshold
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
lowSpeedOptimizationThreshold | 0.0 - 976.3 [step/s] | Low speed optimization threshold |
Executable timing
When the motor is stopped.
Description
Set the threshold for phase current distortion compensation at very low speed. For details, refer to "Low speed optimization" section in the corresponding datasheet.
The response is same as the following getLowSpeedOptimizeThreshold
.
/getLowSpeedOptimizeThreshold (int)motorID
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
Executable timing
Always
Description
Gets the current value of the low speed optimization threshold.
Response
/lowSpeedOptimizeThreshold (int)motorID (float)lowSpeedOptimizeThreshold
Getting the status
/enableBusyReport (int)motorID (bool)enable
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
enable | 0-1 | 1:Enable, 0:Disable |
Executable timing
Always
Description
Automatically sends out notification if the BUSY status of the specified motor has changed. The notification message is same as the response from /getBusy
command.
Initial value
0 (Disabled)
/getBusy (int)motorID
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
Executable timing
Always
Description
Returns the BUSY state of the specified motor.
Response
/busy (int)motorID
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
state | 0-1 | 1: BUSY, 0: Not BUSY |
/enableHizReport (int)motorID (bool)enable
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
enable | 0-1 | 1:Enable, 0:Disable |
Executable timing
Always
Description
Following message is sent automatically when there is a change in the High Z (high impedance) state of the specified motor.
Initial value
0 (Disabled)
/getHiZ (int)motorID
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
Executable timing
Always
Description
Requests the High Z (high impedance) state of the specified motor.
Response
/HiZ (int)motorID (bool)state
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
state | 0-1 | 1 if High Z state, 0 if not High Z state. |
/enableDirReport (int)motorID (bool)enable
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
enable | 0-1 | 1:Enable, 0:Disable |
Executable timing
Always
Description
Following message is sent automatically when there is a change in the direction of the specified motor.
Initial value
0 (Disabled)
/getDir (int)motorID
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
Executable timing
Always
Description
Requests the direction of the specified motor.
Response
/dir (int)motorID (bool)direction
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
direction | 0-1 | 1: Forward, 0:Reverse |
/enableMotorStatusReport (int)motorID (bool)enable
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
enable | 0-1 | 1:Enable, 0:Disable |
Executable timing
Always
Description
Following message will be sent automatically when there is conditional change in the operating status (MOT_STATUS) of the specified motor. The response message is same as the reply from the /getMotorStatus
command.
Initial value
0 (Disabled)
/getMotorStatus (int)motorID
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
Executable timing
Always
Description
Gets the operating status (MOT_STATUS) of the specified motor.
Response
/motorStatus (int)motorID (int)MOT_STATUS
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | Motor ID |
MOT_STATUS | 0-3 | Motor status |
Motor status
MOT_STATUS | Motor status |
---|---|
0 | Stopped |
1 | Acceleration |
2 | Deceleration |
3 | Constant speed |
/setPositionReportInterval (int)motorID (int)interval
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | Motor ID |
interval | 0-2147483647 | transmit interval [ms] |
Executable timing
Always
Description
Send the current position (ABS_POS
) of the specified motor with the specified interval. Disabled with the interval 0.
When this function enabled, /setPositionListReportInterval
will be automatically disabled and stop the transmitting.
Response
The same as /getPosition
.
Initial value
0 (Disabled)
/setPositionListReportInterval (int)interval
Argument
Argument | Range | Description |
---|---|---|
interval | 0-2147483647 | transmit interval [ms] |
Executable timing
Always
Description
Send a single message with a list of the current position (ABS_POS
) of all motors with the specified interval. Disabled with the interval 0.
When this function enabled, /setPositionInterval
will be disabled automatically for all motors and stop the transmitting.
Response
The same as /getPositionList
Initial value
0 (Disabled)
Debug
/getAdcVal (int)motorID
STEP400 only
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | Motor ID |
Executable timing
Always
Description
Acquires ADC_OUT register values from the PowerSTEP01 chip. This register stores 5-bit AD-converted voltage reading from ADC pin. This pin is pull-upped with 10kOhm resistor and wired to LIMITSW connector.
Response
/adcVal (int)motorID (int)ADC_OUT
Argument | Range | Description |
---|---|---|
motorID | 1-4, 255 | Motor ID |
ADC_OUT | 0-31 | 5bit reading of ADC_OUT register |
/getStatus (int)motorID
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
Executable timing
Always
Description
Gets the STATUS of the motor driver (PowerSTEP01 for STEP400/L6470 for STEP800). The STATUS includes the status of the motor, alarms and switches.
Response
/status (int)motorID (int)status
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | motor ID |
status | 0-65535(0xFFFF) | 16-bit STATUS register |
Refer to "STATUS" in the data sheet for the information contained in the registers. Some of bits are latched and reset when STATUS registers are read out. Because the device firmware constantly obtains the STATUS values, these values are immediately reset. It is possible to set up these events to be reported separately, so please use those commands.
Name of bits in STATUS (STEP400) | Name of bits in STATUS (STEP800) | The corresponding configuration commands |
---|---|---|
UVLO | UVLO | /enableUvloReport |
UVLO_ADC | - | This feature is not available in STEP 400 and is always disabled. |
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
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | Motor ID |
Executable timing
Always
Description
Acquires the CONFIG register value from the motor driver (PowerSTEP01 or L6470). The information stored in CONFIG register includes motor, alarm and switch status.
Responses
/configRegister (int)motorID (int)CONFIG
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8 | Motor ID |
CONFIG | 0-65535(0xFFFF) | 16bit CONFIG register content |
The CONFIG register stores various settings for the motor driver. Please refer the datasheet of the PowerSTEP01/L6470 for detail.
/resetMotorDriver (int)motorID
Argument
Argument | Range | Description |
---|---|---|
motorID | 1-4/1-8, 255 | Motor ID |
Executable timing
Always
Description
Resets the motor driver (PowerSTEP01/L6470) and rewrites the setting.