16 Channel 12v Relay Module and Arduino

Can someone help me with this relay module? I though it took a 12v power supply to the screw terminals but what I don't get is it has 5v and ground on either end of the 16 low level input pins. Obviously the arduino pins need to be connected to 1 - 16 but does it need ground and 5v power as well? Should the arduino be sinking or sourcing power?

At a minimum it will need Ground.

The 5V pins may be there to supply 5V to the Arduino. Does the relay board have a 5V regulator? You'll probably have to find the schematic diagram of the relay board to determine that.

The 5v there is an input, not an output. It needs the 5v to control the low level logic circuits on the relay board otherwise the arduino would send it commands, but none of the relays would trigger.

rikitheshadow:
The 5v there is an input, not an output. It needs the 5v to control the low level logic circuits on the relay board otherwise the arduino would send it commands, but none of the relays would trigger.

I see now. The 5V supply is needed for the opto-isolators.

Can Someone please help with this unit. I have my 2 channel relay working perfectly but when I connect to this unit no luck and no online help (that assists):

I have connected the 5V to my Ardiuno only to burn it out. Further research showed that contrary to the above that this is an OUTPUT not an input, it can power the Arduino but is not for relay switching.

I have connected it to a 12v supply 1500Ma and to the pin out on the arduino

No switching

If I connect the ground then the relays light permanently but no switching. Thinking I had to reverse HIGH and LOW has had no effect either.

milsky:
Further research showed that contrary to the above that this is an OUTPUT not an input, it can power the Arduino but is not for relay switching.

Please port your research. Please also post a picture of the board, as there are many out there, as well as a schematic of the board.

There has yet to be a relay board mentioned where the 5V is an output. Where would the 5V becoming from?

Also beware, the Arduino regulator has a 300mA max output. The first 5V relay I googled draws 45mA which means (a) you may blow the output pin of the Atmel chip if the board is not wired correctly, and (b) you cannot run more than 6 relays without damaging the Arduino regulator. Your 12V 1.5A power supply is large enough to ensure the regulator will be able to put out 5V at 300mA, but that is all you have to work with.

A relay requires power to energize the coil. This should never be from the Arduino power supply.
A 5v Songle relay uses about 90mA to energize the coil. If you have a multi relay module, you need to supply the correct amount of power.
( 12v relay is listed as 30mA ) x 16 for the board

Since the relay power supply should always be from a different source, the power fluctuations are less important than the power supply for the Arduino.

But that 90mA(30mA) is just the power needed for the coil. You still need to tell it to turn on and off. and that is a signal we get from the Arduino. Most of the relay boards have a sorta-kinda isolation. They have an opto-isolator but ONE (and only ONE) of the power lines are connected to the Arduino.

The opto-isolator, as far at the Ardino is concerned, is an LED. It really is that simple. There is an LED inside of the IC and when that lights up, it triggers a receiver and then the output side is a simple transistor. The base is just the receiver.

So, as far as the Arduino is concerned, these two do not share power so the Arduino is only concerned about lighting an LED and the Relay board has a rather large power supply for the coils.

Some of the relay boards allow the user to chose between providing power for the LED, or bringing the power to ground.
the relay board will have a jumper for this. Or separate 5v and G pins from which to choose.

You need to either bring the LED to ground or provide voltage, users choice, but to complete the circuit, ONE and only ONE of the Arduino power lines is connected to the board. Ground if you are providing 5v out from your channel.

SIGNAL is to have the power for an LED. you need to supply the correct dropping resistor to deliver between 10 and 20mA to the Opto. this is needed no matter where the power or ground are connected. the dropping reisistor is always used in an LED circuit and you have to chose the correct one. you might have 5v or 3.3v, so choose wisely.

LOAD :
All that being said, the relay has total isolation from the coils to the output. The output can be any voltage or current that falls into the specs of the data sheet AS LONG AS IT IS BASED ON THE LOAD,

All relays have 3 general loads, The two most common are a motor/inductive and a resistive load.
A motor can draw 5x the power when it starts. But this is a fast power draw and only lasts a few seconds or fractions thereof.
A resistive load does not have the same current spike as that of a motor.
American relays will list all 3 loads, but I find that Chinese only list resistive and inductive loads.
Relays are usually rated for motor HP as a separate rating from the current of a resistive load.

Check the data sheet for the relay board.
the RELAYs are 12V, so you need to provide 12V to the board. I assume on the screw terminals.
Then connect the ground pin that is on the dual row header pins to the Arduino ground.
Then connect the proper resistor to your pin and then to the channel you want to switch.
DO NOT connect both the Arduino Ground and 5V to the board
DO NOT connect the Arduino power supply to the screw terminals.

ASSUMPTION:
the relays are Songle 12V so the assumption is that you must provide 12VDC power to the screw terminals.
the Songle SRD data sheet lists 12V relay coils as needing 30mA each. the board is 16 channels to the 12V power supply should have enough power for the 16 relays.
the relay board data sheet does show that there is a reverse diode in the circuit on the coil.
(just in case you are wondering)

SONGLE RELAY data sheet

SAINSMART relay schematic