Go Down

Topic: total current drain (Read 3504 times) previous topic - next topic

Robert Fenichel

 I think I've just blown a 5v 328 Arduino Pro by drawing too much current from its +5v connectors.  That's my fault, but the hardware could make it easier for users to see how close to the edge they're getting.  

  Suppose each board interposed a 1% 0.22-ohm resistor between the output of its Vcc regulator (5V or 3.3V) and everything else, with vias to either side, so the user could easily check the voltage across the resistor, and thence compute how much current was being drawn.  The voltage drop across it would never be more than 100 mV or so, so the downstream components would be adequately supplied.  The resistor would never dissipate more than 50 mW or so.

 This kind of instrumentation access would be a convenience to some developers.

Bob Fenichel

BRuTuS

#1
Aug 05, 2009, 04:44 am Last Edit: Aug 05, 2009, 04:49 am by brutus1975 Reason: 1
The polyfuse works more like a circuit breaker.

Once you pull more than 500ma across it, it heats up and breaks the connection.

Let it cool and it should close.

I've never personally had one blow up permanently, but I'm sure its possible.  It's not common though ;)

As for too much current through the Atmel chip itself.. the datasheet is a little long, but reading through it shows that only certain conditions allow you to draw 40ma per pin.  The entire device, for example is rated at 200ma total.  So 5 pins at 40ma is the absolute max.  

There is a long time standard of 4-20ma.  Basically if you take the precaution of connecting 220 Ohm resistors between your Chip and whatever else, you will never take out the chip itself, as you are limiting its output to about 20ma.

If you need additional current, its usually advisable to use a transistor to avoid strain on your mcu.

Robert Fenichel

 Thanks for your message.

 For what it's worth, my power draw came mainly from the 5V pins, not from any of the Atmel chip's pins.  In other words, my problem -- if it is an overcurrent problem -- relates to the board, not to the chip.  The 5V pins are closer to the voltage regulator than the fuse, but even so, I know that most voltage regulators overheat gracefully exactly as you describe, with or without fuses.  

 For all of that, this board has not failed gracefully at all.  Even after it & I had cooled overnight, it is deeply dead, and it no longer accepts downloaded code.  Curiously, and not altogether consistent with my power-supply theory, its red power LED works, even though nothing else does.  Possibly its death was unrelated to the power I was drawing through it.  It died after running a single app for 5 or 6 days.

 The exact history of one Arduino's failure is not determinative of the merits of having more instrumentation hooks on a board that is meant for developers.

BRuTuS

Quote
The exact history of one Arduino's failure is not determinative of the merits of having more instrumentation hooks on a board that is meant for developers.


I suppose that is correct.  I would, however, also like to add that choosing a board with too small of a regulator in the first place, and burning it out does not necessitate an ECO.

Specs

Quote

# 5V regulator
# Max 150mA output


Perhaps the full Arduino with the bigger MC332690-5.0 DPak Vreg would be a suggested option?

Robert Fenichel


BRuTuS

Engineering Change Order.

Typically in the field, we're not allowed to deviate from design.  As soon as either us field techs, or engineering needs to make a change, an ECO is released. (If approved)

It's kind of the Adult version of getting permission to do something.  Unless the ECO gets issued, nobody deviates from the design.

Once the ECO gets issues, everyone must adhere to the design.

At times someone will request an ECO to address an issue but all the other depts do not agree, and as such it will not get accepted into the design.  

Kind of sucks when that happens - usually its because someone sees something of value that others do not perceive is of value.

mem

If the power LED is working then your regulator is probably OK. You may have corrupted the bootloader when the overcurrent condition occurred. You could try to burn a new bootloader  

This page has more on the bootloader: http://arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader

And this shows how to build one using a few resistors and an old printer cable: http://arduino.cc/en/Hacking/ParallelProgrammer

