I built my own Wi-Fi connected irrigation controller using an Arduino Nano and some mechanical relays. The Arduino is opto-isolated from the business end of the relays which switch 24 V AC on/off to standard irrigation valve solenoids.
I seem to be "blowing up" the solenoid in the irrigation valve occasionally (too occasionally). When it fails, the solenoid in the irrigation valve is seen to be open-circuit (infinite ohms) versus the ~50 ohms I would usually see and the valve no longer operates.
I'm guessing that when I'm turning off the relay and cutting the current to the valve solenoid the inductive load is causing a big voltage spike and killing the solenoid. This is happening only on one set of valves which is located about 100 feet (30 m) from the controller which is probably adding additional inductive load through the long run of wires all bundled together.
Switching to a DC solenoid is a non-starter as 99% of all irrigation valves use AC. I'd rather not have to design my own irrigation valves. I also don't think a soft turn-on/turn-off is practical as this would require a new relay design.
I've been looking at a diode or snubber circuit to go across the solenoid to absorb voltage spike, but I am not too familiar with that. How can I proceed with this?