Digital pin current capabilities for ultra-short timeframes.

Hello everyone!

I've searched around the forums, and have only been able to find questions that are essentially "How much current can these pins source?" What I haven't found is information on the mechanism that makes the chip fail. Is it heat death in the transistor?

My problem: I most likely need a simple H bridge, as I need a 5 V potential in either orientation to drive a inductive load at about 200 mA. It needs to do this for about 10ms every second. In the thermo-101 frame of thinking, that is 200 mA for 10 ms, which is "the same as" 2 mA continuously assuming the problem is simple heat death, and my arduino is a sphere.

What are your thoughts on this? How much can you push the current limit in the domain of short pulses (assuming voltage droop is acceptable)? Would you assume this is going to reduce the lifetime of the arduino, or just kill it outright?

Oh, and just for fun, let me throw out there that I am using a trinket, but I am interested in the discussion in general. :slight_smile:

Thanks!

-John

PS: I have already ordered myself an IC for this project, but am genuinely curious about the problem in general.

I think what may happen is that the current clamp diodes fail in a closed state, shorting Vcc to Gnd locally, the chip runs very hot, and eventually dies.
I have no actual data to back that up with. It may also be the output drive transistors fail in the on-state and causing the same result, as folks have reported that other IO pins work fine when only one IO pin has been damaged.
I've not had that luck - a couple of mine were killed when a loose 12V supply wire touched an IO pin and took out the whole chip. My very first failure was driving an NPN base with no resistor - it took a while, (45 minutes to an hour maybe, was 5+ years ago) but the chip did die and was hot to the touch when it did. The 12V was also in the same time period, when I was assembling a box that used 12V to power LED strings, and a wire came loose that I wasn't aware of during debugging.

I've seen some datasheets (for different ICs) that specify a short circuit duration but I don't see that on the ATmega datasheet.

Any time you exceed the specs you're taking a risk. You can probably go 10-20% over the spec on most chips for a short duration (or maybe a long duration), but if the chip blows you can't complain, or if 1 out of 100 chips dies in the same circuit you can't complain...

The specs say 40mA "Absolute Maximum" for an output pin and 200mA for the whole chip. That doesn't mean 40.01mA is going to burn it up, it just means that 40mA or less is safe and a good design shouldn't exceed the limit.

How bad are you going to feel if you fry your Arduino? Maybe it's worth the risk to you and maybe you'll be OK, but I wouldn't go "into production" with that design.

I had a shorted pin that took me several minutes to troubleshoot (maybe an hour) and there was no permanent damage. But of course, I wouldn't recommend trying it.

I'm guessing that you won't get 5V at 200mA, but I don't have a guess of how much voltage drop you'll see.

Even an instantaneous dead short on an arduino pin probably won't deliver 200mA. That implies an on resistance of about 25 ohms. Not sure about the psu.

And when you turned it off the recovery spike on an inductor would be big.

bite the bullet - buy a suitable driver

sorry

Allan.

The problem isn't just that you're massively exceeding the current output spec and absolute max rating (actually, you won't even get as much as you think you would because of the impedance of the pin drivers - but it's still over spec).... that inductive load will make a negative voltage spike when you turn it off, that in and of itself would probably do it.

For driving anything other than LEDs and other really low power stuff (certainly anything electromechanical) you need to use an appropriate driver - a transistor, MOSFET, or IC that contains such.

To answer your original question: "What I haven't found is information on the mechanism that makes the chip fail. Is it heat death in the transistor?". With one exception, all electrical and electronic devices fail because of heat. You already know about heat in a solid state device. If it can't dissipate the heat quick enough, something melts or chemically disassociates and the component no longer operates as intended. This applies to everything from incandescent light bulbs to transformers and electric motors.

The exception is when an active component is subject to ionizing radiation, x-ray, etc. That causes chemical disassociation and failure.

Paul

Nosty85:
In the thermo-101 frame of thinking, that is 200 mA for 10 ms, which is "the same as" 2 mA continuously assuming the problem is simple heat death, and my arduino is a sphere.

What are your thoughts on this?

It is crap. Well you asked.
You seem to know nothing about semiconductor design. You can't extrapolate like that.

Damage can occur, to the bonding wires by either acting like a fuse, or my the mechanical stress produced by the magnetic field from the current through it or by expansion of the wires due to heat.
Also excessive current can sweep the charge carriers from the doped semiconductor.
Then you have the one you thought of.

Thanks for the responses! As stated, I did already buy a more reliable solution, so it was more of a thought experiment than a project design question (at least for this project. It could come in handy for future projects).

Contrary to what you may think, I do, in fact, know a bit about solid state theory. I know any solid state device can be "bleached" and damaged by too much current flow. I understand fully that bonding wires and other interconnects are particularly vulnerable. But I also know that when a manufacturer specifies a maximum current, they do so at worse case scenario (IE what dies first). IF that scenario was simply heat dumping on the macro level of the device, you could certainly push that 40 mA limit by a considerable amount. If the first thing to fail was one of the smaller pieces of the chain (such as the bonding wires), then you'd be limited by that weak link. I tried to be careful to word my original question in such a way to stress that I understood it was a bit of a pipe dream, but I thought it was worth asking to what extent, if any, you could overdrive the chip (as I couldn't find any previous discussion in the forums).

The device in question is an optical switch. Leaving the voltage in place for more than a handful of ms would burn it out due to heat-death, but it is fine at short pulse durations (I was hoping it was a similar limitation on the microprocessor). The voltage drop due to the limited current wouldn't necessarily be a problem, so long as the switch flipped based on the current that was supplied (reliably), but the negative return spike was something I didn't even consider. I'm glad I preordered that IC!

Oh well, I'll continue sticking with the safe path of relays and H-Bridges for all non-logic applications! Thanks again everyone!
-John

The device in question is an optical switch. Leaving the voltage in place for more than a handful of ms would burn it out due to heat-death, but it is fine at short pulse durations

That is a situation that is designed for. Some LEDs are designed for pulse operation and some are not. I was involved in a lengthy technical dispute where one engineer assumed that an LED could stand excess pulse current even though it did not state that in the data sheet. The LEDs failed causing thousands of set top boxes to be recalled. The engineer was wrong.

The problem is that components are designed for pulse operation and some are not. You can not just take a component not designed for pulse operation and expect it to cope. It is all to do with the thermal paths inside the component.