Robert Fenichel

 Thanks.  My pertinent background is software, not hardware, but there are exact analogies there.  I don't need to be convinced that big projects can fail if changes are made without coordination.  I just hadn't seen that acronym before.

 I didn't think my problem "necessitated" an ECO, and certainly not the specific one I suggested.  I was only drawing attention to a problem not likely to be unique, and I hoped only that the problem might be at least briefly contemplated by those directing the Arduino enterprise.

 I thought about getting the big MC332690-5.0 DPak Vreg Arduino, but I prefer the bare-edged versions, so I can mount screw-clamping connector blocks on them (Digikey 277-1273-nd and the like).  With more than a few connections in place, the combination of breadboard wires and headers is, for me, a never-ending struggle to replace wires that have jostled out.  Headers are cheap, but I feel guilty when the first thing I do with a product is to pull out my solder wick and scrap the built-in headers.

 Also, the bigger regulator is a quantitative change, but not a qualitative one.  Probably my specific application would be taken care of by the larger vreg, but then someone will come along with an even more power-hungry app.  Or not: after developing an application on the big Arduino, he might for reasons of economy want to know -- without doing the experiment -- if it could be implemented with lesser hardware.   On-board instrumentation hooks would now & then be useful even if the product were some sort of gigaArduino with a 10A Vcc bus.

mem

Robert, why do you think the regulator is the problem? It would appear to be working if the power LED is on.

Robert Fenichel

 All I know for certain is that
  • the board was working away for 130 straight hours or so, and then stopped dead;
  • in hindsight, the load I was putting on the 5V supply may have been excessive; and
  • the board is now completely unresponsive.
 
 I tried to think of a failure mode that
  • disabled pretty much the whole board and
  • might have been slowly brought about by overdrawing current from a point proximal to the Atmel chip
and power-train failure was the only thing that seemed likely.  I agree that the functioning power LED suggests, exactly opposite to my theory, that perhaps the power supply is the only part of the board that's working.  I'm not happy with the diagnosis, but it is the best I can do.

 I have now swapped in another Arduino board, just long enough to see that it works, but now I have removed it to keep it from being destroyed as the first one was.  I am re-implementing the app to make use of an off-board 5V supply.
 

mem

Robert, there are only two active components on your board, the regulator and the controller chip. The regulator drives the LED so that is probably working. If you are not getting a response from the controller chip then it is likely that the problem is related to that.
Because your chip is not easily replaced, your remedial action is limited but there is a chance that the bootloader got corrupted when the overcurrent occurred, and if so this can be fixed using the information I posted above.

retrolefty

Most 7805 type regulators are self protecting for over current or over temperature, they simply shut down until the load problem is corrected. I think you will have to look farther for your problem.

I have you tried the 'loop back' trick to check out the USB serial FTDI chip? Simply wire a jumper from ground to the reset pin and then another jumper from pin1 and pin0. When you plug in to your PC's USB it should see the device and if so then you can launch the Arduino IDE and then select the serial monitor, what you type on the keyboard should be echoed back to the serial monitor receive window. If this fails then you have a problem not easy to fix. If it does work then the next thing to try is to reburn the Arduino bootloader into the AVR chip with a programmer.

Lefty

Robert Fenichel

Quote
have you tried the 'loop back' trick to check out the USB serial FTDI chip? Simply wire a jumper from ground to the reset pin and then another jumper from pin1 and pin0. When you plug in to your PC's USB it should see the device and if so then you can launch the Arduino IDE and then select the serial monitor, what you type on the keyboard should be echoed back to the serial monitor receive window.


 That's a nice trick, and I'll remember it.  Unfortunately, I used it and got no echo.  The board is dead, except for its power LED.  It might have value as a nightlight in a dollhouse, but that's about it.

 There seems to be consensus here that this couldn't have been a vreg burnout, so I have to conclude that it was just a random deep failure.

retrolefty

#13
Aug 05, 2009, 07:03 pm Last Edit: Aug 05, 2009, 07:05 pm by retrolefty Reason: 1
One easy way to burn up the FTDI USB convertor chip is by misuse of the 3.3vdc pin on the Arduino connector. This regulated voltage comes directly from the FTDI chip and is limited to 50ma or less I think. Several users seemed to have fried their board using this voltage pin incorrectly, don't know if that relates to what you were doing but it's one possiblity.

Lefty

PS: it is possible if all that is wrong is the FTDI chip, is to use an external USB convertor module and wire it to pins 0 and 1 and power pins. Not sure it's worth the effort as they cost almost as much as some of the Arduino clone boards.

Robert Fenichel

Quote
One easy way to burn up the FTDI USB convertor chip is by misuse of the 3.3vdc pin on the Arduino connector.
 Good thought, and my app does have a 3.3V section, but it it is externally powered.
Quote
it is possible if all that is wrong is the FTDI chip, is to use an external USB convertor module and wire it to pins 0 and 1 and power pins
Another good thought, but my app was already doing its communicating through pins 0 & 1 (and an XBee module); I used the USB connection only for downloading & debugging.

Go Up