OpenSprinkler Forums Comments, Suggestions, Requests Feature request: Over-Current triggers too quickly for slightly stuck valve

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #86952

    Bob Stern
    Participant

    @Ray: I appreciate the over-current limit feature you introduced in the last firmware update 8 months ago. I assume its intended purpose is to prevent damage caused by a short circuit. However, if you could delay its response time, it also would be useful to detect that an AC valve is stuck closed.

    When an AC valve opens, the inductance of the solenoid increases because the ferrous actuator is pulled into the center of the solenoid, acting as a magnetic core. If the valve is stuck so that the actuator fails to retract, the inductive impedance of the solenoid will be lower, so the current will be higher.

    For example, in my Netafim valves, the current draw is 135ma normally, but is 300ma when a valve is stuck closed. I have one valve that gets stuck once every few weeks, so it is useful for me to set an over-current notification for 250ma so that I can re-run the zone for that valve.

    However, I find it’s common for other valves that are essentially good to have some friction so a valve can be stuck for half a second before it opens. Unfortunately, this triggers the over-current limit and unnecessarily halts that valve from running.

    It would be helpful if you can change the over-current limit so that it triggers only after a certain time period. If the output of the controller is protected against a short circuit, then perhaps you could either implement a 1-second delay before triggering the over-current limit, or allow the user to set a custom delay.

    Since detecting continuous over-current over a time period requires more programming than detecting it at a single point in time, perhaps you could simply delay the current detection until some delay time after a zone starts.

    (Also, the documentation erroneously states that the imax value in the API is one-tenth the actual current limit. Actually, the imax value in the API is the actual current limit without any scale factor, except that only multiples of 10 are stored. Weirdly, the web interface only allows multiple of 50.)

    Thanks!
    Bob

    #87120

    Ray
    Keymaster

    1) The difference in current draw between normal operation vs. abnormal situation (e.g. shorted solenoid) is huge: in normal operation, a typical 24VAC solenoid draws about 500mA inrush and 150~250mA holding. If a solenoid is shorted, the current can easily shoot beyond 1000mA. Because the gap is huge, even if you set a relatively high threshold, it can still easily detect a shorted situation. The 250mA threshold that you have set, IMO, is too low, because the inrush current can easily exceed that, and trigger overcurrent alert. Typical overcurrent threshold is 1000mA or above, to prevent false positives.

    2) Because the inrush current is higher than holding current, and the overcurrent threshold is a single number, the firmware has already considered this difference by adding a ‘margin’ for inrush current:
    https://github.com/OpenSprinkler/OpenSprinkler-Firmware/blob/master/defines.h#L170
    basically the threshold used to trigger overcurrent alert is the imax plus this margin. The detection period for inrush is 50 ms immediately after a valve opens.

    3) What you suggested is either disabling inrush current detection all together, or delay the detection by 1 second. Both of these can be done by modifying the firmware yourself and both are easy changes. I don’t think this should be a sweeping change for everyone: the moment right after a solenoid opens is a critical moment where shorted solenoids or wiring can cause serious damage. So I would definitely not recommend disabling current detection during this period or delaying the current detection.

    If you want you can feel free to modify the firmware yourself and give it a try. If you are not familiar with programming, just use a generative AI engine, like codex or Claude Code – they are incredibly good at understanding the code and making changes given very high-level natural language description.

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.

OpenSprinkler Forums Comments, Suggestions, Requests Feature request: Over-Current triggers too quickly for slightly stuck valve