Nutrimax Control System
Introduction
The Nutrimax Control System was developed some years back long before the IOT etc. became a thing. Working with Okkie van Niekerk, we developed a groundwater conditioning system which could work remotely by adding a mixture of three acids to a groundwater feedline to control the pH in a continuous process.
The dilution feed water flow (shown at the top right) is fed with a mixture of Nitric, Sulphuric and Phosphoric acids into the mixing tank. The acid proportions are controlled to suit the raw groundwater properties.
The mixed solution is then added to the groundwater feed line to keep the pH in a predetermined range. The system has local control with SMS reporting of events and notification when an acid fee tank runs low.
Proof of Concept
We embarked on the development of the control and monitoring system using most of our own hardware in the most economical way. The primary components used was our Measurement and Control Interface (a multi-I/O serial interface device), a single-board PC running windows, a GSM communications module and a variety of other custom and standard components.
The test system with two 1000 l tanks and multiple venturis and control valves.
The test enclosure with flat panel screen display and internal components.
The I/O list:
Connection Type | Function |
Analogue Inputs | |
1 | Main Water Line pH |
2 | Main Water Line Temperature |
3 | Dosing Mixture Conductivity |
4 | Pressure (not fitted) |
5 | Internal Enclosure Temperature |
6 | Mains Status |
Digital Inputs | |
Din 1 | Mixing Tank Level High Switch |
Din 2 | Mixing Tank Level Low Switch |
Din 3 | Main Pump Status |
Din 4 | MCI Enclosure Door Status |
Relay Outputs | |
Relay 1 | Nitric Acid (HNO3) Feed Valve 1 |
Relay 2 | Nitric Acid (HNO3) Feed Valve 2 |
Relay 3 | Phosphoric Acid (H3PO4) Feed Valve 1 |
Relay 4 | Phosphoric Acid (H3PO4) Feed Valve 2 |
Solid State Relay Outputs | |
SSRout1 | Acid Dosing Pump |
SSRout2 | Watchdog Lamp |
Digital Outputs | |
Dout 1 | Sulphuric Acid (H2SO4) Feed Valve 1 |
Dout 2 | Sulphuric Acid (H2SO4) Feed Valve 2 |
Dout 3 | Dilution Valve |
Dout 4 | Acid Dosing Valve |
Event Number | ||
1 | Main Pump On | After the Main Pump On Delay has expired but sends time the pump started. |
2 | Main Pump Off | When Main Pump switches off - a summary of activity for the irrigation cycle. |
3 | pH Alarm | Sends message when high or low alarm level exceeded - used with start-up delay to pH can stabilize. |
4 | Acid Conductivity Alarm | Sends this when the conductivity at the end of any acid addition cycle is outside the acid conductivity range. |
5 | Dilution Conductivity Alarm | Sends this when the conductivity during any dilution cycle is outside the dilution conductivity range. |
6 | Enclosure Temp Alarm | Sends message when high or low alarm level exceeded. |
7 | Mixing Tank Filling Alarm | Sends message when it takes too long to fill to the mixing tank. |
8 | Enclosure Door Opened | Sends message when the enclosure door is opened. |
9 | System Rebooted | Sends message when program starts up |
The program works using a basic 1 second counter (in this case maximum count of 300) and the various valves are switched on or off as determined by the configuration setup. Most parameters can be setup and then logged and used to operate the system automatically.
Level switches are used to determine the liquid levels in the tanks and venturis are used to add the various acids.
SMS messages are used to compress and send all the relevant data and VNC can be used to remotely access the display screen and the logged data.
A collection of display screens is shown below:
Typical Data Log:
0.000717592592592593 38005 671 650 180 -259 335 669 669 669 0 1 32 4482
0.00141203703703704 38005 669 650 181 -259 336 669 669 668 0 1 32 4480
0.00210648148148148 38005 673 650 181 -259 335 669 669 668 0 3 32 4488
0.00280092592592593 38005 669 650 186 -259 336 671 669 668 0 7 32 4512
0.00349537037037037 38005 671 650 185 -259 336 671 669 668 0 7 32 4544
0.00418981481481481 38005 671 650 183 -259 335 671 669 668 0 6 32 4481
0.00488425925925926 38005 669 650 181 -258 336 671 669 668 0 6 32 4544
0.0055787037037037 38005 671 650 185 -259 334 671 669 668 0 4 32 4484
0.00627314814814815 38005 669 650 180 -259 336 671 669 668 0 0 32 4496
0.00696759259259259 38005 669 650 186 -259 335 671 669 668 0 0 32 4544
0.00766203703703704 38005 671 650 180 -259 334 671 669 668 0 1 32 4482
0.00835648148148148 38005 671 650 181 -258 335 671 669 668 0 1 32 4544
0.00905092592592593 38005 669 650 181 -259 334 671 670 668 0 3 32 4488
Typical Event Log:
19-Jan-04 08:20:43 "Enclosure Door Opened" 650 672 178 -2587 322 12676 4 193 0
19-Jan-04 08:22:46 "Dilution Conductivity Fault" 650 671 180 -2562 323 12544 0 144 0
19-Jan-04 08:22:58 "Main Pump On" 650 667 180 -2562 323 12544 0 129 0
19-Jan-04 08:23:48 "System Restarted" 650 667 178 -2575 321 12546 1 32897 0
19-Jan-04 08:24:08 "Acid Conductivity Fault" 650 669 177 -2575 321 12546 1 137 0
19-Jan-04 09:23:07 "Dilution Conductivity Fault" 650 667 185 -12 282 12736 2 145 0
19-Jan-04 09:29:51 "Dilution Conductivity Fault" 650 665 186 -2537 279 12736 4 145 0
19-Jan-04 09:44:57 "Dilution Conductivity Fault" 650 665 191 9300 276 12736 3 145 0
19-Jan-04 09:49:11 "pH Alarm" 650 137 192 3775 276 12673 6 133 0
19-Jan-04 10:00:03 "Dilution Conductivity Fault" 650 -20 208 10050 276 12608 6 149 0
19-Jan-04 10:30:38 "Enc Temp Alarm" 650 -20 191 1925 1013 12552 7 165 0
Typical SMS Message:
0829000575, RoBuSST 1: 19-Jan-04 16:23:23 # Acid Conductivity Fault# pH=6.6(6.5|22.6) EC=1016 EncT=29.6 N2 S1 P1 MTFC= 0 EW= 137 DIO=0011:0001:0100:0000"