Pool Systems Automation

From Fairway Farms Swim Club
Jump to navigation Jump to search


A monitoring and control automation system was installed in the pump house during the 2020-2021 off-season. As of June 2021, continued refinement is still on-going. It was custom designed and installed to aide in the management of the pool, ensuring the pool is safe and comfortable for all occupants while reducing effort for the staff.


The project was officially kicked off in December 2020 with the following goals:

  • To alert staff and key maintenance personal of abnormal operating conditions or situations requiring attention.
  • To protect aging equipment (i.e. the boiler) from damage due to malfunction.
  • To reduce staff workload by automatically filling the pool.
  • To record historical data for pressure, flow, temperature and chemical levels.

The following principles drove and will drive all future design efforts:

  • The system must not hinder or add complexity to daily pool maintenance.
  • In the event of automatic system failure, manual systems (gauges, valves) should be usable to perform all tasks.
  • The system must be very well documented and maintainable by moderately technical member-volunteers.



Main Pump Motor

The main pump motor is monitored via an auxiliary contact on the motor starter. The contacts close upon pressing the Start button, assuming sufficient voltage is present and the overload is not tripped. The contacts open upon pressing the Stop button, or when another motor-stopping event occurs.

The main pump motor auxiliary contact and a snapshot of the flow rate (via the flow meter) determines the operating state.

State LCD Notification Condition(s) Stack Light
Pump Stopped Pump Stopped The default state upon initialization. Set when the pump is stopped. Red (Flashing)
Pump Startup Pump Startup The pump is starting up (a 10-second static delay once the motor starter contacts are closed). Off
Operating Pump Operating The pump is operating and filter flow is in the normal operating direction. Green/Yellow (Flashing)
Backwash Pump Backwash The pump is operating and filter flow has been set in the backwash direction. Alternating Red-Green

Filter Tank Pressure

A set of pressure gauges. Per the design principle, all electronic measurements have an accompanying manual gauge.

Four filter tank pressures are monitored by sensors with internal signal conditioning. When fed by a 24 VDC (each sensor is independently fused), a 1 V to 5 V output corresponds with 0 to 100 psi of pressure.

A value is considered valid if the measured voltage is 1 V or greater (less than 1 V suggests an open circuit or failed sensor). The low and high thresholds are somewhat arbitrary and based upon observation. A nominal pressure of 10 psi is assumed (add 8 psi to the limit per PHTA guidelines for a single-gauge backwash threshold).

Qualifier Threshold Result LCD Notification Stack Light
Operating < 8 psi Pressure Low Flt Tank Pres L Yellow
Operating ≥ 8 psi and < 18 psi Pressure OK None Green (unless overridden)
Operating ≥ 18 psi Pressure High Flt Tank Pres H Yellow

When in the Pump Startup, Operating or Backwash state, each tank pressure is briefly shown on the LCD in psi. If the value is not valid, Fault is shown in place of a pressure value. If rare circumstances (sensor failure, testing) the administrator may disable certain tank(s). It this case, the value will be shown as Disabled and any potential faults related to a particular pressure sensor will not affect the overall system status.

Output Water Flow

The output water flow meter.

The output water flow is monitored by a paddlewheel flow meter that generates a sine wave with a frequency proportional to the flow rate. A flow "transmitter" (GF Signet 8512) translates that analog output from the flow meter into a 4-20 mA signal proportional to the flow rate.

The value is considered valid if the current measured is greater than or equal to 4 mA (not an open circuit). The low and high thresholds are based upon the required flow turnover rate for the pool volume and a maximum to avoid issues (channeling) in the filter tanks.

Qualifier Threshold Result LCD Notification Stack Light
Operating < 570 GPM Low Flow Rate Out Flow L Yellow
Operating ≥ 570 GPM and < 670 GPM Flow Rate OK None Green (unless overridden)
Operating ≥ 670 GPM Flow Rate High Out Flow H Yellow

When in the Pump Startup or Operating state, the flow rate is briefly shown on the LCD in GPM. If the value is not valid, Fault is shown in place of a flow rate value.

Surge Tank Level

The surge tank level is monitored by a differential pressure sensor with built-in signal conditioning that generates a 4-20 mA signal proportional to the water depth.

The value is considered valid if the current measured is greater than or equal to 4 mA (not an open circuit). The low and high thresholds are based upon the required flow turnover rate for the pool volume and a maximum to avoid issues (channeling) in the filter tanks.

