Arduino UNO getting hot using Adafruit Motor Shield V2.3 and 2 NEMA 17 Steppers

Hello there!

I'm using an Arduino UNO with 2 Stepper Motors (NEMA 17) on an Adafruit Motor Shield V2.3. My power supply can be set from 1.5 V up to 12 V.

My concern is that when I run the steppers for some time (maybe 30 seconds), the Arduino gets quite hot on the bottom left part, the part just above the power jack. I have tried 4.5 V and 12 V, the Arduino gets equally hot both times.

Do I have to be cautious or is everything fine?

Thanks in advance!

TheSiebi: (NEMA 17)

My power supply can be set from 1.5 V up to 12 V.

That's the size of the mounting plate.

And... where did you connect it to. Leo..

A motor shield is a poor choice for driving a stepper motor.

Have a look at these links Stepper Motor Basics Simple Stepper Code

...R

Wawa: That's the size of the mounting plate.

And... where did you connect it to. Leo..

Oh I did not know that, I'm using this model: https://www.amazon.de/LEORX-Phase-4-Draht-Schrittmotor-Drucker/dp/B015ST2U5A/ref=sr_1_4?ie=UTF8&qid=1523560720&sr=8-4&keywords=stepper+motor

I connected the two steppers as described in the Adafruit Motor Shield Tutorial, if that answers your question.

Robin2: A motor shield is a poor choice for driving a stepper motor.

Have a look at these links Stepper Motor Basics Simple Stepper Code

...R

I just read through both of these guides, very well explained! I also have two A4988 drivers, but I thought it would be easier to use a shield since it's more compact and easier to code.

Why exactly is it a poor choice to use one? By the way, all the steppers have to do in the project is to perform a certain amount of steps once.

TheSiebi: Why exactly is it a poor choice to use one?

An L298 is a h-bridge intended for driving a DC motor. H-bridge drivers do not have the ability to limit the current per step to protect a stepper motor so they can only be used with a low voltage or the stepper motor will overheat and burn out - stepper motors draw full current even when stationary, unlike a DC motor. However stepper motors work much better with high voltages to drive the current through them against the inductance of the coils.

And an L298 is a particularly inefficient h-bridge that wastes a lot of energy as heat.

...R

OP used the Adafruit Motor Shield V2.3, with TB6612 drivers. Almost the same as the L298, but with mosfet outputs. Also a poor choice for a stepper, as Robin2 explained. Leo..

Wawa: OP used the Adafruit Motor Shield V2.3, with TB6612 drivers.

Apologies if I have confused anyone. I must have had "L298" on my brain from another Thread.

...R

The chosen motors (https://www.amazon.de/LEORX-Phase-4-Draht-Schrittmotor-Drucker/dp/B015ST2U5A/) are specified at 1.5 Amps/phase maximum.

The A4988 driver cannot handle 1.5A/phase continuously, so you will have to [u]carefully[/u] set the current limit to about 1.0 A/phase. See this video for the Pololu drivers: https://youtu.be/89BHS9hfSUk

Set your power supply to 12V for the motors, and use a different power supply for the Arduino. Connect all the grounds.

But why is the Arduino getting hot? It's not the H-Bridges / Shield that gets hot. I also can't feel any heat on the steppers.

I asked in post#1 how you were powering things. This is the answer I got.

TheSiebi: I connected the two steppers as described in the Adafruit Motor Shield Tutorial, if that answers your question.

The tutorial there gives several options.

So how did YOU power the setup (supply/voltage/current, DC-socket, screw terminal, jumper removed or not, etc.).

WHAT is getting hot. The backflow protection diode? The regulator? The processor? Leo..

Wawa: I asked in post#1 how you were powering things.

So how did YOU power the setup (supply/voltage/current, DC-socket, screw terminal, jumper removed or not, etc.).

WHAT is getting hot. The backflow protection diode? The regulator? The processor? Leo..

The Arduino only gets hot when I power the setup through the Arduino DC jack and then use the VIN jumper on the shield. It does not get hot anywhere when I power the shield through the power terminal block through a 9V battery (no VIN jumper) and seperately power the Arduino via USB.

There is nothing particular getting hot, it's just the board between the USB jack and the DC jack getting very hot (touching it from behind, I can't feel any hot part touching it frontally).

The Uno getting warm between the DC socket and the USB socket is normal when on external power.

About 0.33watt is dissipated in the regulator when it’s dropping 12volt to 5volt to power the Arduino.

When the Uno is powered through USB, the 5volt regulator is not used (not heating up).

The regulator should not get too hot to touch, assuming you don’t power anything else from the Arduino than the shield.

There is also a <=1Amp diode inline with the DC socket, that can get hot from motor current.
Therefore it’s wise to power the motor shield on the terminal block (bypassing that diode).

So:

  1. power the setup on the DC socket or terminal block, with the jumper in place (motor power and Arduino power), and accept some heat on the bottom of the Uno.
    Or:
  2. power the setup on the terminal block, with the jumper removed (motor power only), and power the Arduino from USB, or a 5volt phone charger connected to the USB socket, or with a lower voltage (9volt) on the DC socket.
    Leo…