We had been using a centrifugal pump at home to pump groundwater to the overhead tank. Unfortunately, this time as the summer started peaking, the pump failed to pump any water from the ground. So we immediately decided to go for a submersible pump which is proven to be reliable even in the worst scenarios as unlike a centrifugal pump the motor itself lies underground where the water is, and pushes the water to the surface. This solution worked very well, and we were finally out of the water crisis.
Problem :Our old pump had a simple water level controller that ran three wires to the tank to sense the level and control the pump based on that. I had also tried some fancy solutions in the past like using lasers, camera and ultrasound to precisely calculate the water level in the tank but none of them were as reliable as simply dipping in three wires.
Our new submersible pump comes with an external starter, as the capacitors and other components can't be housed inside the pump due to the pump being submerged in water. Powering the starter with the existing water level controller makes the submersible pump semi-automatic, as the power to the starter would cut off as the tank is full. Making the submersible pump also start automatically is the real challenge, as the starter is designed to be operated manually and needs a physical button push on the starter for 2-3 seconds to start the pump.
Solution :From the above circuit diagram we can conclude that the start push button closes two circuits to start the pump, one helps draw power from the start capacitor and the other activates the contactor. To simulate this, all we need to do is simulate that start push button action as soon as the starter is powered. This can be achieved using a microcontroller (Arduino Nano in our case) and two relays (Better use a ready-made relay board for less soldering & wiring).
The two different circuits of the start push button would be connected to the NO (normally open) terminals of the two different relays, and both microcontroller and relay would be powered using a 5V-2A SMPS. The logic would be as follows : Power On > Wait for 2 seconds > Close the relays for 2 seconds > Open the relays. This logic would repeat every time the starter is powered. Now this combined with the water level controller makes our submersible pump fully automatic. The water level controller would handle the power toggle, and the Arduino inside the starter would start the pump as soon as the power is received.This method can be used with any kind of submersible pump starter whether it's 1, 2 or 3 phase. As they all come with a start push button which has the same mechanism that activates 1 or 2 circuits.
Programming :Before making the circuit connection, we need to program the microcontroller. Here I'm using an Arduino Nano with Type-C connector. Feel free to use any microcontroller of your choice. You may also use one of those ESP based relay boards to avoid any soldering.
The above program will run the microcontroller with the described logic, which is very straightforward to understand even if you have no idea about programming. If you're using Arduino Nano, just open the IDE and flash this code and that's it.
Circuit :Be extra cautious while assembling the circuit, as you're dealing with AC here. Also, disconnecting the power supply won't be enough as those beefy capacitors pack a big punch for you, so discharge them before you proceed.
You can follow the above doodle to get an idea and assemble your circuit. And make sure you're powering the relay board directly with SMPS as the 5V rails on Nano have limited current supply which won't be enough for the relays. To power the SMPS, hook the SMPS AC wires to the P (through MCB) and N terminals inside your starter.
Once everything is assembled, the starter should look something like this from the inside.
Conclusion :So post assembling everything, here's how the setup ended up looking. The approach mentioned in this project is very dynamic and can be easily adapted to any setup type and configuration with minor adjustments (If needed). That's all, folks ! Hope you got some idea or inspiration from this project. If you follow this project, I would love to see your setup/configuration as well. Also feel free to ask any doubts or questions.
Comments