Go Down

Topic: Externally powering LEDs so Arduino doesn't fry (Read 6012 times) previous topic - next topic

fungus


Fungus, it sounds like you are saying that the mega has 4 200ma (well, one of the 4 is split into 2 100ma), ports, but the current limit on the regular 328 based chips is 200ma for all ports combined. I think I've read that there are 4 ports on the 328 chips. Is it possible that going over 100ma on any one port might be damaging?


If only the datasheets would tell us stuff like that...

Oh, wait, they do!!

Seriously, how many times must you be told to read them?


What is ok or not ok, is up to each individual to decide


The laws of physics disagree.


they need to decide for each circumstance. The circumstances can play into the situation to make one way or another seem like the best option. In the case of wearable LEDs, number of parts, and complexity are a big factor. Power consumption is another big factor (typically running from batteries), but longevity may not be a big factor, since they are often only used for not more than a couple hours at a time, and may go days without any use.
If these LEDs run for weeks on end without failure, then only running them for a few hours a week should make the last a very long time.


If I'm a dancer (or whatever) wearing LEDs, I don't want them to die in the middle of an act because somebody thought "They'll be OK because they're only used a couple of hours a week!!"

My question still stands: Do you think there's a line somewhere, or is any amount of abuse OK? If there is a line, why not draw it where the datasheet says instead of at some random place?
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

retrolefty

#31
Feb 06, 2013, 04:58 pm Last Edit: Feb 06, 2013, 05:04 pm by retrolefty Reason: 1
Quote
if the total chip limit was 200mA, why would they bother separating the current consumption of the I/O ports into 200mA groups? It would just say "200mA"...


Because there are several ways to reach the 200ma limit, one port at max, several ports at each less then port max?

The datasheet which should be the final source of judgement, is frustratingly vague (if not misleading) on this issue of total safe chip maximum current consumption. No matter what side one is on is issue, there has to be some questionable interpretation done to arrive at one's opinion. Absolute max rating section reference to maximum current rating of Vcc & gnd pins (all together or X4 is the key question) of 200 ma can't just be ignored as a simply requiring an X4 being required to come up with a 800 ma total. Many  IC devices include a total maximum device power dissipation in wattage, which would have been helpful in this mega1280/2560 debate, but I haven't seen such a specification?

I guess a real world test would be simple enough, just put load resistors on every pin such that no single pin limit or port limit is violated and then measure total device current consumption and see how long the chip lives? I'm just not prepared to volunteer either of my two mega1280 boards as guinea pigs to the cause, as I don't believe it would be a non-destructive test.  ;)

I'm perfectly capable of being wrong in my opinion, I have no emotional attachment to this opinion, or being wrong. I just have not seen a clear unambiguous argument made yet. The datasheet just lacks clarity in this issue.

Lefty

Hippynerd



Fungus, it sounds like you are saying that the mega has 4 200ma (well, one of the 4 is split into 2 100ma), ports, but the current limit on the regular 328 based chips is 200ma for all ports combined. I think I've read that there are 4 ports on the 328 chips. Is it possible that going over 100ma on any one port might be damaging?


If only the datasheets would tell us stuff like that...

Oh, wait, they do!!

Seriously, how many times must you be told to read them?


What is ok or not ok, is up to each individual to decide


The laws of physics disagree.


they need to decide for each circumstance. The circumstances can play into the situation to make one way or another seem like the best option. In the case of wearable LEDs, number of parts, and complexity are a big factor. Power consumption is another big factor (typically running from batteries), but longevity may not be a big factor, since they are often only used for not more than a couple hours at a time, and may go days without any use.
If these LEDs run for weeks on end without failure, then only running them for a few hours a week should make the last a very long time.


If I'm a dancer (or whatever) wearing LEDs, I don't want them to die in the middle of an act because somebody thought "They'll be OK because they're only used a couple of hours a week!!"

My question still stands: Do you think there's a line somewhere, or is any amount of abuse OK? If there is a line, why not draw it where the datasheet says instead of at some random place?



