@AKADAP: from my experience, 20ohm for solenoid resistance should be ok — please note that solenoid is a big inductor that has reactance to AC current, so even though the resistance seems low, it actually has a much larger impedance to AC current. In any case, if you found that the resistance is significantly different from your other solenoids, then I think it’s fair to say that indicates a problem.
- Thanks for pointing out solid state relays — I was fully aware of it but made a conscious decision not to use them, for several reasons. One, several years ago when I first started working on the project SSRs are quite expensive, like 3 to 5 bucks each piece — while it’s feasible to use them in a DIY project, using them in massive production will significantly increase the cost. It’s not just BOM cost — manufacturers always add some percentage of margin, also customs duty tax is based on declared value, so that can end up increase the cost by several folds. I agree that now they are much cheaper than several years ago, still there are challenges with choosing them — a lot of SSRs with sufficiently high on-state current (i.e. more than 500mA) have relatively low breakdown voltage (<=40V), which put them at the very edge of acceptable range (24VAC adapter often has no load voltage measuring up to 30VAC, so the peak voltage can exceed 40V).
- Besides, I’ve taken apart many commercial controllers, and all of them universally use triacs — I have never seen any that uses SSRs. Some use opto-couplers to drive triacs, which provide isolation; some use much bigger triacs which can withstand more power dissipation. But frankly none of them alone prevents triacs from burning out due to solenoid shorting, or damage due to lightening. Opto-couplers or SSRs do provide isolation, but that doesn’t mean the triac or SSR itself cannot be damaged. If some zones stop working, either we have to repair the circuit, or toss it out and provide a replacement. At least with triacs they are cheap to replace. If I had to take a guess, I would think the bigger companies that make sprinkler controllers probably realized there is a cost-benefit tradeoff — triacs are crude but they are at a fraction of the cost of SSRs. If adopting SSRs increase the reliability by 10% but adds cost by 50%, it might not be worth it.
- When circuits are produced in large quantity, there are always things that can go wrong in ways that you may never have thought of. For example, I’ve seen relays that don’t click or don’t make contact when clicking. I’ve seen controllers that work perfectly fine when we tested but just won’t work at the customer’s end. While SSRs seem like the perfect solution, I fear that there are other issues entailed by it that I may have not even thought of.
- So, I agree that adding fuse is a very cost-effective solution. Resettable fuse unfortunately does not really work in this setting: they trigger slowly and do not respond well to instantaneous current spikes. Also, as I explained above, users who want to turn on multiple solenoids at the same time do not want to undesirably trip the fuse. Another solution I have seen on some other sprinkler controllers is a big-ass power resistor，like cement resistor, in series with the COM line, to limit current upon solenoid shorting. This is something interesting to try, though picking the exact resistance value is just as difficult as picking the right fuse rating. So in the end, I think it may be best to leave this as an external component that’s easy to replace, as opposed to making it a built-in component on the circuit board.
- Anyways, all that I am trying to say is that I’ve put thoughts into various ways to improve the circuit design, and in the end made the conscious decision to stay with its current form. The decision is not made solely based on reliability, but there are economic considerations. If you are worried about reliability, I do recommend adding an external fuse, or use an external relay board like pcichocki described or shown in this post. I hope this makes sense.
sorry about using bullet list — for some unknown reason bbpress is removing all my line breaks, so had to use bullet list to force line breaks.