17513Views13Replies

Author Options:

Arduino getting really hot? Answered

While running one of my projects, my Arduino is getting really hot. It's swtiching somewhere around 14 I/O's really fast (im not sure exactly how fast, but its refreshing somewhere around 2.5 milliseconds each time). The chip gets really warm, and to burning hot in about 20 mins. The project runs fine (I've tested for at least an hour, with no ill effects) but Im just wondering if its normal and/or safe. Also the voltage regulator chip gets really hot if i run the same sketch with a 9v wall wart rated at 350 ma, and also with a wall wart rated 7.5v at 2.14 A (the v-reg on the arduino board doesnt get hot if i run it off USB). Should I be concerned? -Astroboy907

13 Replies

user
maewertBest Answer (author)2011-02-15

Hey Astroboy,

This is not good but can be corrected:

I see in step 6 that you are directly connecting the arduino pins to the transistor base.  I usually connect the pins through, say, 1k resistors.  The small switching transistors have high enough gain to switch the LED current at these levels.

Also I see in step 7 that you connect the digit selection pins directly to the arduino.  For these I'd use 4 PNP transistors again going through 1k resistors to teh arduino.

This will take the current out of the arduino.  While each pin is rated at 40 mA max, there is a chip maximum that is small, more like 200 mA if I remember correctly.

After these fixes you may still have an issue with the arduino 5v regulator.  To overcome this problem you may need to connect the 4 PNPs I mentioned above not to the Arduino +5 regulated supply but to the unregulated +7.5 volt input from the wall wart.  This takes the LED current off the Arduino regulator and directly to the wallwart which should drive it without getting warm.  You may have to adjust the LED resistors if you do this since the voltage is greater.  A good design should have NO hot parts and should even avoid warm parts where possible!

Best Wishes!

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)maewert2011-02-15

+1 altjhough you need to be careful about sink/sourcing for many processor I/O pins - most prefer to sink than source.

Select as Best AnswerUndo Best Answer

user
astroboy907 (author)steveastrouk2011-02-15

got it running with 1ks through the NPN's. I dont have pnp's, so I just left the display pins connected to the Arduino- they seem to run fine without a resistor. It hasnt gotten much warmer at all (it might have gotten a little warmer, but its nowhere near the temp that it was before) what PNP's do you recommend? Im guessing 2N3906's? I'll begin updating my instructable with new pics and whatnot. You all are a big help :) Thanks!

Select as Best AnswerUndo Best Answer

user
astroboy907 (author)maewert2011-02-15

k i have everything but the pnp's.. i have a few on my next order though. Will do that, then update my 'ible so hopefully no one will make my mistake and therefore eventually fry their Arduino. Testing now

Oh and i see my problem w/ the regulator (at least possibly) is that for like the 7.5 volt wall wart its going to give me a lot more high voltage because it has a light load compared to its potential output- and the 9v is probably trying to give more than its rated for

Select as Best AnswerUndo Best Answer

user
Archit B (author)2016-05-21

I am facing similar problem.I have ARDUINO UNO R3 which i always used to connect to a dc 12V=1A adapter but last time when i connected a 9g servo and uploaded sweep code it just started getting really really hot almost enough to give a burn. What is the problem ccan it be corrected.Please Help!! THANKS in advance because i know instructables will definitely do something.Cheers:)

Select as Best AnswerUndo Best Answer

user
rickharris (author)2011-02-15

Your drawing too much current through the chip - Either the supply voltage is incorrect (too high ) or your outputs TOTAL more then the chip can support -

You need to refer to the chip data sheet

Select as Best AnswerUndo Best Answer

user
astroboy907 (author)rickharris2011-02-15

if each I/O line can source 40ma of current, its outputting a good 480ma at any given time. If the chip itself consumes some current, its taking the full usb supplied 500ma, but since only some of the I/O's are on, its probably giving around 300-400ma at any given time. As long as it doesnt do a thermal shut down or melt itself, im good, and since it hasnt done that (ive had it on for at least 2 hours with only a few seconds break to refresh with some updated code) I think im fine for now. Will keep watching though

Select as Best AnswerUndo Best Answer

user
rickharris (author)astroboy9072011-02-16

There is also a chip total max power - WHY don't people read the chip data sheets??

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)2011-02-15

What are you interfacing to, and how ?

Steve

Select as Best AnswerUndo Best Answer

user
astroboy907 (author)steveastrouk2011-02-15

its just my 'ible, the TimeDuino clock. The I/O's go to either transistors, through resistors, to control the 7 segments of the display, 4 go to power each individual digit, and 1 goes to the colon. The atmega seems to be the only chip that gets hot - except for the power regulator on the board (but that only gets hot when i plug in a wall wart)

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)astroboy9072011-02-15

Ah, if you are doingwhat you told Rick, you are WAAAAAAYYYYY exceding the maximum PACKAGE dissipation, and you WILL kill the chip eventually. That I/O MUST be buffered from the Arduino.

Steve

Select as Best AnswerUndo Best Answer

user
astroboy907 (author)steveastrouk2011-02-15

can you explain in simpler terms? I get the package dissipation part (or at least i think i do)
The datasheet says it can run at 80*c, but im guessing thats just the environment temp, not the chip temp :\

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)astroboy9072011-02-15

First of all, calculate the PIN dissipation - that's Vpin x Ipin.

Then calculate how many pins have that dissipation = N x Vpin x Ipin.....

+whatever the chip uses

= NOT MORE THAN the package dissipation (usually in milliwatts, and I'd GUESS, because I don't know what chip you are using, that it's something like 200mW - 300mW MAX at an ambient of 40C.

It is a complex factor, and hard for a non-specialist to work out.

Steve

Select as Best AnswerUndo Best Answer