Changes for page Water Quality Sensors

Last modified by Karry Zhuang on 2025/02/18 15:43

From version 18.1
edited by Karry Zhuang
on 2024/07/18 19:00
Change comment: There is no comment for this version
To version 15.2
edited by Karry Zhuang
on 2024/07/18 18:35
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -37,42 +37,31 @@
37 37  == 1.5 Installation ==
38 38  
39 39  
40 -**Electrode installation form**
40 + Do not power on while connect the cables. Double check the wiring before power on.
41 41  
42 -A:Side wall installation
42 +Installation Photo as reference:
43 43  
44 -B:Top flange installation
44 +**~ Submerged installation:**
45 45  
46 -C:Pipeline bend installation
46 +The lead wire of the equipment passes through the waterproof pipe, and the 3/4 thread on the top of the equipment is connected to the 3/4 thread of the waterproof pipe with raw tape. Ensure that the top of the equipment and the equipment wire are not flooded.
47 47  
48 -D:Pipeline bend installation
48 +[[image:image-20240715181933-4.png||height="281" width="258"]]
49 49  
50 -E:Flow-through installation
50 +**~ Pipeline installation:**
51 51  
52 -F:Submerged installation
52 +Connect the equipment to the pipeline through the 3/4 thread.
53 53  
54 -[[image:image-20240716104537-2.png||height="475" width="706"]]
54 +[[image:image-20240715182122-6.png||height="291" width="408"]]
55 55  
56 -**Several common installation methods of electrodes**
56 +**Sampling:**
57 57  
58 -When installing the sensor on site, you should strictly follow the correct installation method shown in the following picture. Incorrect installation method will cause data deviation.
58 +Take representative water samples according to sampling requirements. If it is inconvenient to take samples, you can also put the electrode into the solution to be tested and read the output data. After a period of time, take out the electrode and clean it.
59 59  
60 -A. Several common incorrect installation methods
60 +**Measure the pH of the water sample:**
61 61  
62 -[[image:image-20240717103452-1.png||height="320" width="610"]]
62 +First rinse the electrode with distilled water, then rinse it with the water sample, then immerse the electrode in the sample, carefully shake the test cup or stir it to accelerate the electrode balance, let it stand, and record the pH value when the reading is stable.
63 63  
64 -Error cause: The electrode joint is too long, the extension part is too short, the sensor is easy to form a dead cavity, resulting in measurement error.
65 -
66 66  
67 -[[image:image-20240716105124-4.png||height="326" width="569"]]
68 -
69 -Error cause: Measurement error or instability may occur due to water flow not being able to fill the pipe or air accumulation at high altitudes.
70 -
71 -B. Correct installation method
72 -
73 -[[image:image-20240716105318-5.png||height="330" width="594"]]
74 -
75 -
76 76  == 1.6 Maintain ==
77 77  
78 78  
... ... @@ -88,6 +88,7 @@
88 88  The equipment should be calibrated before each use. For long-term use, it is recommended to calibrate once every 3 months. The calibration frequency should be adjusted appropriately according to different application conditions (degree of dirt in the application, deposition of chemical substances, etc.). After aging, the electrodes should be replaced in time.
89 89  )))
90 90  
80 +
91 91  == 1.7 RS485 Commands ==
92 92  
93 93  
... ... @@ -95,60 +95,8 @@
95 95  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
96 96  
97 97  
98 -=== 1.7.1 Query address ===
88 +=== 1.7.1 Query data ===
99 99  
100 -send
101 -
102 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
103 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
104 -|(% style="width:99px" %)0XFE |(% style="width:112px" %)0X03|(% style="width:135px" %)0X00|(% style="width:126px" %)0X50|(% style="width:85px" %)0X00|(% style="width:1px" %)0X00|(% style="width:1px" %)0X51|(% style="width:1px" %)0XD4
105 -
106 -If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, which can be used as a method of address query.
107 -
108 -
109 -response
110 -
111 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
112 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)New address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 106px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 93px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 104px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high
113 -|(% style="width:99px" %)0X1|(% style="width:112px" %)0X3|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
114 -
115 -=== 1.7.2 Change address ===
116 -
117 -For example: Change the address of the sensor with address 1 to 2, master → slave
118 -
119 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
120 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
121 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X50|(% style="width:85px" %)0X00|(% style="width:1px" %)0X02|(% style="width:1px" %)0X08|(% style="width:1px" %)0X1A
122 -
123 -If the sensor receives correctly, the data is returned along the original path.
124 -Note: If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, and the return address is still the original address, which can be used as a method of address query.
125 -
126 -
127 -=== 1.7.3 Modify intercept ===
128 -
129 -
130 -send
131 -
132 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
133 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
134 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X23|(% style="width:85px" %)0X00|(% style="width:1px" %)0X01|(% style="width:1px" %)0XFA|(% style="width:1px" %)(((
135 -0X97
136 -)))
137 -
138 -Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command.
139 -
140 -response
141 -
142 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
143 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
144 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)(((
145 -0X02
146 -)))|(% style="width:126px" %)0X00|(% style="width:85px" %)0X00|(% style="width:1px" %)0X0A|(% style="width:1px" %)0X0A|(% style="width:1px" %)(((
147 -0XE5
148 -)))
149 -
150 -=== 1.7.4 Query data ===
151 -
152 152  The address of the EC K10 sensor is 11
153 153  
154 154  The query data command is 11 03 00 00 00 02 C6 9B
... ... @@ -160,10 +160,10 @@
160 160  
161 161  The query data command is 12 03 00 00 00 02 C6 A8
162 162  
163 -For example, the returned data is 12 03 04 (% style="color:red" %)**02 AE**(%%) 01 64 B8 D0. 02 AE is converted to decimal 686,  K=1, EC: 686uS/cm
101 +For example, the returned data is 12 03 04 (% style="color:red" %)**02 AE**(%%) 01 64 B8 D0. 02 AE is converted to decimal 686,  K=1, EC: 686uS/cm.
164 164  
165 165  
166 -=== 1.7.5 Calibration Method ===
104 +=== 1.7.2 Calibration Method ===
167 167  
168 168  
169 169  This device uses one-point calibration, and you need to prepare a known E standard solution. When mileage K=1, 1~~2000 uses 1413μS/cm standard solution, and when mileage K=10, 10~~20000 uses 12.88mS/cm standard solution.
... ... @@ -185,12 +185,13 @@
185 185  
186 186  1413*10 gives 0X00003732
187 187  
188 -response
126 +Return
189 189  
190 190  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
191 191  |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
192 192  |(% style="width:99px" %)0X12|(% style="width:112px" %)0X10|(% style="width:135px" %)0X00|(% style="width:126px" %)0X26|(% style="width:85px" %)0X00|(% style="width:1px" %)0X02|(% style="width:1px" %)0XA2|(% style="width:1px" %)0XA0
193 193  
132 +
194 194  (2) Place the electrode in distilled water to clean it. Use 12.88mS/cm standard solution for the range of 10~~20000. After the data is stable, enter the following calibration command
195 195  
196 196  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
... ... @@ -207,7 +207,7 @@
207 207  
208 208  12880*10 gives 0X01F720
209 209  
210 -response
149 +Return
211 211  
212 212  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
213 213  |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
... ... @@ -214,6 +214,34 @@
214 214  |(% style="width:99px" %)0X11|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X26|(% style="width:85px" %)0X00|(% style="width:1px" %)0X02|(% style="width:1px" %)0XEB|(% style="width:1px" %)0X50
215 215  
216 216  
156 +=== 1.7.3 Query address ===
157 +
158 +
159 +send
160 +
161 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
162 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
163 +|(% style="width:99px" %)0XFE |(% style="width:112px" %)0X03|(% style="width:135px" %)0X00|(% style="width:126px" %)0X50|(% style="width:85px" %)0X00|(% style="width:1px" %)0X00|(% style="width:1px" %)0X51|(% style="width:1px" %)0XD4
164 +
165 +If you forget the original address of the sensor, you can use the broadcast address 0XFE instead. When using 0XFE, the host can only connect to one slave, which can be used as a method of address query.
166 +
167 +
168 +return
169 +
170 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
171 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 1px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high
172 +|(% style="width:99px" %)0X0XFE |(% style="width:112px" %)0X03|(% style="width:135px" %)0X00|(% style="width:126px" %)0X50|(% style="width:85px" %)0X00|(% style="width:1px" %)0X00|(% style="width:1px" %)0X51|(% style="width:1px" %)0XD4
173 +
174 +
175 +
176 +
177 +
178 +
179 +
180 +
181 +
182 +
183 +
217 217  = 2. DR-PH01 Water PH Sensor =
218 218  
219 219  == 2.7 RS485 Commands ==