For years I've had this lingering fear surrounding our well pump. I have no idea if it's running or not. If a pipe breaks somewhere, the pump would probably just happily run 24/7 dumping water into the ground until the pump died.
I picked up an arduino uno and a inductive clamp and got to work building a power monitor. All the code samples and circuit info is available online, so it's really not that tough to setup for a novice electronics guy like myself.
I've designed it to have just 3 LED status lights. I had a LCD display on there, but it's overkill. I've got a green LED that blinks as the circuit runs so I always know the main loop is running. The blue LED tells me when the pump is on (or really when power is being used by the pump), and the red LED comes on if the pump has been running "too long". I'm still fine tuning what "too long" means.
In addition to the LEDs, I've got it collecting temp/humidity data (because I had the sensor in the kit) and am sending all the info out the serial port over USB to my raspberry pi board. On that end I've written a perl script to collect the info and log everything. I now have a log like this:
Every 5 minutes it's recording temp/humidity info, and tells me when the pump starts, stops and total runtime. Pulling out just the RUNTIME lines makes it easy to graph later if I want to get fancy. Once I learn what the range of normal runtimes are I can change when the red LED error light comes on.
My plan is to leave the circuit downstairs in a little box (after I solder it together) and have the LEDs wired up into the kitchen pantry. That way we know when the pump is running and if the error is on we'll likely see it since we're moving through the kitchen all the time.
Two expansion ideas would be to have it page/email me when in alert status, and one of my buddies pointed out that I should just have the pump fed through a relay and if it goes into alarm just cut power to the pump. That way if we're not home we're still protected.
The wiring to the pump looks ready made to put the clamp on, it was already messily pulled apart like this:
And a gratuitous shot of the board at startup when it checks all the LEDs:
I picked up an arduino uno and a inductive clamp and got to work building a power monitor. All the code samples and circuit info is available online, so it's really not that tough to setup for a novice electronics guy like myself.
I've designed it to have just 3 LED status lights. I had a LCD display on there, but it's overkill. I've got a green LED that blinks as the circuit runs so I always know the main loop is running. The blue LED tells me when the pump is on (or really when power is being used by the pump), and the red LED comes on if the pump has been running "too long". I'm still fine tuning what "too long" means.
In addition to the LEDs, I've got it collecting temp/humidity data (because I had the sensor in the kit) and am sending all the info out the serial port over USB to my raspberry pi board. On that end I've written a perl script to collect the info and log everything. I now have a log like this:
Every 5 minutes it's recording temp/humidity info, and tells me when the pump starts, stops and total runtime. Pulling out just the RUNTIME lines makes it easy to graph later if I want to get fancy. Once I learn what the range of normal runtimes are I can change when the red LED error light comes on.
My plan is to leave the circuit downstairs in a little box (after I solder it together) and have the LEDs wired up into the kitchen pantry. That way we know when the pump is running and if the error is on we'll likely see it since we're moving through the kitchen all the time.
Two expansion ideas would be to have it page/email me when in alert status, and one of my buddies pointed out that I should just have the pump fed through a relay and if it goes into alarm just cut power to the pump. That way if we're not home we're still protected.
The wiring to the pump looks ready made to put the clamp on, it was already messily pulled apart like this:
And a gratuitous shot of the board at startup when it checks all the LEDs: