Pool Boiler Temperature Controller
This document is still a work in progress. This temperature controller is still under active development.
Overview
The boiler temperature controller was created to enhance control and monitoring over the unit used prior to 2022 (a Johnson Controls C450CCN-3).
During the 2021 season, there were multiple observed instances of the boiler operating at a sub-optimal temperature. To prevent condensation, the boiler should operate at about 120 degrees or higher. This is achieved by mixing inlet water (ideally at 80 degrees or warmer) with water recirculated from the boiler outlet. This circulation pump is shown in the Boiler Loop section on page 2 of the Process Flow Diagram.
The occurrence of low temperature was likely due to air trapped in the pump; a condition that is possible after air is introduced into the system when the strainer basket is cleaned or the filters are backwashed. The controller cannot prevent this condition, but it can detect it and alert the operator to minimize the impact of condensation.
The key features of the new controller are as follows:
- Provides feedback of the boiler temperature via LCD display and via Modbus (RS-485) to the automation system.
Like in the Pool Temperature Controller, the following principles are used in its design:
- The core function (temperature control) shall be performed by a proven, durable controller. In this case, a Euroterm 3504 was chosen due to its enhanced logic control capabilities.
- The automation system shall not be required for operation. Failure of other components should have minimal impact upon its operation.
User's Guide
Operating States
-
Normal Operation
-
No Stage 2
Normal Operation
During normal operation, no user intervention is required.
The OP1 and OP2 beacons at the top of the display indicate that both Stage 1 and Stage 2 heat are enabled.
Changing Thresholds
Theory of Operation
Call for Heat
A call for heat is raised by the Pool Temperature Controller. It is detected when the first input (terminal #13 - see wiring note) is energized.
Low Operator
The low operator is activated when the following conditions are true:
- A call for heat is present.
- The RTD is producing valid feedback (not shorted or open-circuit).
- The boiler temperature is below the over-temperature shutdown threshold (timing rules apply).
The low operator may be released when any of the prior conditions are no longer met. In addition, it may be released when:
- The first stage is active and the boiler temperature is below the minimum temperature threshold. This condition is applied after a warm-up period has elapsed.
The low operator activates the first stage burner once the boiler interlock conditions and timing are satisfied.
Main Valve Active
The main valve (MV) active input is energized via boiler terminal #30. This is the same signal that provides "Boiler ON" feedback to the Pool Temperature Controller. When the main valve is active, the first stage is presumed to be operating. If the main valve is not active some period of time after the low operator is activated, a boiler fault may be assumed.
High Operator
The high operator is activated when the following conditions are true:
- All conditions for the low operator are met.
- The main valve (MV) is active.
- The boiler temperature is below the second stage threshold (timing rules apply).
Controller Hardware
As Shipped Configuration
| Order Code | Description | Comment | |
|---|---|---|---|
| Model Number | 3508 | 3508 Standard | |
| Function | F | Profibus | Profibus will not be used. |
| Supply Voltage | VL | 20-29 VAC/DC | Intended to operate on the boiler 24 VAC control circuit. |
| Loops | 1 | One Loop | |
| Application | XX | Standard | |
| Programs | X | No Programs | |
| Recipes | 1 | 1 Recipe | |
| Toolkit Wires | XXX | Standard 30 Wires | |
| Fascia | G | Eurotherm Green | |
| IO Slot 1 | LO | Isolated Single Logic Output | |
| IO Slot 2 | D4 | DC Control | Will not be used. |
| IO Slot 3 | TK | Triple Contact Input | |
| H Comms Slot | PD | Profibus with D-type Connector | Module is an AH026222U002. |
| J Comms Slot | XX | Not Fitted | An RS485 module will be installed. |
| Config Tools | XX | None | |
| Product Language | ENG | English | |
| Manuals Language | ENG | English | |
| Warranty | XXXXX | Standard | |
| Calibration Certificate | XXXXX | None | |
| Custom Labels | XXXXX | None | |
| Config | STD | Standard Config | The remaining codes are all blank; no factory configuration. |
Modifications
Additional modules were purchased and installed, modifying the as-shipped configuration.
- Installed an RS-485 module (Eurotherm AH025075U002) in the J Comms Slot for MODBUS communication.
- Changes to IO Slot 2:
- Removed the DC Control module.
- Installed a Change Over Relay (Eurotherm AH025408U002) for SPDT 2A control.
Inputs
- The Triple Contact Input module provides three switch inputs. TBD: What is the "common" pin connected to?
Network Interfaces
There are two digital communication (also referred to here as "network interfaces") on the Eurotherm 3508.
Port H
The Port H interface was factory-configured for Profibus with a Eurotherm Profibus Comms card (AH026222U002). A 9-pin D-sub connector (part number PROF9PIND) provides access to RS-485 compatible signaling on pin #3 (Tx/Rx +Ve) and pin #8 (Tx/Rx -Ve) along with GND on pin #5. The iTools software allows configuring the Profibus interface to speak MODBUS, thereby allowing it to become the primary software configuration interface (freeing up Port J for system-level communication).
Port J
The Port J interface is configured for RS-485 MODBUS communication at 19.2 kbps 8N1.
Controller Logic
| Block | Description/Comments |
|---|---|
| DigAlarm1 | Triggers a non-latching alarm if Call for Heat is active for an extended period without Main Valve (MV) Active. This alarm has no functional impact; it is used to alert the operator only. If the Call for Heat input is not connected, this alarm will never trigger. |
| DigAlarm2 | Triggers a manually-latched alarm per a rising edge on Lgc2 1. The alarm remains active until acknowledged. |
| Instrument | Provides access to the OP1 and OP2 "beacons" (display indicators) for OP1 and OP2. |
| IO.PV | The conditioned RTD measurement is output on PV. If any of the three wires to the RTD are broken/disconnected, SBrkOut is active. |
| IO.LgcIO.LA | The Call for Heat input. This is an optional input (pending system wiring revision). It is used to detect a boiler fault, but has no other functional purpose at this time. |
| IO.LgcIO.LB | The Main Valve (MV) Active input. |
| IO.Mod 2.A | The Stage 2 output relay. |
| IO.RlyAA | The Stage 1 output relay. |
| Lgc2 1 | Logically ORs the delayed-on Main Valve (MV) Active input signal and the result of the conditioned RTD measurement is less than the low-temperature threshold comparison. A rising edge on the output of this block indicates that the boiler temperature is below the threshold after the Main Valve (MV) (Stage 1) has been active for some period of time. |
| Lgc2 2 | Logically ORs the output of Lgc8 1 and the control loop output to produce a Stage 2 control signal. |
| Lgc2 4 | The output is active if the conditioned RTD measurement is less than the low-temperature threshold. |
| Lgc8 1 | Logically ORs four inputs, all inverted, from Alarm 1, Alarm 2, DigAlarm 2 and the signal break output (SBrkOut) from IO.PV. The output is active unless any of the alarms are triggered or signal break is active. Essentially inhibits operation of Stage 1 and Stage 2 in the event of a fault condition. |
| Loop 1 | Operates an on-off control loop with a setpoint (Stage 2, displayed on the controller as "Stg2") and feedback via the conditioned RTD measurement. |
| Timer1 | Provides a delayed-on Main Valve (MV) Active input signal. Used to act upon conditions that are only relevant some period of time after the gas has fired (i.e. boiler warm-up). |
| UsrVal 1 | The low-temperature threshold. Displayed on the controller as "LowT". |
Notes:
- Lgc2 3 is not used.
