"Uh-oh, I think I bit off more than I can chew this time," I thought, as I watched the 24-ton backhoe tearing up my backyard. A few weeks earlier, I'd set out to build and automate an in-ground swimming pool and this groundbreaking represented the point of no return. To my own credit, I had completed a similar project at my previous home, but on a much smaller scale. This new pool was going to be significantly larger with centralized control, plus I was adding a spa as well.
As a controls engineer for an industrial automation company in Southern California, my job is to help customers understand and implement control and remote-monitoring hardware and software. Building this pool would be an opportunity for me to personally apply my engineering experience with large-scale automation projects.
As it turned out, my worries were completely unfounded. Though there were a few minor snags along the way, in just a few months I was able to stand on the backyard patio and admire my new fully automated 32 by 16-ft heated swimming pool and 8 by 10-ft spa. In fact, things went so smoothly that what started out as a pool installation has evolved into a large-scale residential automation project: A Flexible Control System.
I owe the ongoing expansion largely to the flexibility of the Opto 22 SNAP Ethernet system I used to automate the pool controls. Currently, it consists of one highly intelligent, IP-enabled central controller with three remote I/O processors or "brains," four industrially hardened mounting racks, and several dozen four-channel input/output modules. These modules provide the sensor and actuator interfaces for all of the electrical and electronic equipment. The SNAP system allows me to add new modules at will, a feature that proves more valuable as the scope of my project grows.
After my buddies and I completed the dirty work, I was ready for the fun part, namely, outfitting the pool systems with automation and controls. This meant wiring the SNAP system to four, 3-hp high performance pumps that together can move 800 gallons of water per minute—enough to create a "river effect" so strong my kids can swim in place against it. The spa is its own water body, separate from the pool, with its own pumps and a 400,000 BTU heater. This gives me the option to someday set the pool up with a salt water system without disturbing the spa's traditional water system.
Another pump feeds 22 water jets surrounding the pool deck. It's equipped with a variable speed drive, and I was able to use ioControl, a control application development tool, to design pre-programmed "dancing fountain" routines so jets of water arch out over the pool. It's a fairly simple routine, where I define the VSD frequency and duration for each blast of water and create different types of "water choreography" effects.
Then I decided to get a little creative. I was searching for a way to continuously monitor the water level and automate the refilling process. Most pools use a float switch to do this, but there is no way to be sure how much water is being added or even if the switch is functioning properly. Through a combination of my own experience and trial and error, I discovered that two, stainless-steel, all-thread rods placed in the pool's remote well and wired in a sinking configuration at close proximity work as a great continuity checker. After wiring these to a digital input module in the 10 to 32Vdc range, I found I had created a $10 water-level sensor that I can tie into the SNAP system to track and record water usage. I went a step further and used ioControl to design a control strategy for the SNAP system to automatically open the valve and restore the water level whenever it drops below a predefined point. To account for the periodic rising and falling of the water level caused by splashing, I wrote a custom "debounce" timer routine that instructs the valve to open only when the water has remained below the fill level for more than one minute.
I'm also proud to say that I get compliments on the clarity and cleanliness of my pool water. I'm using my SNAP system to monitor the temperature as well as the pH and ORP (oxidation reduction potential) levels. The pH needs to remain balanced between acidity and alkalinity, while ORP levels indicate if there is enough germ killing chlorine present. Instead of using industry-standard chlorine and ORP sensors and connecting them to a signal conditioner to convert the readings into the 4-20mA input for the SNAP system, I'm using a special pH/ORP module (which I helped to commercialize) plugged right into the SNAP system rack. Whenever the pH or ORP falls out of the set-point range, the SNAP brain sends the appropriate commands to chemical dosers that activate and add chlorine, pool acid, and other chemicals as required.
I also added an "instant hot" shower. After laying a small slab of concrete and adding the drain, I installed the shower fixture and piping with an in-line heater. A press of a button opens a valve, pressurizes the line and heats the water as it passes through the pipe and flows out the showerhead. Finally, in the rear corner of the yard, I built a small 5 X 5-ft fountain, wiring the fountain pump along with the shower valve to the SNAP system. While I was at it, I went ahead and connected the sprinkler system.
To consolidate control over all these connected systems. I mounted an OptoTerminal (a small industrial operator interface terminal by QSI Corporation) on the kitchen wall just inside the backyard patio. The terminal has a color touch screen and keypad and communicates with the Opto 22 SNAP system via a standard Ethernet connection. I use the terminal to remotely operate the heaters, pumps, valves, and dosers for the pool, spa, and other equipment. It's really useful if, for example, I need to monitor or start any of the systems but I don't feel like going outside. I just punch in the data, like the desired temperature for the spa, and I'm done.
Lights, Cameras, Alarm!
It was at this point that the project could have logically drawn to a close. But I was on a roll and started looking for other things I could control or automate. After hooking up the air conditioning system, I turned my attention to the yard lights. I purchased an electronic solar sensor to detect when the sun is going down and mounted it on the side of the house. I then wired the sensor to an analog input module and all of the yard lights to digital output modules. The sensor measures the intensity of the sunlight, converts the reading into a 4-20mA signal, and sends it to the SNAP system, which, when the reading is low enough, automatically switches on the designated yard lights.
On one side of the house is a paved area outfitted with several large drains. By installing several small water jets low on the house and close to the ground, I was able to convert this area into an automated dog run. After letting the dogs out to do their business, my kids remove the solid wastes and then press a button on the OptoTerminal to turn on the spray and rinse the residue down the drain.
After connecting all of these outdoor systems, I was compelled to add one more thing—a somewhat more practical home security application. My house is pre-wired with contact sensors on the doors and windows and infrared motion detectors that run to a central location. This was intended to enable easy implementation of an ADT or other home security system. But with contact sensing being one of the most common applications for the SNAP system and everything else in my home already connected, this was a no-brainer. A simple digital in-put module works with the motion detectors to determine if the infrared beams have been broken and special "self-whetting" digital input modules are wired to the door contacts. Most modules used in these applications require a power source for the contact closure circuit. But my self-whetting modules relieve me of this task by providing a steady 15V of loop power.
I used ioControl to configure the SNAP system's central controller to send me emails on the status of all my doors and windows as well as my pool and spa valves. For instance, if any of these remain open for an extended period, I know right away and can view and acknowledge the alarm through ioDisplay. This safeguards against flooding due to a malfunctioning valve. I can even specify how long the valve must remain open before the alarm is triggered.
So what else can I automate? With my flexible control system, the sky is the limit.
Contact contributing writer James Davis (who developed this article with the assistance of Opto 22's David Crump) at Jdavis@Opto22.com.
|Check out the links below for more info
|For more information on Opto22's SNAP controller, go to:
|To see how Opto22 developed a custom pool controller for BioLab based on James' homegrown pool monitoring system described here, go to:
James' Smart House: All of James' backyard systems and equipment run underground through conduit to SNAP system racks, mounted in cabinets outside the house and elsewhere. In total, he is currently monitoring, automating, and controlling 64 points of I/O using four racks. With web capability, he has full management capabilities from any web-enabled computer system in the world, including monitoring, control (operating the pool, for example) and alarms.