Electronic – Driving Relay Board with Shift Register (Shift vs Sink)

relayshift-registersinkingsource

I am trying to drive some ebay bought 8 channel relay boards. They are pretty simple, have a launchpad or arduino toggle a pin and the board turns on. However, I need to use a shift register with them. I have absolutely no idea how to think about this, here is my problem:

I would like to use something like 74HC595. The relay needs 20mA to turn on however, the 74HC595 can't do this all at once (have all outputs on)

The TPIC6B595 has sufficient current capabilities. However, I cannot for the life of me figure out how I can get the pins to do what I want if the shift register is sinking the current instead of sourcing.

I have google around but can't seem to find a powerful enough shift register that sources current.

I would even be fine driving a darlington array from the shift registers, but they sink current too. (ULN2803)

Am I thinking entirely wrong? I feel pretty stupid.

EDIT:

Ok, I have been playing with a circuit simulator. I think this is what I want? at least it will explain it a little better.

(The relays I have are Active LOW)

Best Answer

You should be fine driving the ULN2803 directly from a 74HC595; the latter can source the current that the Darlington driver needs.