Solid-state relay: SSR-25DA, SSR-25DD, G3MB-202P

A relay with no moving parts: an LED on the input, a TRIAC or MOSFET on the output, and rules about when it can turn off.

Aliases: SSR, solid state relay, Fotek SSR-25DA, SSR-25DD, SSR-40DA, Omron G3MB-202P. The input side and the load side share no wire, like a mechanical relay, but there is no coil, no click and no contact to wear out. Pick the relay with model.

Pins

Pin What it does
3 (+), 4 (-) The control input: an LED behind a current limiter. A board pin drives it directly.
1, 2 The switched output. On the SSR-25DD, 1 is the + side.

The three models

Model Input Output
SSR-25DA (Fotek and clones) 3 to 32 V DC, about 7.5 mA whatever the voltage; on above 2.4 V, off below 1.0 V 24 to 380 V AC, 25 A, zero-cross TRIAC
SSR-25DD the same as the DA 5 to 60 V DC, 25 A, a MOSFET
G3MB-202P (Omron, the black SIP on the red boards) 5 V, 440 Ω (11 mA); on at 4.0 V at most, off below 1.0 V 100 to 240 V AC, 0.1 to 2 A, zero-cross TRIAC

A 3.3 V board drives the SSR-25DA and the SSR-25DD fine. It does not drive a bare G3MB-202P: 3.3 V is under its 4 V must-operate voltage.

The Fotek figures are from reseller sheets (there is no Fotek datasheet online), and they differ a little: some give the input thresholds as 2.8 V and 1.5 V. The Omron figures are from Omron's sheet.

Wiring it to an Arduino

  • 3 to a pin, 4 to the board's GND. No resistor, no transistor.
  • For an AC load: the AC source, the load and terminals 1 and 2 in one loop. In the simulator the AC source is a signal generator set to a sine: 170 V amplitude, 0 offset and 60 Hz is US mains (120 V RMS), and a lamp or a resistor is the load.
  • For a DC load on the SSR-25DD: supply +, the load, terminal 1, terminal 2, supply -. Wired the other way around, the MOSFET's body diode passes the load current whatever the input does.

Then digitalWrite(pin, HIGH) turns the load on.

What surprises people

An AC relay on a DC load never turns off. A TRIAC, once on, stays on until its current falls below its holding current, and an AC current does that at the end of every half cycle. A DC current never does. So an SSR-25DA switching a 12 V motor turns on and then stays on with its input off, until the 12 V supply is cut. Above about 15 V of DC it never turns on at all, because a zero-cross relay waits for the voltage to come near zero. Use an SSR-25DD, a MOSFET or a relay for DC.

It turns on and off at a zero, not at once. The zero-cross relays wait for the AC voltage to come within about 15 V of zero before they turn on, and with the input taken away they let go at the next current zero. At 60 Hz that is up to 8.3 ms either way, which is why a sketch cannot dim a lamp with analogWrite through one.

Off is not open. The AC relays have a snubber, a capacitor and resistor across the output, which passes 2 to 3 mA (the DA) or about 1 mA (the Omron) of AC with the relay off. That is enough to make an LED bulb glow dimly or a small relay buzz. Put a meter across a load with the relay off to see it.

How it is modeled

  • The input draws (V - 1.2 V) / R, limited to 7.5 mA on the Fotek inputs, and switches with hysteresis between the on and off voltages above.
  • A zero-cross output fires once the voltage across it is within 15 V of zero with the input on (the window is not on either sheet: 15 V is a typical zero-cross detector's), and turns off at the first current zero with the input off. The holding current is 100 mA on the Omron (its minimum load) and 50 mA assumed on the DA, so a load lighter than that drops out.
  • The snubber is 47 nF and 100 Ω on the DA, 22 nF and 100 Ω on the Omron.
  • The SSR-25DD's MOSFET is 0.064 Ω on (its listed 1.6 V at 25 A) and leaks 2 mA at 60 V off, with its body diode across it.

Not modeled: the TRIAC's on-state drop of about 1.6 V (the output is 0.05 Ω here), heat (a 25 A relay at 10 A needs a heat sink), the current ratings and surges, turn-on and turn-off times of a few milliseconds, and the upper limits of the inputs.