Oh wait, they datasheets arent always as clear as you say, thats why half of the post in this thread exist. Did the datasheets mention that the quad fine pitch package has 2VCCs and an AVCC all rated at 200ma? How about what crossroads says? There clearly is good question here, so your comment about oh wait... is just trying to be an ass to me, why would you feel that is acceptable?

It seems to me that If you are careful, maybe you can use 200ma on 2 ports, and another 200ma on the other ports, but maybe that didnt make it to the datasheet, or maybe they thought it was obvious that they meant on 200ma for any vcc pin, and they just happen to have more than one. It seems to me, that people trying to sell a product usually advertise every feature on their product. Or it maybe they didnt include all the VCC info so that folks would be less likely to exceed specification? I dont know, and its all to unclear.

Fungus, you seem to want to harp on about how I want to ignore datasheets, thats not the case, thats just you trying to paint me as a bad person. If I didnt read datasheets, how did I find the 200mA spec that you brought up, that started this whole mess going. Thats right, i found it in the datasheet, on page 313, remember, you didnt bother quoting your source, so I did it for you.

If you are a dancer, and you come to me and say that you want to light up 64 RGB LEDs for a 1 hour performance next tuesday, and probably wont use it again. Would you spend 3 months engineering the circuitry? I spent over a week reading about stuff to figure out how to calculate a good mosfet for just for one cube. There are many many ways to solve the same problem, and you could spend a week just figuring out all the various way, or you could charlieplex them all, you can resistor them if you want, or not, because they will almost certainly last more than an hour. Mine have been running for over 1000 hours, with no sign of slowing down. If you dont mind them being dimmer, you can add 16 resistors to the circuit too, i've also done that.

I have 4 cube designs going, and the 2 simple ones are looking the best, the more complex ones that use shift registers, or constant current drivers may turn out to be better, but they have taken months to get running, and the charliecube only took about a week.

There is a fine line between use and abuse, and if the choice is between project failure from not getting completed in time, or a little excessive wear on some parts, I'll wont be choosing failure.

How are you going to explain to your dancer that the LED out fit will be ready the week after they dont need it anymore?

It turns out that I may have access to a scanning tunnelling microscope, but I dont think I will have access to any decapping type machines. I've found that LED bodies are hard and chemical resistant, how should I prep an LED for scanning tunnelling microscope.
https://sites.google.com/site/rgbledcubes

Grumpy_Mike

The total current capacity for a chip is all a bit academic because Hippynerd does not believe in using series resistors with LEDs when multiplexing because he dose not appreciate the difference between peak current and average current. So even if he is prepared to pay attention to one small part of a manufacturers data sheet he totally ignores another.
The only current he is measuring is average current, which is the wrong sort of measurement to make. But as you have seen there is no telling him anything. Just as dhenry departs then we have a step in replacement giving advice that contradicts the data sheet, so he needs careful monitoring to minimise the damage he will do. The first step of actually trying to educate him has failed.

Quote
I'm just not prepared to volunteer either of my two mega1280 boards as guinea pigs to the cause,

No need because two samples is no where near enough to tell you anything about stress ratings especially if your only criteria is total loss of function.

retrolefty


The total current capacity for a chip is all a bit academic because Hippynerd does not believe in using series resistors with LEDs when multiplexing because he dose not appreciate the difference between peak current and average current. So even if he is prepared to pay attention to one small part of a manufacturers data sheet he totally ignores another.
The only current he is measuring is average current, which is the wrong sort of measurement to make. But as you have seen there is no telling him anything. Just as dhenry departs then we have a step in replacement giving advice that contradicts the data sheet, so he needs careful monitoring to minimise the damage he will do. The first step of actually trying to educate him has failed.

Quote
I'm just not prepared to volunteer either of my two mega1280 boards as guinea pigs to the cause,

No need because two samples is no where near enough to tell you anything about stress ratings especially if your only criteria is total loss of function.


