Arduino based home-brew pool controller

Gooserider

0
LifeTime Supporter
Yet another step in my efforts to make our pool as handicapped friendly to maintain as well as "Trouble Free"....

Last year I tried to make our pool easier to care for from my wheelchair by upgrading a lot of the equipment - mostly this was very successful, with one noteworthy exception...

I disabled the time switches that I couldn't get to in the basement by turning them on and removing the trippers, then installed some electronic programmable switches in the pool enclosure... Good theory, except that I found the cheap little "wristwatch" style LCD displays on the timers were almost impossible to read unless looking straight at them in just the right light... From my chair, I could not get into a position where I could comfortably program the timers, and ended up with at least one occasion where I was running the booster pump without the main pump...

I decided this was not acceptable, so I designed and built my own controller that runs both pumps using a single Arduino microprocessor - which leaves it very underworked, but....

Cost was reasonable, though not cheap. Probably the most expensive part was the actual NEMA 3R exterior box I put everything in, The box was overkill, but strangely enough the NEMA 2 box that would have done the job was MORE expensive :confused: I also splurged on a $25 LCD panel kit from AdaFruit that I could have gotten away with. Hard to guess about the total cost, since I used a lot of recycled scavenged parts, but I'd estimate that I had less than $100.00 worth of parts on top of the box, so call it $200 or so...

I ended up with an ATMEL 328, preloaded with the Arduino bootloader in a home-brew minimal Arduino configuration
A 4067 MUX/DEMUX chip
An RTC module
An LCD display panel (2 x 16 char)
A recycled 5V switching wall wart
2 x 25A solid state relays
An RGB "status LED"
a bunch of support circuitry.

All of it, except for the LCD panel, was either hand wired on proto-board, or point-to-point wired (especially the AC stuff)

My logic was that the pumps only needed to be programmed to the nearest hour for run time, and would run one or two cycles of up to 12 hours in a 24 hour period. So I made a bank of toggle switches for each pump - 1, 2, 3, and 6 hours, plus one or two cycles / day, so the cycle on time was the sum of the ON switches. The start time for each cycle is currently hard coded, but eventually will be selectable via the program buttons on the LCD panel.

These switches, plus a pressure sensing switch (a safety to keep the booster pump from running unless the main pump is really working, a "fridge door" switch to turn off the LCD display backlight when the box is closed, and a couple of "over-ride" buttons that allow on the spot turning the pumps on and off, are all wired into the 4067, which lets me read up to 16 pins with 5 pins on the Arduino. The RTC module took up another three pins, and the LCD panel took another two for the I2C bus it uses.

I've attached the schematics as two zipped pdf files below. They were done in KiCAD and if you'd like the original KiCAD files, send me a PM w/ an email address...

ex-Gooserider
 

Attachments

  • pool-control-1of2.zip
    67.3 KB · Views: 17
  • pool-control-2of2.zip
    69.1 KB · Views: 9
Thread Status
Hello , This thread has been inactive for over 60 days. New postings here are unlikely to be seen or responded to by other members. For better visibility, consider Starting A New Thread.