Electrical – Arduino and SSR to drive 12V solenoid

arduinopower supplyprotectionsolid-state-relay

So I'm using the an Arduino (Mega 2560) to control 9 little 12V solenoid valves (Gem Sensors) and my plan is to connect the Arduino to some small solid state relays (Broadcom Limited ASSR-1511-001E) which will be connected to a 12V power supply which will actually power the valves.

Anyway I am curious if I need to put any resistor or safety mechanisms between the Arduino and the SSR. Judging by the various data sheets it looks like I can directly connect the Arduino digital I/O pin to the SSR and just connect the 12V power supply straight to the SSR and have the solenoid valve connected to that circuit. The Arduino puts out 20 mA on the digital pins and the SSR can take up to 20 mA. Is there anything else I need to consider here?

Best Answer

The input forward voltage of the opto-isolator inside the SSR has a max voltage of 1.65V with a forward current of 5 mA.

This implies you should use a resistor to limit the current through the diode.

R = (Arduino_Output_Voltage - 1.65) / 0.005

Figure 9 of the SSR datasheet should also give you a feel that putting the Arduino's (relatively) large output voltage directly onto the opto-isolator will cause more than 20 mA to flow, violating the max input current.