# How to calculate and measure motor constant for stepper motor?

I am working on a project using ST4118D30004 stepper motors and powerSTEP01 drivers. The ST4118D30004 is a bipolar stepper motor with 4 wire connection.

While researching how to find the optimal settings for the driver I came across

"Holding torque (T) is the product of a motor's torque constant (KT) and the current (i) applied to the stator windings."
controleng.com Stepper motor torque basics

"the k_t parameter is the motor torque constant which is equal to the k_e constant, but expressed in Nm/A instead of V/Hz"
page 6 of PowerSTEP01 Voltage mode control operation and parameter optimization

as well as how to measure K_e by applying scope across a phase and turning it at constant speed, K_e is then supposedly the ratio of peakVoltage/frequency.

"The $k_e$ is the coefficient that relates the motor speed to the BEMF amplitude. This value is not usually present on stepper motor datasheets, but it can be easily measured by means of an oscilloscope:

• Connect one of the motor phases to an oscilloscope channel
• Set the oscilloscope to the trigger value on the rising or falling edge of the channel and set the threshold value close to zero (few mV above or below zero)
• Turn the motor shaft. This can be done by hand or by means of another motor. The most important thing is to obtain a rotation speed as constant as possible
• Set oscilloscope time and voltage scales in order to display a sine wave during the motor rotation.

If the rotor is turned by hand, the operations should be repeated until a good sine wave is obtained. A good sine wave keeps its amplitude constant for at least 2 or 3 cycles (Figure 7 and Figure 8). This operation might require several attempts.

• Measure the peak voltage to frequency ratio of the sine wave. The resulting value is the motor electric constant expressed in V/Hz."

page 14 of PowerSTEP01 Voltage mode control operation and parameter optimization

calculating K_t from values given by specification by manufacturer of motor holding torque T = 0.8 Nm current i = 3 A T/i = 0.8 Nm / 3 A = 0.267 Nm/A

Measuring K_e

• 2.55 V / 85.5 Hz = 0.0298 V/Hz = 0.00474 V/(rad/s)
• 5.55 V / 208 Hz = 0.0267 V/Hz = 0.00425 V/(rad/s)
• 7.00 V / 263 Hz = 0.0266 V/Hz = 0.00423 V/(rad/s)
• 11.1 V / 420 Hz = 0.0264 V/Hz = 0.00420 V/(rad/s)

About a factor 10 difference 0.267 Nm/A to 0.0266 V/Hz, why?

Addition 1: As mentioned in comments and also specified here http://www.spectrum-soft.com/news/spring2014/stepper_motor.shtm the K_e should be in V/(rad/s) not in Hz for K_t to equal K_e. This however actually means the difference in my results is a factor ~6.28 bigger does it not?

• In a 'normal' DC motor $\small K_t$ is measured as $\small Nm/A$, and $\small K_e$ is measured as $\small V/rad/s$, and the relationship is, numerically, $\small K_t=K_e$. This can be easily derived from the motor/generator equations: $\small F=Bil$; $\small E=Blv$ where $\small v$ is the armature velocity at the radius in m/s. In the case of the SM, I suspect there is some confusion of units and the method of measuring angular velocity, and possibly the number of poles.
– Chu
Jul 5, 2018 at 10:24
• Double check your units. V/Hz is not correct for Ke : V/(radians/sec) is, so you have lost 2*Pi somewhere. NOTE : power = torque * speed = Nm * radians/sec = V * I ... take it from there.
– user16324
Jul 5, 2018 at 10:31