Hot stepper motor. Is that normal?

I am testing this motor running via an 8825 driver. The motor is rated at 0.4A and 12V.

Here is the setup:

  • Battery = 20V (I was told that voltage doesn't matter)
  • Voltage at the driver potentiometer = 200 mV
  • Driver set to 32 microstep mode as this is what I plan on using in the final setup

I've been running a simple sketch on a bare motor, simulating a slider movement for timelapse (move 32 microsteps, wait 5 seconds, reverse after full rotation):

void setup()
{
  dirHigh = true;
  digitalWrite(DIR_PIN, HIGH);
  digitalWrite(STEP_PIN, LOW);
  pinMode(DIR_PIN, OUTPUT);
  pinMode(STEP_PIN, OUTPUT);
}
 
void loop()
{
  // Toggle the DIR pin to change direction.
  if (cCount == 200)
  {
  
    cCount = 0;
    if(dirHigh)
    {
      dirHigh = false;
      digitalWrite(DIR_PIN, LOW);
    }
    else
    {
      dirHigh = true;
      digitalWrite(DIR_PIN, HIGH);
    }
  }
  else
  {
    delay(5*1000);
  }
  cCount = cCount+1;
  
  // Step the motor 32 microsteps.
  for(int i = 0; i < 32; i++)
  {
    // Trigger the motor to take one step.
    digitalWrite(STEP_PIN, HIGH);
    delay(1);
    digitalWrite(STEP_PIN, LOW);
    delay(1);
  }
}

I don't have a thermometer to give an accurate temperature reading but suffice to say that after running the sketch for about a half an hour, I can touch the motor for 3-4 seconds max. It feels hot. The driver on the other hand feels cold.

This is the first time that I am working with a stepper motor so I'm not sure if the temperature is normal or if there is something wrong in my setup that is driving the temperature to be high.

I've tested this configuration on two different motors and two different drivers and the temperature seems to be the same.

Have you set the current limit on the DRV8825 to 0.4 amps to protect your motor?

If you have then I would not worry about the motor temperature. It is normal for stepper motors (and stepper drivers) to be hot enough to be uncomfortable to touch.

...R

Thanks Robin,

As I said this is my first experience with a stepper motor so I wasn't sure of the temperature.

I had the voltage at the driver potentiometer set to 200 mV although later I changed that to 160 mV, which definitely allowed the motor to work at a lower temperature. I can now hold it for 10-15 seconds.

What impact would the lower current have on torque?

roli001:
I had the voltage at the driver potentiometer set to 200 mV although later I changed that to 160 mV,

Those numbers are meaningless unless you post a link to the datasheet for your stepper driver module.

...R

Here is a link to the product that I bought.

It is a Chinese clone of the Pololu DRV8825 driver.

The information on the Aliexpress page states that I = vrefx2 same as on the Pololu driver.

roli001:
The information on the Aliexpress page states that I = vrefx2 same as on the Pololu driver.

Then follow the advice on the Pololu DRV8825 webpage.

...R

Robin2:
Then follow the advice on the Pololu DRV8825 webpage.

...R

It doesn't say what impact a lower current will have on torque.

roli001:
It doesn't say what impact a lower current will have on torque.

Indeed. For that you would have to get data from the motor manufacturer.

You should NOT select a current higher than the motor is designed for. If you set the limit at the design current you will get the design torque.

...R

roli001:
It doesn't say what impact a lower current will have on torque.

Lower current is lower torque. Too low and the motor won't reliably overcome its own cogging, but 50%
nominal should be OK

MarkT:
Lower current is lower torque. Too low and the motor won't reliably overcome its own cogging, but 50%
nominal should be OK

Thanks Mark