Well if both my mega1280 boards were to go up in smoke in short order trying to sink or source 800 ma of steady state current, that would be pretty conclusive to me, but alas I've no guts so no glory will fall upon me.

So GM what is your take on what the absolute maximum current consumption is for a mega1280/2560 chip assuming no pin or port limit is reached?

Lefty

Grumpy_Mike

Quote
what is your take on what the absolute maximum current consumption is for a mega1280/2560 chip assuming no pin or port limit is reached?

Well at one stage member mem was in contact with an Atmel field engineer and at my prompting he was going to ask that very question.

My take is that a normal DIL 328 chip can take 200mA sourcing and 200mA sinking so I would set the design limit to 150mA each. I would not consider the analogue voltage pin to be part of the equation.

However, on the quad flat pack packages of the 1280/2560 chips then on the pure current considerations I would say 4 X 150mA total source and the same for sink, as well. However, in practice you will have to watch the thermal performance of the chip as well. This would probably mean that you would derate the current capability with temperature.

CrossRoads

I have a query in with Atmel, lets see what they say:
Quote

Hello,
Please forward this to the 8-bit AVR tech folks, my browser won't let me open that page.

The ATmega328P, ATmega1284P, ATmega2560 data sheets all show
DC current VCC and GND pins .................................. 200.0mA.

The Electrical characteristics all show greater then 200mA total being supported by the ports with various current limits per port:

Notes on allowed currents:

ATmega48A/PA/88A/PA/168A/PA/328/P:
3. Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
1] The sum of all IOH, for ports C0 - C5, D0- D4, ADC7, RESET should not exceed 150mA.
2] The sum of all IOH, for ports B0 - B5, D5 - D7, ADC6, XTAL1, XTAL2 should not exceed 150mA.
If IIOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current greater than the listed test condition.
4. Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
1] The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100 mA.
2] The sum of all IOL, for ports B0 - B5, D5 - D7, XTAL1, XTAL2 should not exceed 100 mA.
3] The sum of all IOL, for ports D0 - D4, RESET should not exceed 100 mA.
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition.

ATmega164A/PA/324A/PA/644A/PA/1284/P:
3. Although each I/O port can sink more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
1.)The sum of all IOL, for ports PB0-PB7, XTAL2, PD0-PD7 should not exceed 100mA.
2.)The sum of all IOL, for ports PA0-PA3, PC0-PC7 should not exceed 100mA.
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition.
4. Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
1.)The sum of all IOH, for ports PB0-PB7, XTAL2, PD0-PD7 should not exceed 100mA.
2.)The sum of all IOH, for ports PA0-PA3, PC0-PC7 should not exceed 100mA.
If IOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current greater than the listed test condition.

ATmega640/1280/2560:
3. Although each I/O port can sink more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
1.)The sum of all IOL, for ports J0-J7, A0-A7, G2 should not exceed 200mA.
2.)The sum of all IOL, for ports C0-C7, G0-G1, D0-D7, L0-L7 should not exceed 200mA.
3.)The sum of all IOL, for ports G3-G4, B0-B7, H0-B7 should not exceed 200mA.
4.)The sum of all IOL, for ports E0-E7, G5 should not exceed 100mA.
5.)The sum of all IOL, for ports F0-F7, K0-K7 should not exceed 100mA.
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition.
4. Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
1)The sum of all IOH, for ports J0-J7, G2, A0-A7 should not exceed 200mA.
2)The sum of all IOH, for ports C0-C7, G0-G1, D0-D7, L0-L7 should not exceed 200mA.
3)The sum of all IOH, for ports G3-G4, B0-B7, H0-H7 should not exceed 200mA.
4)The sum of all IOH, for ports E0-E7, G5 should not exceed 100mA.
5)The sum of all IOH, for ports F0-F7, K0-K7 should not exceed 100mA.
If IOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current greater than the listed test condition.

My interpretation of these notes is that:

