Changes for page Water Quality Sensors

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

From version 23.1
edited by Karry Zhuang
on 2024/07/18 19:02
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,41 +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-20240718190121-1.png||height="350" width="520"]]
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-20240718190204-2.png||height="262" width="487"]]
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 65  
66 -[[image:image-20240718190221-3.png||height="292" width="500"]]
67 -
68 -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.
69 -
70 -B. Correct installation method
71 -
72 -[[image:image-20240718190249-4.png||height="287" width="515"]]
73 -
74 -
75 75  == 1.6 Maintain ==
76 76  
77 77  
... ... @@ -87,6 +87,7 @@
87 87  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.
88 88  )))
89 89  
80 +
90 90  == 1.7 RS485 Commands ==
91 91  
92 92  
... ... @@ -94,60 +94,8 @@
94 94  Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1
95 95  
96 96  
97 -=== 1.7.1 Query address ===
88 +=== 1.7.1 Query data ===
98 98  
99 -send
100 -
101 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
102 -|=(% 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
103 -|(% 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
104 -
105 -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.
106 -
107 -
108 -response
109 -
110 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %)
111 -|=(% 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
112 -|(% style="width:99px" %)0X1|(% style="width:112px" %)0X3|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0
113 -
114 -=== 1.7.2 Change address ===
115 -
116 -For example: Change the address of the sensor with address 1 to 2, master → slave
117 -
118 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
119 -|=(% 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
120 -|(% 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
121 -
122 -If the sensor receives correctly, the data is returned along the original path.
123 -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.
124 -
125 -
126 -=== 1.7.3 Modify intercept ===
127 -
128 -
129 -send
130 -
131 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
132 -|=(% 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
133 -|(% 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" %)(((
134 -0X97
135 -)))
136 -
137 -Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command.
138 -
139 -response
140 -
141 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
142 -|=(% 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
143 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X06|(% style="width:135px" %)(((
144 -0X02
145 -)))|(% style="width:126px" %)0X00|(% style="width:85px" %)0X00|(% style="width:1px" %)0X0A|(% style="width:1px" %)0X0A|(% style="width:1px" %)(((
146 -0XE5
147 -)))
148 -
149 -=== 1.7.4 Query data ===
150 -
151 151  The address of the EC K10 sensor is 11
152 152  
153 153  The query data command is 11 03 00 00 00 02 C6 9B
... ... @@ -159,10 +159,10 @@
159 159  
160 160  The query data command is 12 03 00 00 00 02 C6 A8
161 161  
162 -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.
163 163  
164 164  
165 -=== 1.7.5 Calibration Method ===
104 +=== 1.7.2 Calibration Method ===
166 166  
167 167  
168 168  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.
... ... @@ -184,12 +184,13 @@
184 184  
185 185  1413*10 gives 0X00003732
186 186  
187 -response
126 +Return
188 188  
189 189  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
190 190  |=(% 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
191 191  |(% 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
192 192  
132 +
193 193  (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
194 194  
195 195  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
... ... @@ -206,12 +206,41 @@
206 206  
207 207  12880*10 gives 0X01F720
208 208  
209 -response
149 +Return
210 210  
211 211  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %)
212 212  |=(% 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
213 213  |(% 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
214 214  
155 +
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 +
215 215  = 2. DR-PH01 Water PH Sensor =
216 216  
217 217  == 2.7 RS485 Commands ==
... ... @@ -267,3 +267,4 @@
267 267  
268 268  02 9A is the turbidity value, converted to decimal, it is 666, and then divided by 10, the actual value is 66.6, 02 9A means the current turbidity value is 66.6 NTU
269 269  
239 +
image-20240718190121-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.karry
Size
... ... @@ -1,1 +1,0 @@
1 -281.1 KB
Content
image-20240718190204-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.karry
Size
... ... @@ -1,1 +1,0 @@
1 -111.8 KB
Content
image-20240718190221-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.karry
Size
... ... @@ -1,1 +1,0 @@
1 -140.2 KB
Content
image-20240718190249-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.karry
Size
... ... @@ -1,1 +1,0 @@
1 -111.6 KB
Content