Pool Systems Automation: Difference between revisions

From Fairway Farms Swim Club
Jump to navigation Jump to search
Line 178: Line 178:
==== Auto Fill ====
==== Auto Fill ====


The pool is automatically filled when a low threshold is met via the surge tank water level sensor.
If enabled, the pool is automatically filled when a low threshold is met via the surge tank water level sensor.


=== User Interfaces ===
=== User Interfaces ===

Revision as of 14:33, 5 September 2021

Overview

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.

Background

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.

Operation

Monitoring

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

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.

Output Water Flow

The output water flow is monitored by a paddle wheel 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

Notes:

  • 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 Operation

Control

Auto Fill

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

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.

LCD/Keypad

Remote Monitoring

Design

Programmable Logic Controller

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 serial interfaces. Each port is connected to a port on the Lantronix Premierwave XN. The configuration as follows:

Serial<br<Interface Electrical
Configuration
Serial
Configuration
Purpose Lantronix
Port
Port 1 RS-232 9600 8O1/None Programming Port 2
Port 2 RS-232 38400 8N1/None Modbus Polling Port 1

Sensors

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

Drawings have been updated as of June 24th, 2021 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.

Sensor Wiring

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

Programmable Logic Controller

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

Auxiliary

Pages 40-49 are reserved for systems related to the automation system (via interconnection).

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.

Planning

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 (VFD) control for the main pump motor, when and if implemented.

Surge Tank Modulating Valve

If the budget permits, a spring-return modulating valve will be installed on the drain return into the surge tank. This will allow consistent level control via water level feedback. This will restore intended surge tank functionality (maintaining the proper surge tank level regardless of pool level).