0

I'm intending to use LEDs of 5mm, which have a max forward current rate at 30 mA, or a value of 100 mA, with 10% 1 kHz duty cycle, in a circuit like the one below except some changes:

  • STM32F103C8T6 instead of PIC
  • 2N7000's instead of UDN2981
  • 3 ULN2803 instead of 1, because they can only handle 500 mA
  • 15 rows instead of 8 (thus 3 x 5 = 15 2N7000's)
  • 8 columns, where each ULN2803 handles 5 rows

I have several questions:

  1. In the ULN280x datasheet on page 5 stands the thermal property:

    RthJA Thermal resistance junction-ambient 55 C/W

    If I do a calculation: 5 V * 100 mA * 5 leds = 2,500 mW = 2.5 W This means a temperature rise of 55 * 2.5 = 137.5 C. The junction temperature is max 150 C, so it will be not working.

    Or should I reduce the voltage used by the LEDs? (like e.g. 2 V forward voltage):

    (5 - 2) V * 100 mA * 5 leds = 1.5 W, resulting in 55 * 1.5 = 82.5 C

  2. Since I round robin over the ULN2803 array's, does this reduce the temperature maybe? Resulting in a lower temperature? (I think not, but I'm not an expert)

  3. I assume I would need heat sinks, but from what temperature this is needed?

enter image description here

Michel Keijzers
  • 13,867
  • 18
  • 69
  • 139
  • 1
    Wow, do yourself a favor and get two MAX7219s instead. Be so much easier. ~$3 at taydaelectronics.com. Each will need a 0.1uF cap, a 10uF cap, and a resistor. 10K will do, read the datasheet to look at how other values will affect current. Here are 4 of them driving an 8 x 32 display as an example https://www.youtube.com/watch?v=hwYqgyMc5S4 – CrossRoads Mar 01 '19 at 17:21
  • @CrossRoads can the MAX7219 handle multiple resistors? (since I want different LEDs, although I can maybe get away with it), and can it drive more than LED at the same time? Otherwise I have a duty cycle of like 1/64, which is too less. And can it handle 800 mA? Maybe I should first find out myself to see if the MAX is usable. – Michel Keijzers Mar 01 '19 at 17:28
  • 1
    MAX7219 only needs 1 resistor, it uses internal current limiting. 8 LEDs in a column (or row, depending on how you look at it) are on at any on time, the 8 columns/rows are multipexed at 800 Hz, so all 64 can look on if that's the data you send to the data registers, or if you put in display test mode. What's nice is it does all the multiplexing for you, vs tieing up your processor to do it. – CrossRoads Mar 01 '19 at 17:45
  • @CrossRoads sounds quite good, and I would probably miss the brightness levels (dimming), guess all LEDs can be programmed as on/off only. – Michel Keijzers Mar 01 '19 at 18:07
  • @CrossRoads ... the dimming should be no problem, I can like every 20 ms (50 Hz) change the buffer in the MAX7219 :-) – Michel Keijzers Mar 01 '19 at 20:39
  • 1
    The [**2N7000**](https://www.onsemi.com/pub/Collateral/NDS7002A-D.PDF) is a very poor device should not be used if at all possibe. Imax 200 mA continuous, higher pulsed. OKish at 5V drive but even a little lower and Vds is nasty. – Russell McMahon Mar 01 '19 at 21:22
  • @RussellMcMahon I didn't know ... I see them everywhere at circuits (ordered quite some of them). I need them for 3.3V (gate) but 5V Vds, I tried one with 5V->2N7000->Led->Resistor->Gnd and worked perfectly (GPIO pin 3.3v -> gate) – Michel Keijzers Mar 01 '19 at 21:27
  • 1
    The MAX7219 has 15 levels of dimming you can control via SPI commands. The resistor is used to set the max current that can be applied. https://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf – CrossRoads Mar 01 '19 at 22:58
  • 1
    @MichelKeijzers They have their place & yes, they are widely used. If they work for you that's OK, but for more than low mA of load they are marginal at 5V Vgs and extremely marginal at 3V3 Vgs. See [**datasheet**](https://www.onsemi.com/pub/Collateral/NDS7002A-D.PDF) Fig 1: Note Id with Vgs = 3V. Better at 5V. Fig 2: Rdson of 2 Ohms at modest current and 3V curve not even shown. Fig 3: Just getting out of bed at 3V Vgs. Better at 5V. Page 3 Vds: Note Vds at various Id and Vgs. OK for low currents (10's of mA) but poor for higher current use. – Russell McMahon Mar 02 '19 at 06:31
  • @CrossRoads ... I'm going to check into it... I have already a MAX to do some tests (now find the time for it). Thanks for all your explanations for using this. – Michel Keijzers Mar 02 '19 at 10:20
  • @RussellMcMahon I didn't know all these restrictions (an order of more of them are still underway), but probably I can use them for other projects (although in my test with a led it seemed to work fine). I don't have an electro engineering background so reading data sheets is far from trivial for me (I know some numbers/properties to look for, but not all of them). – Michel Keijzers Mar 02 '19 at 10:22
  • 1
    @MichelKeijzers they won't be wasted. Their main defect compared to "better" devices is that they have marginal drive at higher currents at typical logic voltages. If the load is under say 100 mA and you have 5V gate drive (Vgs) they do OK. At 3V3 gate drive they start to drop more voltage than may be nice in the 100+ mA range and are best suited for a few 10's of mA. For many LED driving jobs that's fine. At say 250-500 mA at Vgs = 5V you start to drop voltage across the FET that is wanted in some cases, and at 3V3 drive they are much less happy. BUT they will do many things well enough. – Russell McMahon Mar 02 '19 at 10:47
  • @RussellMcMahon Thanks for the extra explanation (I will not throw them away anyhow). And I hope to do more projects where these 2N7000's could be used. – Michel Keijzers Mar 02 '19 at 11:13

1 Answers1

1

If you are driving your Darlington transistors into saturation, then the \$V_{CE}\$ is a maximum of 1.1V according to the datasheet. So, the power dissipated in the transistors is 1.1V times the current rather than 5V times the current. The temperature increase is proportional to current, so you have about a 30C rise, which is pretty manageable.

If you are time-multiplexing the LEDs (what you call a round-robin) faster than the thermal time constant of the Darlington packages (maybe a second?) then the average temperature increase will be proportional to the duty cycle times the power consumption.

I think the Darlingtons will get noticeably warm but a heat sink is probably not needed.

Elliot Alderson
  • 31,192
  • 5
  • 29
  • 67
  • Thanks for this answer, although I don't understand everything. For the LEDs I need 10% duty cycle at 1KHz, since I have 8 sinks, I need a speed of 125 Hz. A second seems like an enormous time, in my calculation I think I took it into account, (by using only 500 mA: 5 leds * 100 mA, and not all 40 leds at the same time. – Michel Keijzers Mar 01 '19 at 17:24
  • 1
    If your switching the LEDs at 1kHz, or even 125Hz, then it's the average power over time that matters for determining temperature increase. It sounds like your Darlington arrays might not even get warm. – Elliot Alderson Mar 01 '19 at 17:28
  • Thanks, I would expect a higher increase, since per ULN one Darlington array is fully used (500 mA), than the next array of each ULN etc. There are always 15 LEDs on simultaneously (if the 'software brightness is set to 100% at least). – Michel Keijzers Mar 01 '19 at 17:36