I'm looking to control 150 mechanical relays for a project. I was planning on daisy-chaining a bunch of shift registers together and controlling them all off a single pin (or the 3 pins required for a shift register). Each relay draws about 5ma @ 5v. I'm wondering what the limits are to this, and more importantly does the load count towards the signal pin or the +5V pin? Sorry if the sentence is clunky as I am not of an electrical background.
markvonrose: I'm looking to control 150 mechanical relays for a project. I was planning on daisy-chaining a bunch of shift registers together and controlling them all off a single pin (or the 3 pins required for a shift register). Each relay draws about 5ma @ 5v. I'm wondering what the limits are to this, and more importantly does the load count towards the signal pin or the +5V pin? Sorry if the sentence is clunky as I am not of an electrical background.
If you're going to drive them from the shift register pins, then the load "counts" towards the 5+ power input to the shift registers, not the Arduino pins driving them.
Also, the relay coils being inductive, you need to put snubber diodes across each coil, otherwise the reverse voltage "kick-back" you get when de-energizing them will nuke your shift registers.
Another thing... look around for LED driver chips. I don't recall the numbers from years ago, but there are several large (like 40 and 48 pin) IC's that are meant to drive LED displays and they have simple serial shift-register type inputs and LOTS of outputs (like 36 or so per package).
Lastly, look into "charlieplexing" (a method of driving a large number of LED's with relatively few pins). I don't know, but you MAY be able to address your relays in an X-Y matrix fashion (by putting a diode in series with each coil so that any one relay only energizes in one polarity). Don't know if it will work, but the thought hit me... it may be worth investigating.
markvonrose: Each relay draws about 5ma @ 5v.
I don't believe that for a start.
The universal rule here is - show us the item in question - in this case the relay - either as a link to the datasheet or a perfectly focused photograph (presently, this needs to be a link as the "attach" function in the BBS is not working).
Only then can we discuss how to use them.
Each relay draws about 5ma @ 5v.
Are you sure about that? 5mA seems low for a relay coil. If it's a relay board with a driver circuit or a solid state relay, 5mA is more reasonable.
Make sure your power supply can provide the current for all of the relays. If there is a relay driver, the power supply will have to provide the 5mA, plus the coil current, plus the current for the Arduino and for anything else that's connected.
Shift registers should work fine. I'd suggest you start-out with one shift register chip and some LEDs. When you've got that figured-out and working, add more shift registers and the relays.
P.S. Maybe you should tell us what you're doing... 150 mechanical relays may not be the best solution...
Properly constructed where the arduino only sends control signals to the multiplex chips, the arduino should have no problem with power issues. The typical arduino ebay relay board uses optical isolators, which should not put a power strain on the multiplex chips. The coil power for the relays is usually supplied from a separate power supply.
You can use two of these boards daisychained. 150mA outputs to sink coil current, 96 ouputs per board. Build one as shown, can leave the '328P off the second and just daisy chain the control signals along. http://www.crossroadsfencing.com/BobuinoRev17/
Hello Everyone! Thank you all for the replies.
@Paul__B, you are right, the amperage I stated is incorrect. I was just scanning data sheets on a couple different relays and misread the number.
I actually don't have a specific relay in mind, so if you have suggestions on that front, I'd love to know your thoughts. I'm using the relays to switch on/off a grid of florescent T8 bulbs. I'd looked into using SSRs, but I think with the load that a florescent ballast pulls, each SSR needs a snubber circuit added onto it (or that seems to be the case from what I read, and that's a lot of snubber circuits to build).
@DVDdoug, if you have a different idea from relays, I'd also like to hear.
Thanks again, everyone.
Depending on your exact application, you could use ready configured relay boards, containing 16 change-over relays driven off a 5V supply These boards contains a driver transistor for each relay, making them suitable for direct control from register logic.
Of course the boards need their own power supply, they can not go with the Arduino power pins as this would load the Arduino board way beyond its amperage capacity.
Have a sneak-peep here : Arduino compatible relays
They comes in variants of 1, 2, 4, 8, and 16 relays on one board.