Failsafe solenoid switching

The is a project for an Endurance rig.

I need to switch a solenoid ON for 0.5 sec ( variable between 0.5 to 5 sec based on requirement ) and then switch it OFF for 0.5 sec. This constitutes one cycle and typically will need to run for about 5 Million cycles non stop.

The control system is mostly PC based and not with Real Time OS due to cost considerations. It runs on WIN7 OS and LabVIEW app.

In use for many years and all well except for a rare and odd failure where either due to a program lock up or failed Solid State Relay module ,the solenoid remains in ON condition for more than 5 seconds leading to serious implications like pump seizure, motor tripping etc. The component under endurance is lost.

I am hence looking for a fail safe mechanism to sense if the solenoid is ON for more than 5 sec and if YES, trip the supply and raise an alarm. Options I have thought :

  1. Use a regular industrial On-Delay timer and route the solenoid 24V dc power via the relay contacts and also power the timer itself from the incoming supply to the solenoid. But in this for every cycle the timer will power OFF and start again. Simple. But not very elegant ??

  2. Have an Auxillary 24V dc power to power a Arduino / Timer driving a relay. Route the solenoid supply through this Relay. Use the solenoid supply as trigger to reset a timing cycle and if the solenoid power remains ON for more than the programmed time, the Arduino / Timer times out cutting the solenoid power and also raising an alarm. Only the Auxillary power cycling will reset the alarm.

Any other ideas to try ??

Yeay, use a 555 instead... Make a retriggerable monostable timer and let it be triggered by the solenoid off signal. Use the output to drive a relay (via a transistor) to power the solenoid. Choose the shot time to be a little above 5 seconds. As long as it's retriggered withing that period the power stays on. If not, it will shut it down. If the solenoid control signal does turn the solenoid off again the circuit is automatically reset and good to go again :slight_smile:

A mechanical failure has not been considered. I suggest a separate system of redundant devices that detects whether or not the solenoid plunger is actually extended or retracted rather than if it was powered to be extended or not. - Scotty

In use for many years and all well except for a rare and odd failure where either due to a program lock up or failed Solid State Relay module ,the solenoid remains in ON condition for more than 5 seconds leading to serious implications like pump seizure, motor tripping etc. The component under endurance is lost.

I reckon you need to identify the failure modes that need to be tackled.

  • Presumably things are arranged so that if the power supply to the "computer" fails the solenoid will open.
  • A watch-dog timer is the device normally used to deal with a failure within computer code - for example an endless loop.
  • As long as the computer code runs properly it can be used to detect other failures such as a mechanical failure of the solenoid to retract or the failure of a relay to open.

This is not intended to be an exhaustive list
...R

Thanks to all those who responded.

  • Possibility of monitoring the solenoid spool does not exist due to non availability of this facility in the solenoid valve used. Nevertheless a good idea.

  • Software Watch Dog timer - somehow this has not yielded the desired results. There have been instances of the CPU deciding to go south when the solenoid is ON and the Watch dog went with it. As a embedded programmer I have had huge success with WDT. But somehow on a Windows machine and LabVIEW this has not been easy.

  • 555 timer. Yes the good old work horse. Almost forgot it ! Thanks for reminding. Will work around it for a solution.

Mogaraghu:
I have had huge success with WDT. But somehow on a Windows machine and LabVIEW this has not been easy.

I don't really understand this. I am assuming there is an Arduino (or equivalent) between the Windows PC and the solenoid and I assume that the fail-safe code and WDT is in it rather than in the PC.

If you need an "intelligent" failsafe you could always have a second Arduino to monitor the other one and both could keep tabs on each other. With separate power supplies and different code the chances of both failing at the same instant are pretty slim.

...R