Burned my Mega 2560

INTRO

So doing quite a project here and I think I've destroyed my brand new Mega. If you power it the TX & RX LEDS constantly burn, and it's not visible on the computer also not when I connect the USB while holding the reset button.

The Atmega chip is however still doing it's work, the program that's on it still runs. At least the bit I was able to test.

THE PROJECT

The situation: - I have 16 sensors (very simple +5v - 1k[ch937] - output - sensor - GND, where the sensor is a resistor that changes value) - And I have 48 outputs, these are 6 LED's per output powered on 12v through 3 TLC5940NT's

I got the 12V for the LEDs by connecting a 12v DC (which actually outputs 12.76V) to the Arduino and then taking 12V again from the Vin of the Arduino.

THE PROBLEM

This worked fine last friday, but today one of the sensors kept outputting HIGH (4.8V) while it's state should normally be low. Turned out a wire was broken which meant the 1k[ch937] resistor wasn't connected anymore. Which is odd I think because the 5V needs to go through the resistor to ever make it to the output. :-?

After this the Arduino became hot (touching the Atmega 2560 chip hurt) and stopped working. Now when I put the 12V adapter in the little metal-plate+chip richt next to the socket becomes very hot (as in: don't touch!) and after a while the USB-socket starts heating up as well, although the Atmega 2560 in the middle stays cool.

I've tried to connect one of the working sensors and output again and that worked (haven't tried with 16 again though). But still the Arduino won't communicate anymore with the computer and the RX and TX lights stay on forever.

HELP!

Anyone here who can tell me what's exactly broken, can it be fixed, what caused it, etc?

The Mega2560 is quite expensive so I wouldn't like ruining another one. My first step would be to just power the Arduino from USB and connect the 12V directly to the LED's rather than connecting the power to the Arduino and using the Vin port. But I'm not sure this would solve everything, I've tried and there was no point where a connection to sensor or TLC was over 5V.

The strange thing is that it worked for hours on friday and now broke within half an hour, is that because of the malfunctioning sensor drawing more current perhaps than a properly functioning one meaning that the Arduino overheats with the 12V supply?

I think I leave this one for Grumpy Mike to answer. He has such a nice way to explain what happened. If you can't bear the suspense, read this and follow-ups by Grumpy Mike to get into the mood: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1291558012/8#2

Korman

Well as I was summoned here goes.

It sounds like you have some how managed to blow up the USB port. From what you say I can't tell what you did wrong. However the statement:-

I have 48 outputs, these are 6 LED's per output powered on 12v through 3 TLC5940NT's

Is a bit tangled, that is it doesn't convey to me what your circuit is. However it might suggest that you have connected on end of an LED to 12V and the other end to the mega. On the other hand you talk of 3 TLC5940s which will give you 48 outputs and will control the current through them.

Turned out a wire was broken which meant the 1k[ch937] resistor wasn't connected anymore.

That would not have done any damage to your system.

t's not visible on the computer

If this is a mega 1280 this suggests that the FTDI chip (the one right behind your USB socket) is not working. If this is a mega 2560 this chip is a small square and in fact is another processor. Either way this chip and possibly a power regulator chip needs replacing. Unfortunately it is a surface mount part and replacing it requires a high degree of soldering skills.

As to what you did wrong

I got the 12V for the LEDs

If you could be clear exactly what you did I would stand a fighting chance.

Thanks for the replies, I’ll try to make it more clear:

I have 3 TLC5940, which have 48 outputs, and each TLC output is connected to a LED-strip with 6 3528 SMD LEDs. So the LED’s aren’t connected to the Arduino directly, they’re connected to the TLCs.

