Changes for page Water Quality Sensors
Last modified by Karry Zhuang on 2025/02/18 15:43
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -11,25 +11,17 @@ 11 11 12 12 13 13 * **Power Input**: DC7~~30 14 - 15 15 * **Power Consumption** : < 0.5W 16 - 17 17 * **Interface**: RS485. 9600 Baud Rate 18 - 19 19 * **EC Range & Resolution:** 20 20 ** **ECK0.01** : 0.02 ~~ 20 μS/cm 21 21 ** **ECK0.1**: 0.2 ~~ 200.0 μS/cm 22 22 ** **ECK1.0** : 2 ~~ 2,000 μS/cm Resolution: 1 μS/cm 23 23 ** **ECK10.0** : 20 ~~ 20,000 μS/cm Resolution: 10 μS/cm 24 - 25 25 * **EC Accuracy**: ±1% FS 26 - 27 27 * **Temperature Measure Range**: -20 ~~ 60 °C 28 - 29 29 * **Temperature Accuracy: **±0.5 °C 30 - 31 31 * **IP Rated**: IP68 32 - 33 33 * **Max Pressure**: 0.6MPa 34 34 35 35 == 1.2 Application for Different Range == ... ... @@ -92,11 +92,8 @@ 92 92 93 93 94 94 * The equipment itself generally does not require daily maintenance. When an obvious fault occurs, please do not open it and repair it yourself, and contact us as soon as possible. 95 - 96 96 * If the electrode is not used for a long time, it can generally be stored in a dry place, but it must be placed (stored) in distilled water for several hours before use to activate the electrode. Electrodes that are frequently used can be placed (stored) in distilled water. 97 - 98 98 * Cleaning of conductivity electrodes: Organic stains on the electrode can be cleaned with warm water containing detergent, or with alcohol. Calcium and magnesium precipitates are best cleaned with 10% citric acid. The electrode plate or pole can only be cleaned by chemical methods or by shaking in water. Wiping the electrode plate will damage the coating (platinum black) on the electrode surface. 99 - 100 100 * The equipment should be calibrated before each use. It is recommended to calibrate it every 3 months for long-term use. The calibration frequency should be adjusted appropriately according to different application conditions (degree of dirt in the application, deposition of chemical substances, etc.). 101 101 102 102 == 1.7 RS485 Commands == ... ... @@ -207,8 +207,7 @@ 207 207 208 208 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. 209 209 210 -(% style="color:blue" %)**The calibration steps are as follows:** 211 - 199 +**The calibration steps are as follows:** 212 212 (1) Place the electrode in distilled water and clean it. When mileage 1~~2000 uses 1413μS/cm standard solution, enter the following calibration command after the data is stable. 213 213 214 214 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) ... ... @@ -253,27 +253,16 @@ 253 253 254 254 255 255 * **Power Input**: DC7~~30 256 - 257 257 * **Power Consumption** : < 0.5W 258 - 259 259 * **Interface**: RS485. 9600 Baud Rate 260 - 261 261 * **pH measurement range**: 0~~14.00pH; resolution: 0.01pH 262 - 263 -* **pH measurement error**: ±0.15pH 264 - 265 -* **Repeatability error**: ±0.02pH 266 - 267 -* **Temperature measurement range**:0~~60°C; resolution: 0.1°C (set temperature for manual temperature compensation, default 25°C) 268 - 269 -* **Temperature measurement error**: ±0.5°C 270 - 247 +* **pH measurement error**:±0.15pH 248 +* **Repeatability error**:±0.02pH 249 +* **Temperature measurement range**:0~~60℃; resolution: 0.1℃ (set temperature for manual temperature compensation, default 25℃) 250 +* **Temperature measurement error**: ±0.5℃ 271 271 * **Temperature Measure Range**: -20 ~~ 60 °C 272 - 273 273 * **Temperature Accuracy: **±0.5 °C 274 - 275 275 * **IP Rated**: IP68 276 - 277 277 * **Max Pressure**: 0.6MPa 278 278 279 279 == 2.2 Wiring == ... ... @@ -282,7 +282,7 @@ 282 282 [[image:image-20240720172548-2.png||height="348" width="571"]] 283 283 284 284 285 -== 2.3 Mechinical Drawing == 262 +== (% style="color:inherit; font-family:inherit" %)2.3 (% style="color:inherit; font-family:inherit; font-size:26px" %)Mechinical Drawing(%%) == 286 286 287 287 288 288 [[image:image-20240714174241-2.png]] ... ... @@ -320,23 +320,17 @@ 320 320 321 321 322 322 * The equipment itself generally does not require daily maintenance. When an obvious fault occurs, please do not open it and repair it yourself. Contact us as soon as possible! 323 - 324 324 * There is an appropriate amount of soaking solution in the protective bottle at the front end of the electrode. The electrode head is soaked in it to keep the glass bulb and the liquid junction activated. When measuring, loosen the bottle cap, pull out the electrode, and rinse it with pure water before use. 325 - 326 326 * Preparation of electrode soaking solution: Take a packet of PH4.00 buffer, dissolve it in 250 ml of pure water, and soak it in 3M potassium chloride solution. The preparation is as follows: Take 25 grams of analytical pure potassium chloride and dissolve it in 100 ml of pure water. 327 - 328 328 * The glass bulb at the front end of the electrode cannot come into contact with hard objects. Any damage and scratches will make the electrode ineffective. 329 - 330 330 * Before measurement, the bubbles in the electrode glass bulb should be shaken off, otherwise it will affect the measurement. When measuring, the electrode should be stirred in the measured solution and then placed still to accelerate the response. 331 - 332 332 * The electrode should be cleaned with deionized water before and after measurement to ensure accuracy. 333 - 334 334 * After long-term use, the pH electrode will become passivated, which is characterized by a decrease in sensitivity gradient, slow response, and inaccurate readings. At this time, the bulb at the bottom of the electrode can be soaked in 0.1M dilute hydrochloric acid for 24 hours (0.1M dilute hydrochloric acid preparation: 9 ml of hydrochloric acid is diluted to 1000 ml with distilled water), and then soaked in 3.3M potassium chloride solution for 24 hours. If the pH electrode is seriously passivated and soaking in 0.1M hydrochloric acid has no effect, the pH electrode bulb can be soaked in 4% HF (hydrofluoric acid) for 3-5 seconds, washed with pure water, and then soaked in 3.3M potassium chloride solution for 24 hours to restore its performance. 335 - 336 336 * Glass bulb contamination or liquid junction blockage can also cause electrode passivation. At this time, it should be cleaned with an appropriate solution according to the nature of the contaminant. 307 +* ((( 308 +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. 309 +))) 337 337 338 -* 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. 339 - 340 340 == 2.6 RS485 Commands == 341 341 342 342 ... ... @@ -407,8 +407,8 @@ 407 407 408 408 If the sensor receives correctly, the following data will be returned, slave → host 409 409 410 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; 411 -|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high381 +(% border="1" cellspacing="3" style="background-color:#f2f2f2;width:518px" %) 382 +|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 89px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 89px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 89px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 89px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 89px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 89px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 412 412 |(% style="width:99px" %)0X10|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X02|(% style="width:72px" %)0XAE|(% style="width:56px" %)0XC4|(% style="width:56px" %)0X9B 413 413 414 414 The query data command is 10 03 00 00 00 01 87 4B. After the query, 7 bytes will be returned. ... ... @@ -422,13 +422,11 @@ 422 422 423 423 424 424 This device uses three-point calibration, and three known pH standard solutions need to be prepared. 425 - 426 -(% style="color:blue" %)**The calibration steps are as follows:** 427 - 396 +**The calibration steps are as follows:** 428 428 (1) Place the electrode in distilled water to clean it, and then place it in 9.18 standard buffer solution. After the data stabilizes, enter the following calibration command, and the 9.18 calibration is completed. 429 429 430 430 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 431 -|=(% style="width: 6 1px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high400 +|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 432 432 |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 433 433 0X00 434 434 )))|(% style="width:68px" %)0X20|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X8A|(% style="width:55px" %)((( ... ... @@ -438,7 +438,7 @@ 438 438 (2) Wash the electrode in distilled water and place it in 6.86 standard buffer. After the data stabilizes, enter the following calibration command. The 6.86 calibration is completed. 439 439 440 440 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 441 -|=(% style="width: 6 1px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high410 +|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 442 442 |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 443 443 0X00 444 444 )))|(% style="width:68px" %)0X21|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0XDB|(% style="width:55px" %)((( ... ... @@ -448,7 +448,7 @@ 448 448 (3) Wash the electrode in distilled water and place it in 4.01 standard buffer. After the data stabilizes, enter the following calibration command, and the 4.00 calibration is completed. 449 449 450 450 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 451 -|=(% style="width: 6 1px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high420 +|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 452 452 |(% style="width:64px" %)0X10|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 453 453 0X00 454 454 )))|(% style="width:68px" %)0X22|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X2B|(% style="width:55px" %)((( ... ... @@ -462,53 +462,38 @@ 462 462 463 463 == 3.1 Specification == 464 464 465 - 466 466 * **Power Input**: DC7~~30 467 - 468 468 * **Measuring range**:** **-1999~~1999mV 469 - 470 -* **Resolution**: 1mV 471 - 436 +**Resolution**: 1mV 472 472 * **Interface**: RS485. 9600 Baud Rate 473 - 474 474 * **Measurement error**: ±3mV 475 - 476 476 * **Stability**: ≤2mv/24 hours 477 - 478 -* **Equipment working conditions**: Ambient temperature: 0-60°C Relative humidity: <85%RH 479 - 440 +* **Equipment working conditions**: Ambient temperature: 0-60℃ Relative humidity: <85%RH 480 480 * **IP Rated**: IP68 481 - 482 482 * **Max Pressure**: 0.6MPa 483 483 484 - 485 - 486 486 == 3.2 Wiring == 487 487 488 - 489 489 [[image:image-20240720172620-3.png||height="378" width="620"]] 490 490 491 491 492 492 == 3.3 Mechinical Drawing == 493 493 494 - 495 495 [[image:image-20240714174241-2.png]] 496 496 497 - 498 498 == 3.4 Installation Notice == 499 499 500 - 501 501 Do not power on while connect the cables. Double check the wiring before power on. 502 502 503 - **Installation Photo as reference:**457 +Installation Photo as reference: 504 504 505 - (% style="color:blue" %)** Submerged installation:**459 +**~ Submerged installation:** 506 506 507 507 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. 508 508 509 509 [[image:image-20240718191348-6.png]] 510 510 511 - (% style="color:blue" %)** Pipeline installation:**465 +**~ Pipeline installation:** 512 512 513 513 Connect the equipment to the pipeline through the 3/4 thread. 514 514 ... ... @@ -536,7 +536,6 @@ 536 536 537 537 (9) The equipment should be calibrated before each use. It is recommended to calibrate once every 3 months for long-term use. 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. 538 538 539 - 540 540 == 3.6 RS485 Commands == 541 541 542 542 ... ... @@ -543,45 +543,38 @@ 543 543 RS485 signaldefault address 0x13 544 544 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 545 545 546 - 547 547 === 3.6.1 Query address === 548 548 501 +send 549 549 550 -**send:** 551 - 552 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 553 -|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address high|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Address low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)CRC16 high 503 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 504 +|=(% 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 554 554 |(% 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 555 555 507 +response 556 556 557 -**response:** 558 - 559 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 560 -|=(% style="width: 103.6px;background-color:#4F81BD;color:white" %)New address|=(% style="width: 103.6px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 103.6px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 509 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %) 510 +|=(% 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 561 561 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 562 562 563 - 564 564 === 3.6.2 Change address === 565 565 566 - 567 567 For example: Change the address of the sensor with address 1 to 2, master → slave 568 568 569 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)570 -|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)Function code|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)Address high|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)Address low|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width:64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width:64.75px;background-color:#4F81BD;color:white" %)CRC16 high517 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 518 +|=(% 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 571 571 |(% 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 572 572 573 573 If the sensor receives correctly, the data is returned along the original path. 522 +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. 574 574 575 -(% style="color:red" %)**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.** 576 576 577 - 578 578 === 3.6.3 Modify intercept === 579 579 527 +send 580 580 581 -**send:** 582 - 583 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 584 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 68px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register Length high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register Length low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 68px;background-color:#4F81BD;color:white" %)CRC16 high 529 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 530 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 67px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 69px; background-color: rgb(79, 129, 189); color: white;" %)Register Length high|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Register Length low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 50px;background-color:#4F81BD;color:white" %)CRC16 high 585 585 |(% style="width:99px" %)0X13|(% style="width:112px" %)0X06|(% style="width:135px" %)0X00|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)((( 586 586 0X96 587 587 ))) ... ... @@ -588,10 +588,10 @@ 588 588 589 589 Change the intercept of the sensor with address 1 to 10 (default 0), which is 0X000A in the command. 590 590 591 - **response:**537 +response 592 592 593 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)594 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width:68px;background-color:#4F81BD;color:white" %)Function code|=(% style="width:68px;background-color:#4F81BD;color:white" %)Address high|=(% style="width:68px;background-color:#4F81BD;color:white" %)Address low|=(% style="width:68px;background-color:#4F81BD;color:white" %)Quantity high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width:68px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width:68px;background-color:#4F81BD;color:white" %)CRC16 high539 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 540 +|=(% 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 595 595 |(% style="width:99px" %)0X13|(% style="width:112px" %)0X06|(% style="width:135px" %)((( 596 596 0X00 597 597 )))|(% style="width:126px" %)0X10|(% style="width:85px" %)0X00|(% style="width:1px" %)0X64|(% style="width:1px" %)0X8A|(% style="width:1px" %)((( ... ... @@ -598,20 +598,19 @@ 598 598 0X96 599 599 ))) 600 600 601 - 602 602 === 3.6.4 Query data === 603 603 604 604 605 605 Query the data (ORP) of the sensor (address 13), host → slave 606 606 607 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)608 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high552 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 553 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 609 609 |(% style="width:99px" %)0X13|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X00|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0X87|(% style="width:56px" %)0X78 610 610 611 611 If the sensor receives correctly, the following data will be returned, slave → host 612 612 613 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)614 -|=(% style="width: 44px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 79px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:79px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high558 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 559 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 615 615 |(% style="width:99px" %)0X13|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X02|(% style="width:72px" %)0XAE|(% style="width:56px" %)0X80|(% style="width:56px" %)0X9B 616 616 617 617 The query data command is 13 03 00 00 00 01 87 78 ... ... @@ -623,13 +623,12 @@ 623 623 624 624 === 3.6.5 Calibration Method === 625 625 626 - 627 627 This device uses two-point calibration, and two known ORP standard solutions need to be prepared. The calibration steps are as follows: 628 628 (1) Place the electrode in distilled water to clean it, and then place it in 86mV standard buffer solution. After the data stabilizes, 629 629 enter the following calibration command, and the 86mV point calibration is completed; 630 630 631 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)632 -|=(% style="width: 4 2px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high575 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %) 576 +|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 633 633 |(% style="width:64px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 634 634 0X00 635 635 )))|(% style="width:68px" %)0X24|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0XCB|(% style="width:55px" %)((( ... ... @@ -638,48 +638,37 @@ 638 638 639 639 Wash the electrode in distilled water and place it in 256mV standard buffer. After the data is stable, enter the following calibration command to complete the 256mV point calibration. 640 640 641 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)642 -|=(% style="width: 4 2px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high643 -|(% style="width:6 8px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)(((585 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:575.333px" %) 586 +|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 66px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 55px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 587 +|(% style="width:64px" %)0X13|(% style="width:72px" %)0X06|(% style="width:66px" %)((( 644 644 0X00 645 645 )))|(% style="width:68px" %)0X25|(% style="width:72px" %)0XFF|(% style="width:70px" %)0XFF|(% style="width:55px" %)0X9A|(% style="width:55px" %)((( 646 646 0XC3 647 647 ))) 648 648 593 += 4. DR-DO1 Dissolved Oxygen Sensor = 649 649 650 650 651 651 652 -= 4. DR-DO1 Dissolved Oxygen Sensor = 653 - 654 654 == 4.1 Specification == 655 655 656 656 657 -* **Measuring range**: 0-20mg/L, 0-50°C 658 - 659 -* **Accuracy**: 3%, ±0.5°C 660 - 661 -* **Resolution**: 0.01 mg/L, 0.01°C 662 - 600 +* **Measuring range**: 0-20mg/L, 0-50℃ 601 +* **Accuracy**: 3%, ±0.5℃ 602 +* **Resolution**: 0.01 mg/L, 0.01℃ 663 663 * **Maximum operating pressure**: 6 bar 664 - 665 665 * **Output signal**: A: 4-20mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 666 - 667 667 * **Power supply voltage**: 5-24V DC 668 - 669 -* **Working environment**: temperature 0-60°C; humidity <95%RH 670 - 606 +* **Working environment**: temperature 0-60℃; humidity <95%RH 671 671 * **Power consumption**: ≤0.5W 672 672 673 - 674 674 == 4.2 wiring == 675 675 676 - 677 677 [[image:image-20240720172632-4.png||height="390" width="640"]] 678 678 679 679 680 -== 4.3 Impedance requirements for current signals == 614 +== (% id="cke_bm_224234S" style="display:none" %) (%%)4.3 Impedance requirements for current signals == 681 681 682 - 683 683 [[image:image-20240718195414-8.png||height="100" width="575"]] 684 684 685 685 ... ... @@ -691,71 +691,60 @@ 691 691 692 692 == 4.5 Instructions for use and maintenance == 693 693 694 - 695 695 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 696 - 697 697 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 698 698 699 - 700 700 == 4.6 RS485 Commands == 701 701 702 - 703 703 RS485 signaldefault address 0x14 704 704 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 705 705 706 - 707 707 === 4.6.1 Query address === 708 708 637 +send 709 709 710 -**send:** 711 - 712 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 713 -|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 639 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 640 +|=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 714 714 |(% style="width:99px" %)0XFF|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X0A|(% style="width:70px" %)0X00|(% style="width:72px" %)0X02|(% style="width:56px" %)0XF1|(% style="width:56px" %)0XD7 715 715 716 - 717 717 If you forget the original address of the sensor, you can use the broadcast address 0XFF instead. When using 0XFE, the host can only connect to one slave, which can be used as a method of address query. 718 718 719 719 720 - **response:**646 +response 721 721 722 722 Register 0 data high and register 0 data low indicate the actual address of the sensor: 1 723 723 Register 1 data high and register 1 data low indicate the sensor version 724 724 725 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)651 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 726 726 |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 727 727 |(% style="width:99px" %)0XFF|(% style="width:72px" %)0X03|(% style="width:64px" %)0X04|(% style="width:68px" %)0X00|(% style="width:70px" %)0X01|(% style="width:72px" %)0X00|(% style="width:56px" %)0X00|(% style="width:56px" %)0XB4|(% style="width:56px" %)0X3C 728 728 729 - 730 730 === 4.6.2 Change address === 731 731 732 - 733 733 For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave 734 734 735 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width: 518px" %)659 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:907.333px" %) 736 736 |=(% style="width: 67px; background-color: rgb(79, 129, 189); color: white;" %)Original address|=(% style="width: 71px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 65px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 65px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Start address high|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Start address low|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low 737 737 |(% style="width:67px" %)0X01|(% style="width:71px" %)0X10|(% style="width:65px" %)0X00|(% style="width:65px" %)0X0A|(% style="width:70px" %)0X00|(% style="width:72px" %)0X02|(% style="width:53px" %)0X04|(% style="width:53px" %)0X00|(% style="width:72px" %)0X02|(% style="width:53px" %)0X00|(% style="width:53px" %)0X00|(% style="width:56px" %)0XD2|(% style="width:53px" %)0X10 738 738 739 - **response:**663 +response 740 740 741 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)665 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 742 742 |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 743 743 |(% style="width:99px" %)0X01|(% style="width:72px" %)0X10|(% style="width:64px" %)0X00|(% style="width:68px" %)0X0A|(% style="width:70px" %)0X00|(% style="width:72px" %)0X02|(% style="width:56px" %)0X61|(% style="width:56px" %)0XCA 744 744 745 - 746 746 === 4.6.3 Query data === 747 747 748 748 749 749 Query the data (dissolved oxygen) of the sensor (address 14), host → slave 750 750 751 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)674 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 752 752 |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 753 753 |(% style="width:99px" %)0X14|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X14|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0XC6|(% style="width:56px" %)0XCB 754 754 755 - 756 756 If the sensor receives correctly, the following data will be returned, slave → host 757 757 758 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)680 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 759 759 |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 760 760 |(% style="width:99px" %)0X14|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X03|(% style="width:72px" %)0X78|(% style="width:56px" %)0XB5|(% style="width:56px" %)0X55 761 761 ... ... @@ -766,71 +766,56 @@ 766 766 767 767 Query the data (temperature) of the sensor (address 14), host → slave 768 768 769 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)691 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 770 770 |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 771 771 |(% style="width:99px" %)0X14|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X11|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0XD6|(% style="width:56px" %)0XCA 772 772 773 - 774 774 If the sensor receives correctly, the following data will be returned, slave → host 775 775 776 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)697 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 777 777 |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 778 778 |(% style="width:99px" %)0X14|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X09|(% style="width:72px" %)0XA4|(% style="width:56px" %)0XB2|(% style="width:56px" %)0X6C 779 779 780 - 781 781 After the query, 7 bytes will be returned. For example, the returned data is 14 03 02 (% style="color:red" %)**09 A4**(%%) B2 6C. 03 78 is the value of dissolved oxygen temperature. 782 782 783 -Converted to decimal, it is 2468. Add two decimal places to get the actual value. 09 A4 means the current dissolved oxygen temperature is 24.68 °C703 +Converted to decimal, it is 2468. Add two decimal places to get the actual value. 09 A4 means the current dissolved oxygen temperature is 24.68℃ 784 784 785 785 786 786 = 5. DR-TS1 Water Turbidity Sensor = 787 787 788 -== 5.1 Specification == 789 789 790 790 791 - ***Measuring range**:0.1~1000.0NTU710 +== (% id="cke_bm_81470S" style="display:none" %) (%%)5.1 Specification == 792 792 712 +* **Measuring range**: 0.1~1000.0NTU 793 793 * **Accuracy**: ±5% 794 - 795 795 * **Resolution**: 0.1NTU 796 - 797 797 * **Stability**: ≤3mV/24 hours 716 +* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 717 +* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA) 718 +* **Working environment**: temperature 0~60℃; humidity ≤95%RH 719 +* **Power consumption**: ≤0.5W 798 798 799 -* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 800 - 801 -* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA) 802 - 803 -* **Working environment**: temperature 0~60°C; humidity ≤ 95%RH 804 - 805 -* **Power consumption**: ≤ 0.5W 806 - 807 - 808 808 == 5.2 wiring == 809 809 810 - 811 811 [[image:image-20240720172640-5.png||height="387" width="635"]] 812 812 813 813 814 814 == 5.3 Impedance requirements for current signals == 815 815 816 - 817 817 [[image:image-20240718195414-8.png||height="100" width="575"]] 818 818 819 819 820 820 == 5.4 Mechinical Drawing == 821 821 822 - 823 823 [[image:image-20240718195058-7.png||height="305" width="593"]] 824 824 825 825 826 826 == 5.5 Instructions for use and maintenance == 827 827 828 - 829 829 * It can be directly put into water without adding a protective tube, ensuring the long-term stability, reliability and accuracy of the sensor. 830 - 831 831 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 832 832 833 - 834 834 == 5.6 RS485 Commands == 835 835 836 836 ... ... @@ -837,13 +837,11 @@ 837 837 RS485 signaldefault address 0x15 838 838 Standard Modbus-RTU protocol, baud rate: 9600; check bit: none; data bit: 8; stop bit: 1 839 839 840 - 841 841 === 5.6.1 Query address === 842 842 749 +send 843 843 844 -**send:** 845 - 846 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 751 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 847 847 |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 848 848 |(% style="width:99px" %)0XFE |(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X50|(% style="width:70px" %)0X00|(% style="width:72px" %)0X00|(% style="width:56px" %)0X51|(% style="width:56px" %)0XD4 849 849 ... ... @@ -850,43 +850,38 @@ 850 850 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. 851 851 852 852 853 - **response:**758 +response 854 854 855 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:51 8px" %)760 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:561.333px" %) 856 856 |=(% 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 857 857 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 858 858 859 - 860 860 === 5.6.2 Change address === 861 861 862 862 For example: Change the address of the sensor with address 1 to 2, master → slave 863 863 864 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)768 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:676.25px" %) 865 865 |=(% 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 866 866 |(% 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 867 867 868 - 869 869 If the sensor receives correctly, the data is returned along the original path. 773 +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. 870 870 871 -(% style="color:red" %)**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.** 872 - 873 873 === 5.6.3 Query data === 874 874 875 875 876 876 Query the data (turbidity) of the sensor (address 15), host → slave 877 877 878 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)780 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 879 879 |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 880 880 |(% style="width:99px" %)0X15|(% style="width:72px" %)0X03|(% style="width:64px" %)0X00|(% style="width:68px" %)0X00|(% style="width:70px" %)0X00|(% style="width:72px" %)0X01|(% style="width:56px" %)0X87|(% style="width:56px" %)0X1E 881 881 882 - 883 883 If the sensor receives correctly, the following data will be returned, slave → host 884 884 885 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:5 18px" %)786 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:599.333px" %) 886 886 |=(% style="width: 50px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 72px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 68px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width: 70px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 56px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high 887 887 |(% style="width:99px" %)0X15|(% style="width:72px" %)0X03|(% style="width:68px" %)0X02|(% style="width:70px" %)0X02|(% style="width:72px" %)0X9A|(% style="width:56px" %)0X09|(% style="width:56px" %)0X4C 888 888 889 - 890 890 The query data command is 15 03 00 00 00 01 87 1E 891 891 892 892 For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C