Stepper motor getting heating up very Hugh

After uploading this below code my stepper motor getting heating up very much, Pls suggest how to overcome this issue and also how to set the current in the source.

And i am using DRV STA475A and it supports 24V

#include <Stepper.h>
stepsPerRevolution = 48;
myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
myStepper.setSpeed(10);
Serial.begin(9600);
}
void loop() {
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(750);
}

Welcome to the forum.

A stepper motor does not work with a voltage, it works with a current.
The STA475A has 4 transistor darlington drivers inside. Those were used in the past to turn on a relay for example.

It starts with your stepper motor. Do you know its specifications ?

Get a driver for your stepper motor that can control the current.
Pololu has a overview of those drivers: https://www.pololu.com/category/120/stepper-motor-drivers

Thanks for responding, And can you pls tell me how to reduce the heating issue of the stepper motor and how to set the max and min current in the source code.

That is set on the motor driver, usually by a potentiometer. Post a link to your motor and we can help find a driver.

1 Like

Follow the instructions on this link and use code tags: How to use this forum - please read

we are using this stepper motor(WPM42S-048008) with Renesas microcontroller there is no heating issue and I am currently controlling through arduino board its getting heating up with DRVSTA475A(motor driver)

Your stepper motor: https://www.graylogix.in/product/pm42s-048-stepper-motor
It is a 24V, 8Ω, 500mA stepper motor.
:point_right: The preferred way to drive it is: BIPOLAR CHOPPER
A bipolar chopper driver is often with 4 NPN transistors, or with 4 darlingtons as your STA475A.

I suppose the Reneas microcontroller uses bipolar chopper mode.
Your stepper motor with your driver and the Renesas microcontroller is a good match.

However, the bipolar chopper mode is not used with Arduino boards. Since the mosfet driver modules are cheap, the Arduino can simply use a "step" and a "direction" signal and the driver module makes the bipolar chopper mode signals.

There seems to be no solution. I don't know any Arduino code that uses bipolar chopper mode. It is something from the past, today there are driver modules to drive a stepper motor.

1 Like

The L298 brushed DC motor driver will work with that motor in the "old fashioned" mode, with a resistor in series with each winding to limit the current.

If you use the L298 with a 12V power supply, then each output needs to see at least 24 Ohms total. Use an 18 Ohm 10 W resistor in series with each winding for somewhat over 400 mA winding current.

Something like this:

We are using unipolar stepper motor, not a bipolar stepper motor

How to calculate the stepper motor steps per revolution?

According to your data sheet, 1 step = 7.5 degrees or 7.5 degrees / 1 step
There are 360 degrees / 1 revolution.
So steps/revolution = (360 degrees/revolution) / (7.5 degrees/1 step) = 48 steps / revolution

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.