Electronic – arduino – Voltage regulation on the high side of a Darlington array

arduinobatteriespower supplytransistors

I'm looking to build an 3.3V Arduino Pro Mini based LED driver that drives 3 (possibly 6) super bright 10mm LEDs (R, G and B).

I intend to use this 3.7V LiPo battery and these LEDs.
The LEDs have the following specs (units are V, A and Ohm). I've calculated the required resistor values based on a 3.7V supply.

        Max Fwd Cur     VDC Drop    VDC delta   Req'd Resistor
RED     0.08            2.2         0.1         18.75
GREEN   0.08            3.2         0.2         6.25
BLUE    0.08            3.2         0.2         6.25

I want to drive this with a ULN2803A Darlington Array (DA).

I have a few questions.

  1. Have I calculated the required resistor values correctly above?
  2. Will PWM work for the LEDs when wired into the low EDIT:[I mean't HIGH] sides of the DA?
  3. Do I need to regulate the voltage into the common pin of the DA, or can I wire this into the RAW (VIN) pin of the Arduino or directly into the battery? As the battery's voltage drops, I appreciate that the lights might get dimmer — this is okay (up to a point) as long as the DA continues to function? As an aside, if I used an unregulated wall wart, rather than a battery, would the ripple cause a problem with the DA's operation? Am I being lazy here and should I regulate the high side voltage as a matter of good practice anyway? If I was running it at 5V, say, rather than 3.7V, would the answer be the same?
  4. Do I risk the Arduino by drawing too much current if I wire the DA common pin directly into the 3.3V VCC pin of the Arduino?
  5. I see everywhere that GNDs should be wired together. Is this true in this case, for both the low and the high sides of the DA? Even if the high side is unregulated?
  6. Will picking a higher voltage battery be a better option in terms of brightness, power dissipation, and battery life? Even if the mAh rating of the battery is comparable?
  7. Is there a better way to do this (e.g. a shift register, MOSFETs, etc)?

I want to have the LEDs be able to be as bright as possible without risking the Arduino, and minimising on power loss wherever possible. Physical space is also at a bit of a premium but SMD chips scare me from a soldering perspective.

Best Answer

NOTE - these answers were in the process of being given before Jippie's comments were apparent. His comments I agree with.

1) Resistance = (3.3 -Vled)/0.08 and for a Vled of 2.2v R = (3.3 - 2.2)/0.08 = 13.75 ohms.

You got 18.75 ohms so someone is wrong; either you or me.

2) The darlingtons are an array that "grounds" a load connected to the 3.3V rail so basically no, the LEDs are connected in the "high-side" BUT yes, they can be PWM'd

2a) Darlingtons are probably not the best choice because they "drop" about 0.6V when driving a load and you haven't got all that much to play with looking at the green and blue LED specs you have in your post

2b) Best to use conventional transistor, not those configured as darlingtons

3) the common pin on the DA is grounded, the LEDs via resistors (see (1)) connect to 3V3

4) Don't do that - do (3)

5) digest this advise and decide if (5) is a relevant question

6) possibly not but digest the other answers first

7) you can use a shift register to save on IO and you can use fets

Related Topic