Connected to the Arduino is:

  • 12V 3.0A DC Power Supply (that actually gave 12.76V), on the power jack
  • Vin pin to supply 12V to the anode of the LEDs
  • 5V and GND from Arduino to breadboard, connected to sensors and TLC5940
  • sensor output to the 16 Analog In on the Arduino
  • several Arduino outputs to the first TLC (connected as explained here: http://code.google.com/p/tlc5940arduino/)

I’ve measured the voltage on everything connected to the Arduino, all was below 5V.

I think the problem is the DC adapter connected to the power jack, it becomes too hot to touch and also the usb socket becomes hot after a while. When all went wrong the Atmega2560 chip was also very hot, but after that had cooled down, it worked again and stayed cool. In contrast to the power jack and the chip right next to it which became hot again. The TLCs stayed perfectly cool by the way.

I guess the power regulator of the Arduino is a lot less robust than I thought. Also the fact that it worked for a day but the whole thing broke when the sensor broke makes me think that the sensor constantly putting 4.8V through to the Analog In may have increased the load on the power regulator?

The lesson I have definitely learned: power an Arduino from USB so it gets the 5v it likes to get, and connect the external power supply where you need it, rather than using it to also power the Arduino…

I don’t know if it’s really clear but I made a little schematic (I’m sorry for the quality, it’s been a few years since my lessons on this…), difference is that in reality there are 16 sensors going to the Arduino and all 48 outputs of the TLCs are used. But I hope this shows how everything is connected. The red areas are where it gets hot as soon as I plug the DC in, the yellow is the Atmega2560 that got hot once, but stays cool now. The green lines are in/out-puts to the Arduino.

Now I think I’m safe if I connect the + of the 12V DC directly to the + of the LEDs and the - of the 12V DC to the GND, and then power the Arduino from USB rather than the 12V supply. Or would it be better to also go for a separate 5V supply for the TLCs and sensors? Or is there more wrong with this circuit?

Dead power regulator, never in its life the onboard regulator can power all that mess of wires

the sensor broke makes me think that the sensor constantly putting 4.8V through to the Analog In may have increased the load on the power regulator?

No that has little effect on anything, in fact it will slightly reduce the load on the regulators.

I think the problem is the DC adapter connected to the power jack

No that is not the problem it is a symptom of the USB chip taking too much current because it is fried.

Also the fact that it worked for a day

I suspect that what ever happened to break your sensor also caused damage to your chips which then drew too much current and died.

I am not sure why you would want to connect the LED to 12V before feeding it into the TLC chip. That only makes the TLC chip have to burn off a lot of power and it will get much hotter than it needs to.

Or would it be better to also go for a separate 5V supply for the TLCs and sensors

Yes much better.

I suspect that you have some loose wires here, how about posting a photo so we can see the robustness (or otherwise) of your construction.

Again thanks Grumpy_Mike.

But how can the USB-chip burn when the Arduino is powered by the power jack and nothing connected to the USB-socket on the Arduino?

The “sensor” (it’s just a piece of Velostat which reduces it’s resistance if you press it) didn’t actually break, there was one wire disconnected which meant it was bypassing the 1k[ch937] resistor and thus always outputting ‘high’.

The LEDs are connected to the 12V because they need 12V to operated (they’re LED-strips actually, not single LEDs). So it’s connected in the same way as here, but then the + of the LEDs is going to a 12V power supply rather than the 5V from the Arduino they use here.

On the robustness here’s an image of the breadboard (6 connectors still missing here), the connecters go to 30m of ethernet cable in total, and on the other end are circuitboards for the LEDs and sensors. I know the breadboard is not robust, that’s why I always check all connections before connecting the power…

The circuit works as supposed now btw, it’s just that the Arduino won’t talk to my pc anymore, which means I’m only able to run the test program I made to test the sensors now…

Ok this is fucked up, another Arduino Mega 2560, another USB-chip not responding.

This time the Arduino was powered from usb, other components powered by external power sources. Everything went fine, nothing became hot and suddenly the Arduino shut my computer completely down (not even into the USB-overload warning, just instant shutdown) and now the Arduino works perfect except that you can't see it on the computer anymore. Ergo Atmel usb-chip is dead again, but this time I really have no clue what did it. :'(

I've never had any of these problems with my older Arduino's before, is this new Atmel-chip used for the USB extremely fragile, is it possible the Arduino's came from a batch with problems or...?

[Edit] Providing power on the usb for the Arduino still works fine, it's just not visible anymore on the computer.