No circuit is so trivial that it’s not worth thinking hard about. [Charles Wilkinson] wanted to drive a solenoid air valve that will stay open for long periods of time. This means reducing the holding current to prevent wasting so much power. He stumbled on this article that covers one approach in a ridiculous amount of depth.
[Charles] made two videos about it, one where he debugs the circuit and learns things live on camera, and another where he sums it all up. We’ll be walking you through the long one, but feel free to skip around.
Solenoids are harder to open initially than they are to keep open. So [Charles] hooked his solenoid up to a variable power supply and tested the activation and release voltages — because nothing beats empirical data. He ramps the voltage up slowly (around minute 6-7) and it just trips at 3.5 V. Testing when the solenoid closes again, he bottoms out his variable power supply at 1.25 V. Anyway, you get the point: higher opening voltage, lower holding voltage.
And that’s the point of Bob Pease’s circuit in the linked article. The capacitor passes current initially, but then charges up over time so that less voltage is dropped over the solenoid, reducing the holding voltage. The trick is then to pick the resistor and capacitor to just match the characteristics of your solenoid.
In the video, [Charles] builds the circuit, around minute 30, and discovers that it doesn’t work. Instead of editing that out, he troubleshoots live. (Brave!) He fails, and goes offline. The eventual problem? He was powering the circuit off of USB, while charging his phone at the same time. He just didn’t have enough power in his power supply. And then, after ten more minutes of debugging intermittents, he adds a buffering capacitor to his power rails and the problems go away.
There are two things to take away from all this. The first is a simple but elegant circuit that you can use to drive solenoids or relays or anything else with a strong initial current demand. The second is the importance of stable power and buffering.