for the '328P the sum of current across the VCC/AVCC pins can support the current thru the ports, with 400mA max thru the VCC/AVCC & Gnd pins and 300mA thru the ports, (altho SMD parts have an extra VCC& Gnd pin, so 600mA could be taken in)

for the '2560 the sum of current across the VCC/AVCC pins can support the current thru the ports, with 1000mA max thru the VCC/AVCC & Gnd pins and 800mA thru the ports,

and for the '1284P the sum of current across the VCC/AVCC pins can support the current thru the ports, with 400mA max thru the VCC/AVCC & Gnd pins and 200mA thru the ports (altho SMD parts have 4 each VCC/AVCC & Gnd pins,  so 800mA could be taken in) So the '1284 seems to be under supported for IO current.  But a nice chip none the less that I will continue to use.

Can you confirm that for 328s & 2560s that the higher currents in the notes are supported and the 200mA Absolute Max is for each individual VCC/Gnd pin and Not for the entire device?

Thank you.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Hippynerd


The total current capacity for a chip is all a bit academic because Hippynerd does not believe in using series resistors with LEDs when multiplexing because he dose not appreciate the difference between peak current and average current. So even if he is prepared to pay attention to one small part of a manufacturers data sheet he totally ignores another.
The only current he is measuring is average current, which is the wrong sort of measurement to make. But as you have seen there is no telling him anything. Just as dhenry departs then we have a step in replacement giving advice that contradicts the data sheet, so he needs careful monitoring to minimise the damage he will do. The first step of actually trying to educate him has failed.

Quote
I'm just not prepared to volunteer either of my two mega1280 boards as guinea pigs to the cause,

No need because two samples is no where near enough to tell you anything about stress ratings especially if your only criteria is total loss of function.


Did you just completely not read anything i wrote, or did you just chose to ignore it?

Since you brought up the peak current issue, what is the constant current value, and what is the peak current value for the 328?

Someone said that their LEDs had a constant forward current of 20ma, but a peak of 200mA if pulsed. If the spec on the datasheet is for constant current, then what is the pulsed current spec?

Grumpy mike just doesnt like it when people dont do what he says, and if you dont do what he says, he is has to defend himself by outing you as some kind of reckless fool that doesnt know what they are doing. Its pathetic, but whatever, everyone needs a hobby.  He feels its ok to be abusive to people when they dont agree with them.

I have done the best to measure what I can, with what I have, and mostly its just because mike and fungus want to tell me the Im doing OMG huge amounts of damage, but yet they just keep working. What is more likely, that my personal arduinos and LEDs are super sturdy, or their claims are greatly exaggerated? If you were paying attention, you would know that the datasheets for LEDs that I have are very limited, and dont include pulsed current data. You would also know that I have current limiting resistors on the a cube, and i've tried a few different values, and measured the current load for each, and that I even stated that my meter probably wont show peak current.

Mike, I actually may be able to get some scanning tunnelling time, I dont need to prove anything to myself, but you cant stop harping about how the only way i can tell if im damaging something is by using a scanning tunnelling microscope. So... why do you just outline the procedure that you will find acceptable, since its really only to satisfy you.

Mike, you and fungus just wanna hate on people that dont follow your personal criteria. If they dont do what you say, you call them names, you've done it to me, and you've done it to dhenry a lot, to the point where he wont even bother responding. You dont seem to understand that your behavour is abusive, even though I have mentioned it in the past, and you have made progress, so there is hope, but sadly, you take that back every chance you get.

If I want to abuse my LEDs, and show others that they can abuse their LEDs, thats fine, but being abusive to people isnt fine.

P.S. Reliability isnt the only thing that is important to everyone. Sometimes its ok to reduce reliability to increase usability.

https://sites.google.com/site/rgbledcubes

fungus


Someone said that their LEDs had a constant forward current of 20ma, but a peak of 200mA if pulsed. If the spec on the datasheet is for constant current, then what is the pulsed current spec?


The datasheets normally list pulse width (eg. 10%) and frequency (eg. 1us).

