AT90USB overheating?

Go To Last Post
5 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Has anyone had mysterious overheating issues with the AT90USB? I haven't done a large number of projects with it, but I have one causing me some problems. The IC gets quite warm when connected to a windows PC - ultimately, it will stop recognizing a USB connection has occured until it's allowed to cool down a bit.

The IC is @ 5V 8mhz, and there isn't anything special about how the USB interface is hooked up. The power is external (not bus powered).

I'm going to try it at 3.3V to see if that provides a better result, but has anyone stumbled across this problem before?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It sure sounds like you have a fighting I/O somewhere--e.g., a high output to Gnd or a low output connected to a voltage. You might want to meter or 'scope all the pins--if a fighting I/O it might show like 1V or 4V instead of 0V or 5V. [Hmmm--I don't know what a direct short of a high output to Gnd will show.]

With the complication of the USB power, are you sure that you do not have fighting power supplies?

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sounds like it, but I've already tristated most of the IO (input) and verified a lack of a dead short in IO.

Puzzling.. I am guessing it is a misconfigured USB register, as I'm not that framiliar with the AT90USB just yet. Could always be something stupid too.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you tried holding the AVR in reset and see if it still heats up? That would guarantee that (at least the general) I/O pins are all high-Z.

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Try make simple program to do some 1/0's to each pin statically at long time.
Or maybe write all bit to zeros or ones and make DDR registers set to input.

KISS - Keep It Simple Stupid!