Changes for page Water Quality Sensors
Last modified by Karry Zhuang on 2025/07/18 16:37
From version 61.7
edited by Karry Zhuang
on 2025/07/15 15:57
on 2025/07/15 15:57
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 2 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. karry1 +XWiki.Xiaoling - Content
-
... ... @@ -19,16 +19,15 @@ 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 -** **ECK1.0** : 0 ~~ 2,000 μS/cm Resolution: 1 μS/cm 23 -** **ECK10.0** : 10 ~~ 20,000 μS/cm Resolution: 10 μS/cm 24 -** **ECK200.0** : 1 ~~ 200,000 μS/cm Resolution: 1 μS/cm 22 +** **ECK1.0** : 2 ~~ 2,000 μS/cm Resolution: 1 μS/cm 23 +** **ECK10.0** : 20 ~~ 20,000 μS/cm Resolution: 10 μS/cm 25 25 26 26 * **EC Accuracy**: ±1% FS 26 + 27 +* **Temperature Measure Range**: -20 ~~ 60 °C 28 + 27 27 * **Temperature Accuracy: **±0.5 °C 28 -* **Working environment:** 29 -** Ambient Temperature: 0–60°C 30 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 31 -** ECK200.0 Continuous monitoring of cross-section water quality, aquaculture, sewage treatment, environmental protection, pharmaceuticals, food, tap water, seawater and other high conductivity environments 30 + 32 32 * **IP Rated**: IP68 33 33 34 34 * **Max Pressure**: 0.6MPa ... ... @@ -42,17 +42,15 @@ 42 42 == 1.3 Wiring == 43 43 44 44 45 -[[image:image-2024 1129142314-1.png||height="352" width="1108"]]44 +[[image:image-20240720172533-1.png||height="347" width="569"]] 46 46 47 47 48 48 == 1.4 Mechinical Drawing == 49 49 50 - ECK1 and ECK10 ECK200 51 51 50 +[[image:image-20240714174241-2.png]] 52 52 53 -[[image:image-20240714174241-2.png]] [[image:1752564223905-283.png||height="399" width="160"]] 54 54 55 - 56 56 == 1.5 Installation == 57 57 58 58 ... ... @@ -127,8 +127,6 @@ 127 127 |=(% style="width: 100px;background-color:#4F81BD;color:white" %)New address|=(% style="width: 110px;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 128 128 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 129 129 130 - 131 - 132 132 === 1.7.2 Change address === 133 133 134 134 ... ... @@ -207,11 +207,8 @@ 207 207 **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,temperature: 35.6℃ Convert the returned data to decimal and divide by 10. 208 208 209 209 210 -ECK200 211 - 212 212 === 1.7.5 Calibration Method === 213 213 214 -ECK1 and ECK10.0 215 215 216 216 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. 217 217 ... ... @@ -255,26 +255,6 @@ 255 255 |=(% 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 high 256 256 |(% 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 257 257 258 - 259 - 260 -ECK200.0 261 - 262 -For the device with address 01, use 1413uS/cm standard solution to calibrate the first point. Send frame: 1413. Convert hexadecimal to 585. Write 0001, 00 00, 0585 to 0x0120, 0x0121, 0x0122 respectively. 263 - 264 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 265 -|=(% style="width: 42px;background-color:#4F81BD;color:white" %)Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Function code|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register Address|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Register length|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Data length|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Register contents|=(% style="width: 53px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width: 53px;background-color:#4F81BD;color:white" %)Data|=(% style="width: 53px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 53px;background-color:#4F81BD;color:white" %)CRC16 high 266 -|(% style="width:99px" %)0X01|(% style="width:112px" %)0X10|(% style="width:135px" %)0X01 0X02|(% style="width:126px" %)0X00 0X03|(% style="width:85px" %)0X06|(% style="width:1px" %)0X00 267 -0X01 268 -0X 269 -0X32|(% style="width:1px" %)0X04|(% style="width:1px" %)((( 270 -0X00 271 -0X00 272 -0X37 273 -0X32 274 -)))|(% style="width:1px" %)0XBD|(% style="width:1px" %)0XFC 275 - 276 - 277 - 278 278 = 2. DR-PH01 Water PH Sensor = 279 279 280 280 == 2.1 Specification == ... ... @@ -296,9 +296,7 @@ 296 296 297 297 * **Temperature measurement error**: ±0.5°C 298 298 299 -* **Working environment:** 300 -** Ambient Temperature: 0–60°C 301 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 271 +* **Temperature Measure Range**: -20 ~~ 60 °C 302 302 303 303 * **Temperature Accuracy: **±0.5 °C 304 304 ... ... @@ -505,14 +505,14 @@ 505 505 506 506 * **Stability**: ≤2mv/24 hours 507 507 508 -* **Working environment:** 509 -** Ambient Temperature: 0–60°C 510 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 478 +* **Equipment working conditions**: Ambient temperature: 0-60°C Relative humidity: <85%RH 511 511 512 512 * **IP Rated**: IP68 513 513 514 514 * **Max Pressure**: 0.6MPa 515 515 484 + 485 + 516 516 == 3.2 Wiring == 517 517 518 518 ... ... @@ -583,6 +583,7 @@ 583 583 |=(% 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 584 584 |(% 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 585 585 556 + 586 586 **response:** 587 587 588 588 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) ... ... @@ -589,6 +589,7 @@ 589 589 |=(% 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 590 590 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 591 591 563 + 592 592 === 3.6.2 Change address === 593 593 594 594 ... ... @@ -626,6 +626,7 @@ 626 626 0X96 627 627 ))) 628 628 601 + 629 629 === 3.6.4 Query data === 630 630 631 631 ... ... @@ -673,16 +673,19 @@ 673 673 0XC3 674 674 ))) 675 675 649 + 650 + 651 + 676 676 = 4. DR-DO1 Dissolved Oxygen Sensor = 677 677 678 678 == 4.1 Specification == 679 679 680 680 681 -* **Measuring range**: 0-20mg/L, 0 –50℃657 +* **Measuring range**: 0-20mg/L, 0-50°C 682 682 683 -* **Accuracy**: 3%, ±0.5 ℃659 +* **Accuracy**: 3%, ±0.5°C 684 684 685 -* **Resolution**: 0.01 mg/L, 0.01 ℃661 +* **Resolution**: 0.01 mg/L, 0.01°C 686 686 687 687 * **Maximum operating pressure**: 6 bar 688 688 ... ... @@ -690,12 +690,11 @@ 690 690 691 691 * **Power supply voltage**: 5-24V DC 692 692 693 -* **Working environment:** 694 -** Ambient Temperature: 0–60°C 695 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 669 +* **Working environment**: temperature 0-60°C; humidity <95%RH 696 696 697 697 * **Power consumption**: ≤0.5W 698 698 673 + 699 699 == 4.2 wiring == 700 700 701 701 ... ... @@ -705,10 +705,9 @@ 705 705 == 4.3 Impedance requirements for current signals == 706 706 707 707 708 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %) 709 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V** 710 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω** 683 +[[image:image-20240718195414-8.png||height="100" width="575"]] 711 711 685 + 712 712 == 4.4 Mechinical Drawing == 713 713 714 714 ... ... @@ -722,6 +722,7 @@ 722 722 723 723 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 724 724 699 + 725 725 == 4.6 RS485 Commands == 726 726 727 727 ... ... @@ -735,9 +735,10 @@ 735 735 **send:** 736 736 737 737 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 738 -|=(% style="width: 64.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register address high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register address low|=(% style="width:64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:64.75px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width:64.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width:64.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high713 +|=(% 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 739 739 |(% 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 740 740 716 + 741 741 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. 742 742 743 743 ... ... @@ -747,9 +747,10 @@ 747 747 Register 1 data high and register 1 data low indicate the sensor version 748 748 749 749 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 750 -|=(% style="width: 40px;background-color:#4F81BD;color:white" %)Address|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data high|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 0 Data low|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data high|=(% style="width:59.75px; background-color: rgb(79, 129, 189); color: white;" %)Register 1 Data low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 59.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high726 +|=(% 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 751 751 |(% 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 752 752 729 + 753 753 === 4.6.2 Change address === 754 754 755 755 ... ... @@ -756,15 +756,16 @@ 756 756 For example: Change the address of the sensor with address 1 to 2(address range: 1-119), master → slave 757 757 758 758 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 759 -|=(% style="width: 40px; background-color: rgb(79, 129, 189); color: white;" %)Original address|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address high|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Starting register address low|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Register length high|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Register length low|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Data length|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Start address high|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Start address low|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width:40px; background-color: rgb(79, 129, 189); color: white;" %)Sensor version|=(% style="width:39px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high|=(% style="width:39px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low736 +|=(% 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 760 760 |(% 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 761 761 762 762 **response:** 763 763 764 764 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 765 -|=(% 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 high742 +|=(% 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 766 766 |(% 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 767 767 745 + 768 768 === 4.6.3 Query data === 769 769 770 770 ... ... @@ -771,13 +771,14 @@ 771 771 Query the data (dissolved oxygen) of the sensor (address 14), host → slave 772 772 773 773 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 774 -|=(% 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 high752 +|=(% 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 775 775 |(% 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 776 776 755 + 777 777 If the sensor receives correctly, the following data will be returned, slave → host 778 778 779 779 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 780 -|=(% 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 high759 +|=(% 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 781 781 |(% 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 782 782 783 783 After the query, 7 bytes will be returned. For example, the returned data is 14 03 02 (% style="color:red" %)**03 78**(%%) B5 55. 03 78 is the value of dissolved oxygen. ... ... @@ -788,15 +788,17 @@ 788 788 Query the data (temperature) of the sensor (address 14), host → slave 789 789 790 790 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 791 -|=(% 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 high770 +|=(% 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 792 792 |(% 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 793 793 773 + 794 794 If the sensor receives correctly, the following data will be returned, slave → host 795 795 796 796 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 797 -|=(% 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 high777 +|=(% 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 798 798 |(% 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 799 799 780 + 800 800 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. 801 801 802 802 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°C ... ... @@ -807,7 +807,7 @@ 807 807 == 5.1 Specification == 808 808 809 809 810 -* **Measuring range**: 0.1~ ~1000.0NTU791 +* **Measuring range**: 0.1~1000.0NTU 811 811 812 812 * **Accuracy**: ±5% 813 813 ... ... @@ -815,16 +815,15 @@ 815 815 816 816 * **Stability**: ≤3mV/24 hours 817 817 818 -* **Output signal**: RS485 (standard Modbus-RTU protocol, device default address: 01) 799 +* **Output signal**: A: 4~20 mA (current loop)B: RS485 (standard Modbus-RTU protocol, device default address: 01) 819 819 820 -* **Power supply voltage**: 5~ ~24V DC (when output signal is RS485),12~~24V DC (when output signal is 4~~20mA)801 +* **Power supply voltage**: 5~24V DC (when output signal is RS485)12~24V DC (when output signal is 4~20mA) 821 821 822 -* **Working environment:** 823 -** Ambient Temperature: 0–60°C 824 -** Relative Humidity: <85% RH(Specifically refers to the cable male and female) 803 +* **Working environment**: temperature 0~60°C; humidity ≤ 95%RH 825 825 826 826 * **Power consumption**: ≤ 0.5W 827 827 807 + 828 828 == 5.2 wiring == 829 829 830 830 ... ... @@ -834,10 +834,9 @@ 834 834 == 5.3 Impedance requirements for current signals == 835 835 836 836 837 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:400px" %) 838 -|(% style="width:132px" %)**Supply Voltage**|(% style="width:67px" %)**9V**|(% style="width:67px" %)**12V**|(% style="width:67px" %)**20V**|(% style="width:67px" %)**24V** 839 -|(% style="width:132px" %)**Max Impedance**|(% style="width:65px" %)**<250Ω**|(% style="width:67px" %)**<400Ω**|(% style="width:67px" %)**<500Ω**|(% style="width:65px" %)**<900Ω** 817 +[[image:image-20240718195414-8.png||height="100" width="575"]] 840 840 819 + 841 841 == 5.4 Mechinical Drawing == 842 842 843 843 ... ... @@ -851,6 +851,7 @@ 851 851 852 852 * If the water conditions are complex and you want accurate data, you need to wipe the sensor probe frequently. 853 853 833 + 854 854 == 5.6 RS485 Commands == 855 855 856 856 ... ... @@ -864,8 +864,8 @@ 864 864 **send:** 865 865 866 866 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 867 -|=(% style="width: 80.75px;background-color:#4F81BD;color:white" %)Original address|=(% style="width:64.75px; background-color: rgb(79, 129, 189); color: white;" %)Function code|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Address high|=(% style="width: 64.75px; background-color: rgb(79, 129, 189); color: white;" %)Address low|=(% style="width:64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity high|=(% style="width:64.75px; background-color: rgb(79, 129, 189); color: white;" %)Quantity low|=(% style="width: 54.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 low|=(% style="width: 58.75px; background-color: rgb(79, 129, 189); color: white;" %)CRC16 high868 -|(% style="width:99px" %)0XFE |(% style="width: 64.75px" %)0X03|(% style="width:64px" %)0X00|(% style="width:64.75px" %)0X50|(% style="width:70px" %)0X00|(% style="width:72px" %)0X00|(% style="width:56px" %)0X51|(% style="width:56px" %)0XD4847 +|=(% 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 +|(% 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 869 869 870 870 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. 871 871 ... ... @@ -873,23 +873,23 @@ 873 873 **response:** 874 874 875 875 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 876 -|=(% 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 high856 +|=(% 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 877 877 |(% style="width:99px" %)0X01|(% style="width:112px" %)0X03|(% style="width:106px" %)0X00|(% style="width:93px" %)0X20|(% style="width:104px" %)0XF0 878 878 859 + 879 879 === 5.6.2 Change address === 880 880 881 - 882 882 For example: Change the address of the sensor with address 1 to 2, master → slave 883 883 884 884 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 885 -|=(% style="width: 80.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: 54.75px;background-color:#4F81BD;color:white" %)CRC16 low|=(% style="width: 58.75px;background-color:#4F81BD;color:white" %)CRC16 high865 +|=(% 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 886 886 |(% 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 887 887 868 + 888 888 If the sensor receives correctly, the data is returned along the original path. 889 889 890 890 (% 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.** 891 891 892 - 893 893 === 5.6.3 Query data === 894 894 895 895 ... ... @@ -896,23 +896,19 @@ 896 896 Query the data (turbidity) of the sensor (address 15), host → slave 897 897 898 898 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 899 -|=(% 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 high879 +|=(% 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 900 900 |(% 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 901 901 882 + 902 902 If the sensor receives correctly, the following data will be returned, slave → host 903 903 904 904 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:518px" %) 905 -|=(% 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 high886 +|=(% 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 906 906 |(% 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 907 907 889 + 908 908 The query data command is 15 03 00 00 00 01 87 1E 909 909 910 910 For example, the returned data is 15 03 02 (% style="color:red" %)**02 9A**(%%) 09 4C 911 911 912 912 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 913 - 914 - 915 -= 6. Water Quality Sensor Datasheet = 916 - 917 - 918 -* **[[Water Quality Sensor Transmitter Datasheet>>https://www.dropbox.com/scl/fi/9tofocmgapkbddshznumn/Datasheet_WQS-xB-WQS-xS_Water-Quality-Sensor-Transmitter.pdf?rlkey=wxua12ur9swk30rkqnh2boo9z&st=axga6epf&dl=0]]**
- 1752564223905-283.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.karry - Size
-
... ... @@ -1,1 +1,0 @@ 1 -144.4 KB - Content
- image-20241129142314-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.karry - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.2 MB - Content