Qualifier Threshold Result LCD Notification Stack Light
Operating or Backwash < 16 in Level Critical Low (LL) Surge Tank LL Flashing Red (See Note 1)
Operating or Backwash ≥ 16 in and < 46 in Level Low (L) Surge Tank L (See Note 2) Yellow (See Note 2)
Operating or Backwash ≥ 46 in and < 60 in Level Nominal None Green (unless overridden)
Operating or Backwash ≥ 60 in and < 76 in Level High (H) Surge Tank H (See Note 2) Yellow (See Note 2)
Operating or Backwash ≥ 76 in Level Critical High (HH) Surge Tank HH Yellow


  • Note 1: After a brief delay (presently set to 5 seconds), a critical low (LL) level triggers a pump motor stop to prevent running the pump dry. The state changes to Pump Stopped and the stack light is set to flashing red. The operator should take care to eliminate the root cause of the critical low surge tank level before restarting the pump.
  • Note 2: These messages and stack light state are only applicable if Auto Fill is disabled. If Auto Fill is enabled, no fault message is shown on the LCD. The stack light will blink during the fill process.

Boiler Status

Details to follow.


Auto Fill

If proper conditions are met, the pool is automatically filled when a low threshold is met via the surge tank water level sensor.

Auto fill is enabled by default. This is indicated by a periodic AutoFill Enabled LCD notification. It may start during any state other than Backwash and the waiting to restart states following a "Critical Level Low (LL)" result. When in the one of those states, auto fill is paused and AutoFill Paused is periodically shown on the LCD.

When auto fill is enabled, the "Level Low (L)" and "Level High (H)" results of the surge tank level are not fault/warning conditions; they becomes strictly thresholds at which auto fill starts/stops.

Auto fill operates until the high level is met or auto fill is disabled. Auto fill operates for at least 2 minutes. If the high level threshold is not met after 4 hours, a timeout occurs. A timeout prevents auto fill for 12 hours in an effort to prevent over-filling the pool in the event of a sensor failure. This is indicated by a periodic Fill: TO (12 hr) LCD notification. If the high threshold is met within the 4 hour period, a minimum off time (MOT) prevents auto fill for 4 hours to prevent frequent cycling. This is indicated by a periodic Fill: MOT (4 hr) LCD notification. In theory, 3-5 cycles of auto fill may complete in a day, though thresholds should be set to keep this to 2 or less.

User Interfaces

Stack Light

The stack light indicates the overall operating state of the system.

State Description
None The system is off or the pump is starting up.
Solid Green The pump and system are operating nominally.
Flashing Green Same as Green with active pool fill.
Solid Yellow The pump and system are operating but intervention may be required.
Flashing Yellow Same as Yellow with active pool fill.
Solid Red The pump is stopped by the operator.
Flashing Red The pump is stopped due to the surge tank level.
Alternating Red-Green The system is backwashing.

Display and Keypad

Details to follow.

Remote Monitoring

Details to follow. Remote monitoring is largely done via the dashboard.


Programmable Logic Controller

The PLC and support components (power supply and Lantronix unit).

A DirectLogic 06 (D0-06DD2) programmable logic controller (PLC) is used for as the base for monitoring and control. A PLC was selected due to its reliability and relative ease-of-maintenance by volunteer maintenance staff. Within the electrical engineering community, most have had some level of experience with PLCs and/or ladder logic. It is assumed that within the membership, there will always be someone with the knowledge that can volunteer on an as-needed basis.

The controller consists of an internal CPU, 24V inputs/outputs (I/O) and multiple add-on modules for analog measurements. Serial communication carried over WiFi via a Lantronix PremierWave XN, presenting the PLC as if it were connected to a virtual communication port on the host PC.

Digital Inputs

Input Function Description
X4 Surge Tank Float Not presently implemented; reserved for future use.
X5 Motor Starter Status Active when the main pump is operating.
X10 Boiler Stage A Active when conditions described in Pool Boiler Stage A: Demand for Heat are met.
X11 Boiler Stage B Active when conditions described in Pool Boiler Stage B: Flow/Temperature Interlocks are met.
X12 Boiler Stage C
X13 Boiler Stage D
X14 Boiler Stage E

Digital Outputs

Output Function Description
Y4 Stack Light Red Drives the red element of the stack light.
Y5 Stack Light Yellow Drives the yellow element of the stack light.
Y6 Stack Light Green Drives the green element of the stack light.
Y10 Fill Valve Drives the pool fill valve into the open position (spring-return when off).
Y11 Motor Starter Stop Stops the main pump by mimicking "stop" button closure.
Y12 Boiler Disable Disables boiler operation when a significant fault condition is observed.

Expansion Modules

Slot Part Number Function Purpose
1 D0-07CDR 4 x 12/24 VDC Input, 3 x Relay Not used at this time (spare)
2 F0-04AD-2 4 x Analog Input (0-5 VDC or 0-10 VDC) Sensor inputs (pressure)
3 F0-04AD-1 4 x Analog Input (0-20 mA or 4-20 mA) Sensor inputs (flow, depth)
4 N/A Not Populated Spare

