Darlington Array connections to output devices

abenn

Senior Member
I've build several circuits using the ULN2803 Darlington array to switch my output devices -- usually high power LEDs. The LEDs alongwith their resistors have been connected as per the circuit shown on page 7 of part 3 of the manual, "Standard Circuits 2 - Using a Darlington Driver IC", which results in the LEDs all having a common +ve.

Is it technically possible to connect the individual +ve legs of the LEDs to the 2803 outputs, and connect the negative legs (via appropriate resistors) to the common ground instead? I appreciate that, if that works, the commands for ON and OFF will have to be reversed to get the same results.
 

AllyCat

Senior Member
Hi,

The ULN2803 output pins can only pull current down to Earth (sink) they cannot feed current from the supply rail (source). The power supply pin on the chip is only connected to the "catching" diodes (for inductive loads) and achieves nothing with a LED load. So no, your arrangement as described will not work, BUT:

If you connect a LED directly across any output pin to ground (as you described but without a resistor) and connect the resistor from the output pin to the supply rail, then the current can flow either through the LED to ground or into the Darlington and down to ground. Normally, that's a rather daft arrangement because it draws more current from the supply rail when the the LED is OFF compared to when it is on. As you say, the logic polarity must be reversed (inverted) because now the LED is ON when the Darlington is OFF.

Cheesr, Alan.
 

hippy

Technical Support
Staff member
You can do that but there will always be current flowing through the resistor to each LED / Darlington output ...

Code:
      .|.
      |_|
       |
       }--------.
   .---|-.      |
   |  /  |     _|_
---|-|   |     \ / \
   |  \  |     -.- \
   `---|-'      |
      _|_      _|_
.
 

abenn

Senior Member
Thank you for those responses.

In my circuit the 2803 is switching small currents (around 10mA or less) on each of its outputs, two of which are the LEDs which I'd like to "reverse". Only one of the two LEDs will be on at any time, and their current is limited by a NSI500010 LED driver, so if I adopt the suggested arrangement, using the LED driver instead of a resistor (the square block at the top of hippy's diagram), it'll only be 10mA whether it's flowing through the LED or the 2803 channel, won't it? The extra 10mA shouldn't cause any problems since (if I'm reading the spec sheet correctly) the 2803 is good for 500mA total.

Edit: Just realised, hippy, that you say there'll be a current flowing through the resistor to each LED / Darlington output. Presumably you mean the current will be flowing only through the output which the resistor is connected to, don't you -- not an extra 10mA (or whatever) through each of the other outputs as well?

The UDN2981 looks interesting, but my two circuits are built and running, so I don't want to redesign them now.
 

hippy

Technical Support
Staff member
Current will always be flowing through each resistor connected to a Darlington / LED, even with the LED off. If you had 8 LED's, 8 470R resistors, 5V, when all are off that would draw around 80mA in total.

If you want to simply invert the LED's that would be best done in software and using the traditional Darlington driven LED configuration which will draw almost no current when the LED's are all off.
 

abenn

Senior Member
Got it hippy. I don't want to reverse their operation, only their electrical connection, so that they share a common ground (-ve) with the rest of the circuit. So software is not an option.

Only two of the outputs of my 2803 are driving the LEDs in question, the other six will remain in the conventional configuration driving solid-state relays. So with one LED always on while the other is off, the current draw is simply going to be the same as if both LEDs were lit together -- not a strain on the system.

Thank you.
 

hippy

Technical Support
Staff member
So with one LED always on while the other is off, the current draw is simply going to be the same as if both LEDs were lit together
There can be more current draw for the common ground configuration than with the common positive, but probably not an excessive amount for just a couple of LED's.

The issue is whether the voltage drop across the transistor is less or more than that across the LED. Which got me thinking; the voltage drop across a Darlington output is reported to be quite high, and if so that may allow a LED to illuminate even when activated. It would probably be best to prototype and test it first.

I simplistically considered a transistor as a short-to-0V switch, where it is more like a switch with one or more diodes in series.
 

abenn

Senior Member
Thanks for that further insight hippy. I'll give it a go and let you know the result, but it won't be for a while for I'm away from my "workshop" at the moment.
 

abenn

Senior Member
Well, I did get enough time to make a lash-up, and the LED connected as described by AllyCat and hippy seems to work just fine -- it appears to me to be completely unlit when the 2803 switches it to ground. Just got to reverse the logic for that channel in the software now, for the LED is lit when it should be off, and vice versa.

westaust55, thanks for that link. I wasn't aware of the UDN2981 but might use it in the future, for it seems more logical to me that every output should use a common ground, rather than a common +ve. On second thoughts, maybe not, for it seems to be about five times the price of the 2803!
 

AllyCat

Senior Member
Hi,

The issue is whether the voltage drop across the transistor is less or more than that across the LED.
The saturation voltage of a Darlington has an additional Vbe (a forward diode drop) added to it. That's around 0.7 volt and even Red LEDs generally drop more than one volt, even at modest brightness/current, so switching the LED off shouldn't be a problem.

If only one LED is to be illuminated at a time, then the normal "pull-down" configuration could share the resistor or current source, but that's not possible with the "shunting" method, so two resistors or ics are required.

Actually, lighting one of two LEDs at 10 mA could be done directly from a single PICaxe pin. One LED would be connected to the supply rail, the other to ground and the PICaxe pin would drive either LED (i.e. pull-up or pull-down) via their respective series resistors (or current sources). But beware that if the supply rail is more than the sum of the LED forward voltages (in which case the LEDS must not share a series resistor), then both LEDs might light dimly until the PICaxe "shorts out" one and drives the other to full brightness.

Cheers, Alan.
 

abenn

Senior Member
Thank you Alan. I've already considered driving the LEDs directly from the two PICAXE pins that are currently controlling the LED channels in the Darlington array, but the circuit is already built and operational, so I was looking for a solution that makes use of the board's current output pins. I can achieve the solution suggested by AllyCat and hippy without having to make any alterations to the PCB, just a jumper across two output pins, plus a simple tap into the ground rail. Driving direct from the PICAXE will require some jumper wires being soldered to the PCB -- doable, but a bit more messy.
 

abenn

Senior Member
How about UDN2981 - 8-Channel Source Driver.

Maxim also do several similar devices.

Neil.
I've now got another application requiring common -ve outputs, so I've got hold of some UDN2981 devices. Can I simply connect their inputs to the PICAXE outputs as I do with the ULN2803 subject, of course, to changing the polarity of the outputs appropriately?
 

hippy

Technical Support
Staff member
Yes; that should be correct -
Code:
V+ ----.-------------.
       |             |
   .---^---.    .----^----.
   |   B.7 |--->| I7   Q7 |-------------.
   |   B.6 |--->| I6   Q6 |---------.   |
   :       :    :         :         |   |
   |   B.0 |--->| I0   Q0 |---.     |   |
   `---.---'    `----.----'   |     |   |
       |             |       (X)   (X) (X)
       |             |        |     |   |
