• TI Thinks Resolved

DRV8825: Reduction of stepper motor temperature

Prodigy 230 points

Replies: 3

Views: 44

Part Number: DRV8825


My configuration is - power supply 30V, drv8825(pololu board), step mode 1/4, current limited to 1.8A(Vref=0,9V), mixed decay, motor MT-1705HS200A with 200 steps, max. current 2A and phase resistance 2 Ohms/3.3mH. Mode of operation - the motor is constantly accelerated up to some max. speed and after approximately 2 revolutions is de-accelerated, reversed and again accelerated to max. speed. After 10-20 minutes of operation the temperature of the motor's surface is about 50°C. In order to reduce the temperature of the stepper motor I try to reduce the current through it without changing its normal operation. I used 2 approaches:
1. During acceleration/deacceleration the max. current limit remains 1.8A, but in rest of the time when the speed is maximal, the current is reduced by manipulation of Vref value (0.9V >> 0.3V). To check if this approach works I monitored current consumption from the power supply.
Result - On maximal speed 1200rpm there is no significant change in current drained from the supply - 360mA >> 350mA. On maximal speed 600rpm there is much bigger reduction of the current drained from the supply - 380mA >> 280mA.

2. During motor's maximal speed rotation, in last 25% of each pulse period the signal ENABLE is set to high with idea drv8825 to switch off output transistors and to stop the current through the motor. I know this approach "last 25% of each pulse period" is stupid, but I still do not have an encoder available to help me get the correct information when exactly the current step is completed and only then to cut the current through the motor.
Result - Again when the speed is 1200rpm there is no change in drained current, but on speed 600rpm there is current reduction (380mA >> 240mA).

Unfortunately, the speed 1200rpm is the speed which is important for our solution.
About correct software implementation - I monitored with oscilloscope the waveform of ENABLE signal compared to STEP pulses and also Vref signal compared to the speed. In both cases it looks correctly implemented.


1. What is acceptable temperature over step motor surface.

2. Are the above approaches are correct.

3. Why they helps to reduce drained current on 600rpm, but not on 1200rpm.

Best Regards,


  • Peter,

    1. Please take the winding current measurement. That will give more information. The root cause could be related to winding current regulation, back EMF, heavy load/light load time ratio.... After check both winding current, we can have more clue.

    2. The approach helps. Your concern is motor temperature. The motor loss should have two parts: copper loss and iron/core loss. For the copper loss, we can reduce the winding current as much as possible as you do. PWM frequency is fixed 30kHz. It is not too high to worry about the copper skin effect. We need to check the decay mode which affects the ripple current amplitude. For iron/core loss, the iron loss is related to motor iron material B-H curve. At every PWM cycle, the decay mode setting could affect the iron loss also. An application note shared different decay modes have different winding current waveform and motor temperature: Ihttp://www.ti.com/lit/an/slvae58/slvae58.pdf

    3. Please check the both winding current, we can have more clue on why they helps to reduce drained current on 600rpm, but not on 1200rpm

    Best Regards,

    Wang Li

    Motor Drive Solutions

  • In reply to Wang5577:

    Hi Wang Li,

    Thank you very much for the support.

    The application note you told me contain two valuable information. First, the recommended decay mode is mixed - the same as used by me. Second, after one hour work the surface temperature of the motor is 60°C, but my motor reaches 53°C after one hour and perhaps all worries about overheating are unnecessary. Anyway, it will be good to reduce the power consumption.

    "PWM frequency is fixed 30kHz"!!! If the speed is 1200rpm, motor's steps are 200 and mode is 1/4 step, then (1200rpm/60sec)*200*4 = 16000PPS -> 62.5us period. If I try to disable the driver for the last 25% of this period, then this time is shorter than PWM period (33us) and probably this fact explain why the current reduction do not happens. In the datasheet of drv8825, besides PWM 30kHz is also mentioned, that STEP frequency is up to 250kHz. How is it possible?

    I tested again with 1/2 step and full step, where pulse period and disable period are 2 and 4 times higher and PWM period already is smaller compared to them, but again - on 600rpm there is current reduction in power supply, but on 1200rpm the current remains the same.

    Best Regards,


  • In reply to Peter Kostadinov:


    250kHz STEP frequency is not for driving the motor. It can help MCU quickly run into a previous micro-step setting position. So, motor drive can give correct winding current combination setting if the motor stays in previous position.

    Sorry, I didn't see the winding current waveform and cannot give more comments.

    Best Regards,

    Wang Li

    Motor Drive Solutions