Serial Interfaces

The DL06 PLC has two built-in serial interfaces. Each port is connected to a port on the Lantronix Premierwave XN. The configuration as follows:

Purpose Lantronix
Port 1 RS-232 9600 8O1/None Local Programming
(using interface cable)
Port 2
Port 2 RS-232 38400 8N1/None Modbus Slave
(dashboard monitoring)
Port 1
Planned: D0-DCM Port 1 RS-232 Default Not Used
Planned: D0-DCM Port 2 RS-485 19200 8N1 Modbus Master
(VFD and boiler temperature control)


  • Port 1 is limited to 9600 baud, odd parity and RS-232 communication.


The following points, as shown in the Process Flow Diagram, are monitored by the PLC:

  • 4 x Pressure Transmitter (PT) units, one per filter tank. Each unit is connected in parallel to a non-electrical gauge.
  • 1 x Flow Transmitter (FT) unit prior to the pool return. A manual gauge is placed in the vicinity of this paddle-wheel sensor.
  • 2 x Depth Transmitter (DT) units, placed near the bottom of the surge tank and in the static level probe well. The latter is optional (may not be implemented).

There are additional sensors, not directly monitored by the PLC, but considered to be part of the system:

  • 1 x Temperature Transmitter (TT) prior to the inlet of the boiler. This unit is used as the feedback for the temperature controller, which raises a call for heat to the boiler.
  • 1 x Flow Transmitter (FT), pH probe, ORP probe and conductivity sensor. These sensors are fed into the Chemtrol PC2100 and are detailed here.

The following sensors are used:

Parameter Sensor Part Range Output
Pressure Measurement Specialties MSP-300-100-P-4-N-1 0 to 100 psi 1-5 V analog
Flow (Output) GF Signet P51530-P1 0.3 to 6 m/s
1 to 20 ft/s
Sine Wave (analog)
Depth ALS-MPM-2F 0-5 meters 4-20 mA
Temperature TBD - PT100 RTD -40 to +400 degC Resistive

NOTE: The flow meter was previously a GF Signet MK515.3P1. Erratic behavior prompted its replacement in early June 2021.


Drawings in the automation system package have an FFSC-001 prefix. Drawings have been updated as of May 14th, 2022 with multiple corrections and as-built updates. They are still in process and subject to review and change.

Panel Layout

Pages 5-9 are reserved for enclosure panel layouts.

NOTE: Panel layout drawings are created for initial planning purposes and may not accurately reflect later modifications.

FFSC-001 Pg 5 - PLC Panel Layout.png

Sensor Wiring

Pages 10-19 are reserved for sensors (including "flow meters") and their associated wiring.

NOTE: The water level probe is presently not used. Documentation is preserved for reference purposes.

FFSC-001 Pg 10 - Filter Tank Pressure Sensors.png FFSC-001 Pg 11 - Flow Meter.png FFSC-001 Pg 12 - Water Level Sensors.png FFSC-001 Pg 13 - Water Level Probe.png

Programmable Logic Controller

Pages 20-29 are reserved for the PLC and its expansion modules.

FFSC-001 Pg 20 - PLC Base.png FFSC-001 Pg 21 - PLC Digital Inputs.png FFSC-001 Pg 22 - PLC Digital Outputs.png FFSC-001 Pg 23 - PLC Digital IO.png FFSC-001 Pg 24 - PLC Slot 2 - 0-5 V Analog Inputs.png FFSC-001 Pg 25 - PLC Slot 3 - 4-20 mA Analog Inputs.png


Pages 40-49 are reserved for systems related to the automation system.

NOTE: Page 41 is out-of-date and pending update (need to remove magnetic starter to reflect use of VFD).

FFSC-001 Pg 40 - Boiler Auxiliary.png FFSC-001 Pg 41 - Pump House Motor.png

Other Drawings

Some systems related to the automation system are complex enough to justify their own drawing package. These systems are related, but only share some signals (i.e. RS-485 link) and are not dependent upon the automation system to function.

Drawings that were previously part of the automation system drawing package, but have since been moved:

Known Issues

  • Detection of backwash (versus operating) is occasionally incorrect. This is likely due to the ramp-of of the flow meter.
  • Some PLC LCD time display screens are buggy.


The following features are planned when possible:

  • Implement time-of-day auto-fill to reduce the frequency at which the pool is filled during the day. The club is not billed at a time-of-day rate, but as "good citizens" it is ideal to fill during low-demand periods to help reduce water bills for all city residents.
  • Add a float switch as a failsafe means for detecting over-fill. In the event that the depth sensor fails.
  • Add variable frequency drive control for the main pump motor, when and if implemented.
  • Add motorized actuator control for a surge tank modulating drain valve, when and if implemented.