Go Down

Topic: Stepper Overheating (Read 2010 times) previous topic - next topic


i've just got the arduino uno and i am trying use it to power a stepper motor. But when i try the stepper overheats.


the code i am using is:
int Distance = 0;

void setup() {               
  pinMode(8, OUTPUT);     
  pinMode(9, OUTPUT);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);

void loop() {
  digitalWrite(9, HIGH);
  digitalWrite(9, LOW);
  Distance = Distance + 1;
  if (Distance == 3600)
    if (digitalRead(8) == LOW)
      digitalWrite(8, HIGH);
      digitalWrite(8, LOW);
    Distance = 0;


The problem is that you are supplying too high a voltage/current to the motor.

When the motor is powered there is current flowing through the windings and it would appear that probably the voltage of the motor supply id too high.

Stepper motors do tend to warm up when they are stationary.


What do you mean by "overheating" ? Steppers are designed to run rather hot. Most are rated for a temperature rise of about 50 degrees celsius. In real world applications an aluminum mount is usually used for the motor which serves as a heatsink.
It appears you are you using an EasyDriver which has a current limiting trim pot. You can use this to adjust the motor current which can reduce the heating if it's excessive.


the code i am using is:

So why do you think code will cause overheating?

What driver are you using? What current have you set it to? What motor do you have?
The slower the motor turns the hotter it will get. When stopped it gets hottest.


Thanks for the replies,
i have limited the current/voltage and all seems to be fine, thanks!

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131