Relay switching circuit assistance.

Hi All,

I am hitting a brick wall with a circuit, I’m certain I have probably done something silly when selecting my components.

So my circuit is shown below:

circuit diagram

Component Ref:

U1 - ROE-0505S Isolated DCDC converter.
U2 - TLP523-2 Optocoupler with built in Darlington transistor
Relay - SRD 05vdc sl c relay standalone not on breakout board.
D1 - 1N4007 diode.
R1 - 220Ohm resistor

So with the above circuit the relay never fires, I know the opto is working and the gain should be sufficent. All I can think is the optocouplers gain is not sufficient but according to the datasheet I should be able to get 100mA out from it which should be more than enough to fire the relay coil which is rated at 70mA. And the isolated DCDC converter has 200mA rating.

As I said up top I’m sure I have done something silly. So if anyone can point out what I’m doing wrong I would appreciate it.

TLP523-4_datasheet_ja_20170511.pdf (946 KB)

SRD-05VDC-SL-C-Datasheet.pdf (91.7 KB)

ROE.pdf (945 KB)

If your Vin is 12 V then your opto drive current is likely too low.

Darlington devices are not a good choice for 5V operation. By their very nature they don't have a low Vcs(sat).

The spec sheet shows:

VCE (sat) @ IC = 50mA and IF = 10mA is 1 V max

My guess is you have about 4 ma of input drive (IF) and about 74 ma of load (relay).

Try changing R1 to 1100 ohms or so.


Thanks, Vin is 5Vdc for the circuit.

I will try a 1100Ohm or around abouts resistor and see if that helps, otherwise I will replace the opto with built in Darlington with a standard opto and put in a transistor like the PN2222

Ok so why do you need the opto and the DC-DC isolation module? The relay coil is inherently isolated from its contacts.

I know many relay boards have opto’s but I believe this is to isolate the (typ) 12V source from the Arduino. Technically not required for most applications but comes in handy when the 12V ground cannot be made common to the arduino ground.

Mostly paranoia, but the circuit will eventually be controlled from an arduino and I want to ensure that is fully isolated from any potential feedback.

For reference I puzzled out my problem and was able to get the circuit running without any modifications.

Problem was my supply wasn't able to meet the current demands slight as they were of the circuit. Was trying to power off a 9V battery through a header board, I measured the voltage on the isolated side of the circuit and was barely getting 3.5V no where near enough for the relay to action. Have now connected USB supply via my arduino and it now works as I intended.

Try changing R1 to 1100 ohms or so.


He originally specified 220 Ohms. :astonished:

Why would increasing the value improve things?

I do agree that a Darlington is a bad choice at 5 V. A common eBay (opto-isolated) relay module would do the job perfectly well - if you trust the clearance at the contact terminals - the ones with the slot in the PCB.

People sometimes unfortunately stumble across the old, obsolete 4N25 opto-isolators. The ones in the eBay modules are modern versions with much more appropriate CTR.