ULN2803 - do i need COM(VSUP) for relays ?

I'm building a relay board with SRD-03VDC-SL-C relays and an ULN2803 Darlington transistor array. As I am a beginner I don't understand the purpose of the COM pin? In the datasheet VSUP (Coil Supply Voltage) is rated from 12 V to 100 V, since I'm working with 3V3 will this be an issue?

1 Answer

simulate this circuit – Schematic created using CircuitLab

Figure 1. When switching an inductive load with a transistor it is necessary to use a protecting diode to conduct the inductive "kick" of the inductor as the current falls to zero. When Q1/2 is switched off current continues to flow through L1 as shown. With the addition of D1 this current can "free-wheel" around the diode until it decays to zero. This prevents high voltages being generated and protects the transistor.

Figure 2. The ULN2803 Darlington transistor array includes the diodes on the chip. The only constraint is that they share a common positive.

It would be unwise to leave the diodes out in a simple transistor application. It would be mad to leave them unconnected when using the 2803 as they have made it so simple to use.

Since I'm working with 3V3 will this be an issue?

Oddly enough it may be more of an issue at 3.3 V. For a given relay size the power required will be the same for the various coil supply voltage options. Since $P = VI$ we can see that if V goes down the I must go up to maintain power. At 3.3 V the current will have to be much higher than for, say, a 12 V or 24 V relay. Without the free-wheel diode the voltage may still go high enough to damage the transistor switch.

Collector-emitter saturation voltage

Figure 3. Note the rather high collector-emitter saturation voltage. Source: ULN2803A datasheet.

You will likely run into a problem due to lack of voltage on your relay coil. Because the output transistor is driven by another one in the Darlington arrangement the output transistor doesn't saturate as well as with a single stage output. This means that the output voltage may be up to 1.6 V at 350 mA. This in turn leaves only 3.3 - 1.6 = 1.7 V for your relay.

A better solution would be to power the relays from a higher voltage supply - either the 5 V, if available, or whatever unregulated supply is powering your device. This also reduces power dissipation in your 3.3 V regulator. In this case (of higher voltage) the ULN2803 COM should be connected to the same supply as the top of the relays.

simulate this circuit

Figure 4. A better way. Use a higher voltage to power the relays. The ULN2803 will interface between the micro logic level and the higher voltage.

• I understand now. So having 3V3 attached to the COM port will not be an issue? Since it is rated from 12V to 100V? Aug 15, 2016 at 19:43
• You are correct but see my update with concerns about the voltage available for the coils. Aug 15, 2016 at 20:03
• I see. I have a 5V power supply that I drop to 3.3V for the MCU, so i will use that. Thank you for the clarification! Aug 15, 2016 at 22:10