How to obtain torque constant for stepper motor?
Viewed 51 times
I want to measure the torque constant of a stepper motor but seems I am doing it wrong. I have an MST342C02 stepper motor (200 step/rev and 4 phases) with SMD42C2 Driver. I have a converter that gives 48VDC 12.5A from 110VAC. I have Teensy 4.1 as the microcontroller and use Accelstepper library. The motor is connected Bipolar Parallel. the motor has:
Holding Torque = 9 Nm
Phase Current (A) = 9.5 (parallel), 4.7 (series)
When the motor is stationary the current is 0.4 A. However, by looking at the driver manual, for a 4 phase motor in parallel, the max current is 1.41*(Nominal current per phase). So for my configuration, we would have 1.41 * 9.5 = 13.4 A. I searched the net for the torque constant and some said it’s (Holding Torque)/current = 9/13.4 = 0.67.
The motor datasheet graph has 7 Nm for 300 RPM. I run the motor at this speed with PWM 255 which gives the max torque. The Measured current at such speed is 1.48 A. Also, the motor datasheet for 600 RPM has 6.2 Nm. Now I set the motor to this speed with PWM 128 for half torque (motor jams at max torque, but I don’t know why) then the measured current is 0.83 A. Using the graph this should be 3.1 Nm. Now the torque constant is 7/1.48 = 4.73 or 3.1/0.83 = 3.73 which does not comply with the 0.67.
1122 bronze badges
- Your question is a bit confusing: (1) “motor is stationary the current is 0.4 A” – When you apply power with no load (free running), the not load current is usually small, perhaps 400mA. (2) But if load is more than maximum, or when you force it to “stall” (in your word “stationary”, than the stall current is very big, perhaps a couple of Amperes. (3) PWM255 means high number of steps per seconds, meaning high speed, but not necessary high torque. (4) To measure things, I would suggest to set full stepping mode (ie, no microstepping). – tlfong01 yesterday
- (5) Some useful references: (a) NEMA34 Step Motors MST340, 341 and 342 Product Data – JVL jvl.dk/files/pdf-1/datasheets/ld0042gb.pdf (b) SMD42C2 Driver Datasheet – Motion Control 247motioncontrol.com/media/1230/smd-42.pdf (c) Microstepping myths – MachineDesign 2003oct09 machinedesign.com/archive/article/21812154/microstepping-myths – tlfong01 yesterday
- 1(1) When the motor is stationary it has holding torque that can hold 9 Nm. (2) Stall happens when more than 9Nm is applied. (3) if you look at the driver manual we have a moving current pin that connects to the microcontroller. The manual says it gets 0-2.5 VDC using the PWM, but using the 3.3VDC digital pins on Teensy I got to have all values from 0-255. This moving current has nothing to do with the speed but the torque. The speed is another pin on the driver named stepclock. By setting 10 for the driver resolution, and knowing 200 step/rev for the motor, 2000 ministep/s equals 1 rev/s. – Amirmkr yesterday
- Question: You said “if you look at the driver manual we have a moving current pin that connects to the microcontroller.” Are you referring to the driver manual of my (5) (b) Above? I cannot find the “moving current” pin! – tlfong01 yesterday
- 1That’s “move current” pin 12 on the driver, sorry I said moving current. (5)b is the motor datasheet. For the driver manual use the following link: jvl.dk/files/_2011clean/pdf/lb043gb.pdf – Amirmkr 23 hours ago
- Oh my goodness, so there is a driver user manual beside the driver datasheet, and this is the root cause of confusion. Updated reference list v0.1: (i) SMD42C2 Driver Datasheet (Manual) – Motion Control 247motioncontrol.com/media/1230/smd-42.pdf (ii) SMD41 and SMD42 Step Motor Ministep (MicroStepping) Drivers User Manual – JVL Industri Elektronik A/S 1998-2005 jvl.dk/files/_2011clean/pdf/lb043gb.pdf, /to continue, … – tlfong01 22 hours ago
- (iii) NEMA34 Step Motors MST340, 341 and 342 Product Data – JVL jvl.dk/files/pdf-1/datasheets/ld0042gb.pdf (iv) Microstepping myths – MachineDesign 2003oct09 machinedesign.com/archive/article/21812154/microstepping-myths / to continue, …. – tlfong01 22 hours ago
- You might like to let me know if you have a scope to display the waveforms of the stepper motor coil current. A cope is useful to explore the nature of the coil current, especially for microstepping mode operation. If you don’t have much experience in experimenting with microstepping, chopper drives, you may need to read some basic tutorials. You might also like to skim my chats with other forum news, to how to test microstepping/chopper mode operation currents and torques etc. / to continue, … – tlfong01 18 hours ago
- tlfong01’s chats on microstepping motor current and torques: (a) chat.stackexchange.com/rooms/134387/… (b) chat.stackexchange.com/rooms/133950/… (c) chat.stackexchange.com/rooms/133829/… (d) chat.stackexchange.com/rooms/133206/… (e) chat.stackexchange.com/rooms/134572/… – tlfong01 17 hours ago
- 1I checked the chats, I don’t want to make it that complicated. I have access to a range of speeds from 0 to 600 RPM and I can quantify the torque using PWM, my main problem is to find the value of torque using current by having the torque constant. – Amirmkr 5 hours ago
- Ah yes, the chat records are only my suggested solutions workarounds for a coupe of EE SE questions/problems. Your problem seems simple but not very clear. Perhaps we can make it more precise. (1) What do you mean by “torque constant“? (2) Are you assuming that torque is directly/linearly proportional to coil current? For my two questions above you might like to give answers with maths equations and charts. In your answer, you might need to specify the test condition, ie, (a) are you using microstepping, such as full, 1//2, 1/4 etc? , (b) Are you using AccelStepper? – tlfong01 3 hours ago
- (1) I assume that T=k*i since it is a DC motor (k: torque constant) and (2) torque is a linear function of the coil current at a certain speed. In the main problem statement, I mentioned that I use AccelStepper library. Also, earlier I mentioned that I use resolution or ministeps/fullsteps is 10. With the knowledge of 200 fullsteps/rev for the motor, when I set stepper.setMaxSpeed(2000), it goes by the speed of 1 rev/s. Thank you for helping. – Amirmkr 2 hours ago
- Your assumption of t = k * I is a bit confusing, because it oversimplified, and the real world is more complicated. I would suggest to use JohsonElectric’s motor docs as a reference: (6.1) DC Motors: Classification in JE Motor Range – JohnsonElectric johnsonelectric.com/en/resources-for-engineers/dc-motors/… (6.2) DC Motors: Overview – JohnsonElectric johnsonelectric.com/en/resources-for-engineers/dc-motors/…. / to continue, … – tlfong01 14 mins ago
- (6.3) Stepper Motors: Classification in JE Motor Range – ohnsonElectric johnsonelectric.com/en/resources-for-engineers/stepper-motors/… (6.4) Stepper Motors: Overview – JohnsonElectric johnsonelectric.com/en/resources-for-engineers/stepper-motors/… – tlfong01 14 mins ago
- Your classification of your step motor as a DC motor is a bit too vague. When you are using microstepping mode, you are chopping the current and the k = f(i) is a bit complicated. (7.1) Stepper Motors: Driver Electronics – – JohnsonElectric johnsonelectric.com/en/resources-for-engineers/stepper-motors/… – tlfong01 1 min ago Edit
Leave a Reply