0V ----^-------------^--------^-----^---^--
As I understand it the V+ of the High-Side Driver can connect to a higher voltage than the PICAXE V+ and it should still work with the PICAXE outputs.
 

Circuit

Senior Member
You might also be interested to read this thread about ULN2803 and UDN2981 alternatives for reduced internal voltdrop and heat dissipation.
http://www.picaxeforum.co.uk/showthread.php?29775-ULN2803A-UDN2981A-drop-in-DMOS-alternatives-to-consider
This was a most helpful pointer; when I tried the TBD62083A back in 2017 I was so impressed by the improved performance that I swapped over to using them exclusively (and I am left with piles of unused ULN2803s - I think I have around fifty sitting in drawer!). I mainly use them for firing small stepper motors and the difference between a 5 volt stepper driven through a TBD62083A or though a ULN2803A is visible and audible.

But a question; I recall a recommendation on this forum that ULN2803s could be piggy-backed to increase the current capacity. Could this be done with the TBD62083A with its MOSFET architecture? It would be most helpful if that is feasible...advice please?
 

hippy

Technical Support
Staff member
I recall a recommendation on this forum that ULN2803s could be piggy-backed to increase the current capacity. Could this be done with the TBD62083A with its MOSFET architecture?
Maybe try it and see; current meters inserted into the two feeds to the load should show if it is giving half and half. Risking something more destructive, you could increase the current sourced above what one chip can handle and see what happens.
 

Pongo

Senior Member
Maybe try it and see; current meters inserted into the two feeds to the load should show if it is giving half and half. Risking something more destructive, you could increase the current sourced above what one chip can handle and see what happens.
The 8 mosfets in each device will likely be very closely matched, so paralleling multiple outputs of the same device should work well, Paralleling outputs of multiple devices would be a bit of a crapshoot as you suggest.
 

abenn

Senior Member
Yes; that should be correct -
Code:
V+ ----.-------------.
       |             |
   .---^---.    .----^----.
   |   B.7 |--->| I7   Q7 |-------------.
   |   B.6 |--->| I6   Q6 |---------.   |
   :       :    :         :         |   |
   |   B.0 |--->| I0   Q0 |---.     |   |
   `---.---'    `----.----'   |     |   |
       |             |       (X)   (X) (X)
       |             |        |     |   |
0V ----^-------------^--------^-----^---^--
As I understand it the V+ of the High-Side Driver can connect to a higher voltage than the PICAXE V+ and it should still work with the PICAXE outputs.
Thanks hippy. I'll build a circuit that way, and let you know how it goes.
 

abenn

Senior Member
I've connected four outputs from an 08M2+ to the eight inputs on the UDN2981A in four pairs, with everything running off 5v, and it's working exactly as required. Thank you all.
 

hippy

Technical Support
Staff member
The 8 mosfets in each device will likely be very closely matched, so paralleling multiple outputs of the same device should work well, Paralleling outputs of multiple devices would be a bit of a crapshoot as you suggest.
That's an interesting point on paralleling any driver; one may begin to conduct faster than another and take the full load before the other can.

Famously and fabulously illustrated when people try to parallel triacs for high current loads. Once one conducts the other cannot and the first triac takes the full load until it expires. The other can then conduct and shortly thereafter expires itself. Usually with impressive bangs, flashes and shrapnel.

I would presume the paralleling scheme with transistors and MOSFET relies on (1) the full load not being handled instantly by one, (2) being able to sustain surge currents until the other takes some current itself.
 
Top