L298H board with Stepper motor Heat problem

Hi

I linked upp my arduino uno with an L298H motor driver board and use stepper library to get movments.
The motor functioning perfect forward and backward but get VERY hot. Its a stepper from a flatbadscanner. (Bipolar)
I drive the motor with 18V and the L298H does not be warm. (The heat sink)

Why does the motor???

Help me out pls! =(

http://www.ebay.co.uk/itm/Dual-H-Bridge-Motor-Driver-L298N-Arduino-PIC-etc-DC-Stepper-L298-Board-/160831035879?pt=UK_Computing_Other_Computing_Networking&hash=item257246d9e7

You drive the motor with 18V and it gets hot - so what voltage is the motor meant for??

MarkT:
You drive the motor with 18V and it gets hot - so what voltage is the motor meant for??

Its 24V i can upload the tech spec of the motor when i get home. 8)

The motor: http://www.nmbtc.com/pdf/motors/PM35S-048-HHC6.pdf

And my code:

#include <Stepper.h>

// change this to the number of steps on your motor
#define STEPS 300

// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
 Stepper stepper(STEPS, 8, 9, 10, 11);

void setup()
{
   // set the speed of the motor to 30 RPMs
   stepper.setSpeed(100);
}

void loop()
{
   
   stepper.step(3000);
   
delay(1000);

 
   stepper.step(-3000);
   
delay(1000);  
}
  1. The spec for your motor lists step angle as 7.5° so the steps per revolution should be 360/7.5=48, hence the code should be #define STEPS 48.

  2. Secondly, the coil resistance is 5.5 ohms/phase. You're driving it with 18V so the coil current will peak at 18/5.5=3.2 amps but the motor is only rated for surge current of 0.6amps, hence the overheading! The spec sheet applies if you're using a bipolar chopper driver which allows use of 24.0 V to overcome the effects of the winding inductance while limiting the surge current to 600ma (0.6amps). Since you're using a simple L298H motor driver you should reduce the drive voltage to 0.6A * 5.5V=3.3 VDC.

  3. With these new values in you code you may or may not be able to drive the motor at 100 RPM (stepper.setSpeed(100);). If you have problems at that setting try lower values to determine the max speed that you can drive it at.

rweber95:

  1. The spec for your motor lists step angle as 7.5° so the steps per revolution should be 360/7.5=48, hence the code should be #define STEPS 48.

  2. Secondly, the coil resistance is 5.5 ohms/phase. You're driving it with 18V so the coil current will peak at 18/5.5=3.2 amps but the motor is only rated for surge current of 0.6amps, hence the overheading! The spec sheet applies if you're using a bipolar chopper driver which allows use of 24.0 V to overcome the effects of the winding inductance while limiting the surge current to 600ma (0.6amps). Since you're using a simple L298H motor driver you should reduce the drive voltage to 0.6A * 5.5V=3.3 VDC.

  3. With these new values in you code you may or may not be able to drive the motor at 100 RPM (stepper.setSpeed(100);). If you have problems at that setting try lower values to determine the max speed that you can drive it at.

Ok many thanks for the information. I was too fast to take a test with the motor. Can i serial connect a resistor/coil to sunk the current? ~25ohm and the current is 0,6A. This must be an effect resistor may i think.

The L298 chip is just an H bridge without any kind of current limit control. Look better for some kind of chopper driver like this:
http://www.electrofunltd.com/2012/08/elfdrv1-stepper-motor-driver-coming-soon.html

or something based on a TB6560 or similar.

They even could be cheaper that your L298 based board and will allow you to keep the 18V voltage (obtaining the maximum torque of the motor). If you put a resistance in serie, it will need to be really really big (and expensive, therefore) and it will be a waste of energy ... In this way your system will be more a stove than a motor system 8)

ADLC:
The L298 chip is just an H bridge without any kind of current limit control. Look better for some kind of chopper driver like this:
http://www.electrofunltd.com/2012/08/elfdrv1-stepper-motor-driver-coming-soon.html

or something based on a TB6560 or similar.

They even could be cheaper that your L298 based board and will allow you to keep the 18V voltage (obtaining the maximum torque of the motor). If you put a resistance in serie, it will need to be really really big (and expensive, therefore) and it will be a waste of energy ... In this way your system will be more a stove than a motor system 8)

Thx for the info but i already have the L298. Can be a good thing if i power the L298 with a pwm power supply? I have some pwm supply for my modell train.

Something like this: http://www.electrokit.com/productFile/download/380

If you're going to try using a resistor to drop the voltage, remember that the max current is 0.6 amps/phase. Since there are 2 windings (phases) when both are energized each will draw 0.6A for a total of 1.2 amp. So you'll need a 12 ohm resistor at 12ohm * 1.2A = 15 watt resistor.
Mouser electronics lists wire wounds like this for as low as $0.64 US. http://www.mouser.com/

The maximum current specified for a motor is mainly due to heat dissipation. That means that you can apply higher currents to the motor if it is only for short times, like with PWM ... Maybe (and only maybe) it could work. But it will be quite noisy ...

I understand you already have the L298 ... but I still think it is not suited for the scenario where you like to use it.
Maybe you could use some kind of PWM on the enable signals of the L298 board rather than in the own power lines ...

When i googled on it i find out the LM317 / LM338 / LM350 can use as a current regulator. Is this something for me? Im not an electric guru so i need some basic help. :blush:

You would need the LM350, that is the open with a 3A limit.
They are linear regulators that can be used as current sources, although you could also see them as a current limiter or a variable resistance which values increases as required to ensure that its does not feed too much current.
To use it, you only need to put a resistance between pins 1 and 2 so that Imax = 1.25V/R.

At the end (either with this, with a resistor or with a any other regulator), what you are going to do is to reduce the tension at which the motor is going to operate. There is a minimum voltage at which the motor start rotating. If you low it too much, it will not start.

Check it before.

Hi

Thx for the great help guys. Now i use a 7805 voltage regulator on a BIG heatsink and the motor doesnt get warm. Not so warm :grin:

I dont plan to continous drive the motor.

You are still violating the specs of the motor, but if the motor does not get hot, it should not be a great problem.

ADLC:
You are still violating the specs of the motor, but if the motor does not get hot, it should not be a great problem.

If i can find a 3.3V voltage regulator somewhere i want to try that too. But 3.3V regulator seems to be not so often used.

You could also use a adjustable regulator ... they are more common and are usually configured using a resistor divisor.