Sunday, December 30, 2012

Internet Enabled Sump Pump Monitor




This project attempts to solve a problem.  Here is a picture of the project with the cover off: 


Figure 1:  System view of the Internet Enabled Sump Pump Monitor

 About three years ago, I moved into a new house with an unfinished basement.  The basement has flooded many times due to a sticky tar substance that comes in from the waterproofing of the foundation.  The tar was smeared on the outside of the foundation during construction.


Figure 2:  Parts of the sump pump monitor

Anyway, the tar comes into the sump well and either plugs up the sump pump or causes the float switch for the sump pump to lock on or off.  The tar/oil has also locked open several check valves on the output.  

This is a quick video I made of the system installed on the sump pump:
video 



I have tried several things to keep the tar away from the sump pump.  One item I tried was putting window screen around the edge of the sump well.  Some of the tar did stick on the screen, but when there was a heavy rain, the window screen pushed in and stopped the float on the sump pump from activating.


Figure 3:  The tar can be seen on top of the water and on the window screen

I have two possible nicknames for my sump pump (sump well):
            1)  Exxon Valdez
            2)  Deepwater Horizon

Paper towels are occasionally used to clean up some of the sheen on the top.  The oil sticks to absolutely everything.  WD-40 works well for removing the oil if it gets on my skin. 

This project monitors the sump pump without effecting its operation.  There are two things monitored:

            1)  Is the water level too high in the sump well?  If so, send an alert email and activate an audio alarm.

            2)  Has the sump pump been on too long? If so, send an alert email and activate an audio alarm.

I didn't want the project to control the sump pump in case the MCU locks up or doesn't not behave correctly.  "Do no harm" is the motto I'm going by. 

Since this was a project I wanted to get done somewhat quickly, I decided to use an off the shelf board.  I choose the Seeeduino Ethernet board, which is an arduino with an Ethernet port.  This is my first arduino board and the first time I'm using the arduino development system.  It's ok, but I much prefer AVR-GCC and AVR studio.  Although, the Ethernet library in the arduino was nice.


Figure  4:  Internet page for the sump pump monitor

Shown above is the web page.  There was one activation of the sump pump 1 minute ago and one activation about 49 minutes ago.  Minute data that is older than 8 hours drops off the table.

An IO gear Ethernet to wireless 802.11 adapter was used to complete the internet connection.  An LCD from 4D systems was used to display user information.  An ip address in browser can also be used to look up some of the status information.



Figure 5: Water level float

If the water level gets too high, the float above will hopefully activate before the oil stops it from moving.  The float came from ebay.  It seems to have a magnet on the float and a hall effect sensor in the main body.  It is shown above in the activated  position.

There are some commercial sump pump monitors available.  But, they tend to be pricey. 
            http://sumppumpmonitor.com/
            http://floodnot.com/
Plus, I'm not really sure how the tar would effect the operation of either of these units.


 Figure 6:  The current sensor for the sump pump

The above image shows the neon transformer in it's housing.  The transformer was assembled around the "hot" wire of the electrical cord running to the sump pump.  This induces a small current (voltage) in the neon transformer that then goes out the black and white wires to the main arduino board.


Figure 7:  The LCD main screen

The LCD is read the following way:
            Line 1:  Title
            Line 2:  This is the IP address of the board on my locale network
            Line 3:  The Arduino is using 103 bytes of ram
            Line 4:  The water float is not activated
            Line 5:  The sump pump is not on
            Line 6 and 7:  The sump has been turned on 51 times
            Line 8:  Counting down to turn off the LCD
            Line 9:  The number of seconds the sump pump has been on
            Line 10:  If the user presses the "EEPROM reset" button for 15 seconds,  51 -> 0

There were a couple of problems I had during the software development phase.  First, I could not get the Ethernet to work when I was running the ATMEGA328 at 16MHz.  The Ethernet would work when I had the divide by 8 fuse on.  The source of the problem was the AVR ISP MKII programming header.  It was loading down the SPI line going to the Ethernet chip on the Seeeduino Ethernet board.  Second, there seems to be no way to turn off the 4D systems LCD through software.  So, I ended up using a P-channel MOSFET to cut power to the LCD.  This acts to prevent burn in on the LCD. 

The schematic is shown below. 




Figure 8:  Schematic of the sump pump monitor



8 comments:

  1. It's probably a good thing that your windowscreen idea didn't work. Had it held it would have probably plugged up. Then your sump well might be dry but your foundation wouldn't and water would start leaking in all over the place.

    This problem sounds like the builders definitely did something wrong! I wonder if they could still be held liable to fix it?

    ReplyDelete
    Replies
    1. The builders had a one year warranty, which is standard in the industry. (at least, standard around here) They were the ones that suggested putting the window screen in sump well.
      It's very doubtful they can be held liable, since the warranty has expired.

      Delete
  2. This is nicely done. I would also look into changing the level switch on your pump with a "cable float" type switch. They work awesome in gooey fluids since there are no moving parts or sensors exposed to get gummed up.

    ReplyDelete
    Replies
    1. I like the cable float switch idea. I'll have to see if I can get one for the sump pump.
      On my sump pump, the float is integrated into the sump pump. But, I can probably glue the float in the on position. Then, I can use the cable float to switch on the sump when the water level is high.

      Delete
  3. Its hard to tell from your pictures if this idea is helpful, but give a look at the Pigmat company. They make absorbent materials that might work in your situation. The white cloth will absorb oil type products while not becoming saturated with water. You may can come up with a way to incorporate a screen that holds the pad and still allows water to flow to your pump. Of course, you would need to change these out regularly as they become saturated with tar, but it'd be a nice preventative measure.

    ReplyDelete
  4. I like your solution and am going to try to mirror it for myself. Thanks for posting all of your work!

    Could you please provide some more information on the Neon Power Supply Transformer? I need to purchase one.

    ReplyDelete
  5. During a flood I watched one of these sump pumps throw hundreds of gallons per hour out of my neighbors yard. Wettest spring in years, and he chose to build his home near the river below the water table. It's a good thing the local sewer lines could handle the runoff.

    Nice image of the pump's innards.

    Paul | forrestsewerpump.com

    ReplyDelete
  6. You are very clever and smart! You created this sump pump by yourself. I am sorry to hear your home was flooded several times. I have neighbors that have the same problem.

    Jessie | http://www.shortysplumbing.ca/plumbing.html

    ReplyDelete