I've got LEDs that can take 200mA pulsed and LEDs that can only take 30mA.
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

fungus

Again, the datasheet says:


DC Current per I/O Pin ........................................ 40.0 mA
DC Current VCCand GND Pins ................................ 200.0 mA

This is a stress rating only and functional operation of the device at these or other conditions beyond those indicated in the operational sections of this specification is not implied.

Exposure to absolute maximum rating conditions for extended periods may affect device reliability.


Those words were written by the people who know more about the AVR chips than anybody else in the world. Only a bad engineer would knowingly ignore them. Only a terrible engineer would argue endlessly to justify doing so.


PS: I don't see how following the datasheet means it takes longer to build a circuit. That's a strawman.

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

fungus


I have a query in with Atmel, lets see what they say:


I think it's clear (200mA per VCC/GND pin), but this is the correct thing to do.
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Hippynerd

#41
Feb 06, 2013, 09:16 pm Last Edit: Feb 06, 2013, 10:17 pm by Hippynerd Reason: 1


20 LEDs isnt too many for the arduino to control, even at 20mA each


My copy of the datasheet says maximum current allowed through the VCC or GND pin is 200mA...

20x20 is 400 - too much.






This image leads me to believe that I could source 200ma or sink 300ma or I could source 150, and sink 200 for 350ma. If you have the qfp package then you have have 2 VCC pins, and should be able to source 300ma, and maybe more, depending on how that AVCC thing works.

When you throw in the other arduino chips, it gets more confusing.

So, generally speaking, 350 is probably a realistic maximum(assuming other limits are observed), for any arduino, but depending on the package, or the chip(328/1280) you may have much higher limits. There seems to be enough question about things to ask.

I suppose an easy way to get past all this is to limit the LEDs to 15mA, and be a marginally careful when distributing the load.

Designing a circuit that uses a lot of parts make the design more complex, and more difficult to calculate and measure all the various factors to keep things within safe limits. Using a simpler design means much quicker development and implementation. It has nothing to to with reading datasheets, that just something that you seem to be stuck on.

It should also be noted that you can run LEDs off the arduino without controlling them with the microcontroller, as long as the combined current doesnt exceed the arduinos (not the chip, the board) current specification. Which I think is about 25 LEDs at 20m, assuming the arduino used none. That too may vary from arduino version. It looks like those megas must have larger capacity voltage regulators, if they can source 800mA.
https://sites.google.com/site/rgbledcubes

Hippynerd

I just realized that the schematic shown shows only 28 pins, like the dip, but it also shows 2 VCC,s(pin7 and 20) and 2 grounds (pins 8 and 20). The qfp chip is 32 pin. with VCC on pins (18, and 4).

So, do all arduino have 2VCCs or do some only have one?

https://sites.google.com/site/rgbledcubes

fungus


So, do all arduino have 2VCCs or do some only have one?


The number of VCCs and GNDs is appropriate for the number of I/O pins on the chip.

eg. The Mega328 has 2 sets of VCC/GND, the Mega1280 has 4.

This is why I don't think the datasheet is ambiguous - the amount of current allowed on all the I/O ports neatly matches the number of VCC/GND pins available. That's no accident IMHO.

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Grumpy_Mike

Quote
If I want to abuse my LEDs, and show others that they can abuse their LEDs, thats fine, but being abusive to people isnt fine.

NO NO NO.

You can abuse your own LEDs all you want. But as soon as you start telling other people who come here for good advice that it is OK to do this that is the point where you must be stopped.

Quote
Mike, you and fungus just wanna hate on people that dont follow your personal criteria.

That illustrates your total lack of understanding about most things. There are many many ways for an engineer to design a good circuit, I don't care which you use, what I do care about is that you do use one of them, whether I told you about them or not. However, you seem determined to just barge around like an elephant in a china shop. Well that is fine for your own china shop but do not lead others into thinking that this behavior is sensible or desirable.

Go Up