0
\$\begingroup\$

I am making a clock, using 6 rather large 8 segment blue LED displays. The circuit below is for one of the displays. All the displays run their grounds through the same N-MOSFET at the bottom right, and this is controlled by an Arduino with PWM to control the display's brightness.

I am running the 12V through the Arduino (via Vin). I am worried about the current that the displays will be drawing. I calculated (I am a noob) that I need a 105 ohm current limiting resistor on each of the 3 LED segments in order to get 20mA of current to drive the blue LEDs. If each segment draws 20mA, then an 8 segment display will draw 8x20mA=160mA of current. And so the clock will draw 6x160mA=960mA of current, if it is at maximum brightness. Is this correct?

I have a few question: Is that too much to run through the Arduino? Is that too much to run through a Cat5 cable? Would it be better to have a dedicated power supply for the Displays?

Thank you your help,

Fed

enter image description here

\$\endgroup\$
  • \$\begingroup\$ Running an amp through an Arduino Uno (whch I'm guessing is the model you have, there are thousands of different Arduinos) is only a problem if you're running it through the regulator. The piddly little regulator can barely handle 100mA before overheating, but if you're taking power from the Vin pin, then it's basically coming straight from your power brick and should be ok. PoE runs up to 0.6A through Cat5, how are you going to use it? Are you going to use the whole cable just for power (which should work just fine) or are you going to use a single pair to carry all the current? \$\endgroup\$ – Sam Jan 30 '17 at 21:18
  • \$\begingroup\$ I was going to use a single pair in the Cat5, as I need the others for SPI. I guess a local power supply for the displays is in order, since the current is greater than 600mA. Is my reasoning for the current correct? \$\endgroup\$ – Fed Jan 30 '17 at 21:35
  • \$\begingroup\$ There's no reason you couldn't push 2A down regular Cat5 (the wires are pretty similar to USB phone charging cables), it's just that the smaller the wire gauge and the higher the current, the more voltage drop you get. But as long as the voltage coming out the end under load is high enough to run the LEDs you're fine. Maybe try putting a big ol' resistor to stand in for the ~amp draw of the display on one end of the Cat5 and see what voltage you get. But 3 blue leds in series is going to need somewhere around 9-11V (you might have to drop the series resistors down a bit from 110 ohms) \$\endgroup\$ – Sam Jan 30 '17 at 21:54
  • \$\begingroup\$ When I run the 12V through the Arduino (via Vin), the regulator onboard heats up quite a bit. The Arduino crashes after a while. It seems to me that this should not be happening. Any idea why this would occur? If I have a separate power source for the LEDs, and keep the Arduino supply below 9V, the regulator does not heat up and it does not crash. Strange, but I guess I will go with a dedicated supply for the LEDs. \$\endgroup\$ – Fed Jan 31 '17 at 19:52
  • \$\begingroup\$ While it's best to run the LEDs from theirs own supply just as a matter of course, the Arduino's regulator is probably getting hot because the stock Arduino is not the pinnacle of energy efficiency. A former colleague of mine was making some robots based around Arduinos and even just the power draw of the Arduino and supporting electronics was enough to bake the regulator. But having said that, the Vin pin does bypass the regulator entirely and so should have little effect on board temperature, meaning that if it overheats at 12V, it probably would have done so even without the LEDs. \$\endgroup\$ – Sam Jan 31 '17 at 22:00
1
\$\begingroup\$

So, I did my own calculations (using http://ledcalc.com/) with the assumption that each blue LED requires a forward voltage of 3.4 volts (thus adding up to 10.4 volts for 3 LEDs) plus 20 mA of desired current and got a recommendation for a 100 Ohm resistor. So yeah, yours is probably fine too, but you always have to do the calculations based on the manufacturer's specs of the LEDs you're buying. I'm assuming that for the single LED you meant 470 Ohms, not kOhms. The total current draw for all the LEDs should be 8x6x20=960 mA indeed.

Now, to the question of running the LEDs. According to the drawing above you're running the driver chip off of your 12V power supply, which is fine. Trying to use the same to power the Arduino (via its Vin pin) is pushing its limits: since Atmel chips work off of 5V level signals, the 12 volts need to be reduced to 5V by the on-board regulator. That's a difference of 7 volts, which is a lot for the linear regulator to overcome (you said it yourself that your Arduino runs hot and crashes after a while, others who tried to do the same have complained of the same symptoms). Thus you could try two things instead: either get a ~7.4V (two li-ion batteries in series) or 9V (six 1.5V batteries in series) power source or get a buck converter (they're a dime a dozen at the usual places).

Oh and one last note: I'd put a 100 Ohm resistor also between the Arduino's PWM pin and the MOSFETs. Since MOSFETs are voltage-driven transistors (in contrast to the current-driven bipolar transistors), it won't make the LEDs less bright, but will prevent problems (seemingly inexplicable paranormal activities) in your circuit caused by ringing.

EDIT: I only noticed later that the total current draw you've measured is less than the anticipated one. There are two possible explanations for that: either the LED manufacturer lied about the voltage drops of its LEDs (and they're actually slightly higher than the specs lead you to believe, thus making the LEDs dimmer too), you haven't measured the current using a "true RMS" multimeter or both. Regular multimeters usually measure the peak-to-peak values of the current, divide it by 2*1.414 and display you the value. While this is fine for currents with a perfect sine wave, LEDs (like any diodes) are nonlinear elements whose value can be underestimated with a regular multimeter by 5 to 30%.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.