You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ChangeLog.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ Add Y513 Blue Green Algae (BGA) and fix examples.
26
26
27
27
### Changed
28
28
29
-
- updated Y504 to first try to get thridvalue for DOmgL before calculating it.
29
+
- updated Y504 to first try to get third value for DOmgL before calculating it.
30
30
- The `getValue.ino` example has better formatted outputs.
31
31
- The `getSlaveID()` command now works better with broadcast address 0xFF.
32
32
- NOTE that old YosemiTech sensors (before 2020??) don't have a functioning broadcast address
@@ -40,14 +40,15 @@ Add Y513 Blue Green Algae (BGA) and fix examples.
40
40
41
41
### Fixed
42
42
43
-
- The `getValue.ino` example wouldn't work with AltSoftSerial (see d4204ebd1212608aaf05a7a65b763e432c59fe37 and https://github.com/EnviroDIY/SensorModbusMaster/commit/f1daa2fdd22c7ec991fc2ff50330aa41e4a7a53e)
43
+
- The `getValue.ino` example wouldn't work with AltSoftSerial (see d4204ebd1212608aaf05a7a65b763e432c59fe37 and <https://github.com/EnviroDIY/SensorModbusMaster/commit/f1daa2fdd22c7ec991fc2ff50330aa41e4a7a53e>)
Copy file name to clipboardExpand all lines: README.md
+23-15Lines changed: 23 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Yosemitech Modbus<!-- {#mainpage} -->
1
+
# Yosemitech Modbus<!--! {#mainpage} -->
2
2
3
3
A library to use an Arduino as a master to control and communicate with the sensors produced by [Yosemitech](http://en.yosemitech.com) via [Modbus RTU](https://en.wikipedia.org/wiki/Modbus) over [RS-485](https://en.wikipedia.org/wiki/RS-485).
4
4
This library requires the use of the [EnviroDIY/SensorModbusMaster](https://github.com/EnviroDIY/SensorModbusMaster) library.
@@ -18,15 +18,15 @@ These are some of the irregularities we have found so far:
18
18
- The sensors give no response to properly formed requests for data from any registers except those few listed in the modbus manuals.
19
19
(See the "doc" folder for copies of the manuals for the sensors we have.)
20
20
21
-
Another note: The sensors seem to be somewhat.. finickey about resolving similar addresses when several are connected to the same bus.
21
+
Another note: The sensors seem to be somewhat.. finicky about resolving similar addresses when several are connected to the same bus.
22
22
I recommend giving the sensors addresses a few numbers away from each other to help separate them on the bus.
23
23
(That is, instead of numbering them as 0x01, 0x02, 0x03, 0x04, and 0x05 try 0x01, 0x03, 0x05, 0x07, and 0x09.)
24
24
25
-
[//]: #(@tableofcontents )
25
+
<!--! @tableofcontents -->
26
26
27
-
[//]: #(@m_footernavigation )
27
+
<!--! @m_footernavigation -->
28
28
29
-
[//]: #( Start GitHub Only )
29
+
<!--! @if GITHUB -->
30
30
31
31
-[Yosemitech Modbus](#yosemitech-modbus)
32
32
-[Hardware](#hardware)
@@ -35,22 +35,23 @@ I recommend giving the sensors addresses a few numbers away from each other to h
-[Suggested setup with an EnviroDIY Mayfly](#suggested-setup-with-an-envirodiy-mayfly)
38
+
-[Library installation](#library-installation)
38
39
39
-
[//]: #( End GitHub Only )
40
+
<!--! @endif -->
40
41
41
-
## Hardware<!-- {#mainpage_hardware} -->
42
+
## Hardware<!--! {#mainpage_hardware} -->
42
43
43
-
### Power Supply<!-- {#mainpage_power} -->
44
+
### Power Supply<!--! {#mainpage_power} -->
44
45
45
46
All of these sensors require a 5-12V DC power supply and the power supply can be stopped between measurements.
46
47
Older sensors may require higher voltage power supplies.
47
-
Do note that any time the sensor looses power, some internal configurations (such as brushing interval for sensors with wipers) will be reset to their factory values, whereas other internal configurations (such as calibration coefficiencts) are saved..
48
+
Do note that any time the sensor looses power, some internal configurations (such as brushing interval for sensors with wipers) will be reset to their factory values, whereas other internal configurations (such as calibration coefficients) are saved..
48
49
The red wire from the sensor should connect to the positive pole of the 5-12V power supply and the black to ground.
49
50
50
-
#### Current Consumption<!-- {#mainpage_current} -->
51
+
#### Current Consumption<!--! {#mainpage_current} -->
51
52
52
53
The current consumption of the Yosemitech sensors is specified to be <50mA, this is not accurate for their sensors which include a wiper brush, for these sensors an inductive spike exists when the brush begins to spin, which draws significantly more current than specified.
53
-
Below is a table describing the current draws for several different opeating conditions of the Yosemitech 511 Turbidity senor (with brush).
54
+
Below is a table describing the current draws for several different operating conditions of the Yosemitech 511 Turbidity senor (with brush).
54
55
All tests were driven by a power supply with a 9v output
55
56
56
57
| Condition | Current |
@@ -61,11 +62,11 @@ All tests were driven by a power supply with a 9v output
61
62
| Idle | 7mA |
62
63
63
64
Note <sup>1</sup>: The current on brush start can be seen in the image below, where the yellow line shows current into the sensor with a gain of 10 V/A, and the blue line is the output voltage to the sensor.
64
-
The spike peak is approximately 290mA, with an exponential decay over the next 10-15ms, while this is short, it is more than enough time to brown out many low current power supplies found in data logger systems, so appropriate percautions must be taken to avoid this problem.
65
+
The spike peak is approximately 290mA, with an exponential decay over the next 10-15ms, while this is short, it is more than enough time to brown out many low current power supplies found in data logger systems, so appropriate precautions must be taken to avoid this problem.
The sensors need to communicate with the Arduino via a RS485-to-TTL adapter.
71
72
The white wire of the Yosemitech sensor will connect to the "B" pin of the adapter and the green wire will connect to "A".
@@ -76,17 +77,24 @@ Also, be mindful of the logic level of the TTL output by the adapter.
76
77
The MAX485, one of the most popular adapters, has a 5V logic level in the TTL signal.
77
78
Up to 247 different devices can be connected in the same RS485 circuit, provided that each sensor has been separately assigned a uniques slave id.
78
79
79
-
### Receiving TTL Data<!-- {#mainpage_ttl} -->
80
+
### Receiving TTL Data<!--! {#mainpage_ttl} -->
80
81
81
82
If possible, always connect the RS485 adapter so the TTL signal is going to a Hardware Serial port on the Arduino.
82
83
Hardware serial ports are more stable than software/pin change serial emulation.
83
84
If you do not have an available hardware serial port, [AltSoftSerial](https://github.com/PaulStoffregen/AltSoftSerial) is probably the best Arduino alternative, if your board is supported.
84
85
[NeoSWSerial](https://github.com/SlashDevin/NeoSWSerial) is also a decent alternative at the Yosemitech's 9600 baud.
85
86
Use the standard Arduino SoftwareSerial if nothing else is available, but be aware that some sensors may not respond correctly.
86
87
87
-
## Suggested setup with an EnviroDIY Mayfly<!-- {#mainpage_mayfly} -->
88
+
## Suggested setup with an EnviroDIY Mayfly<!--! {#mainpage_mayfly} -->
88
89
89
90
We suggest using a [Modbus-Mayfly_WingShield](https://github.com/EnviroDIY/SensorModbusMaster/tree/master/hardware/Modbus-Mayfly_WingShield), which combines this [TTL to RS485 Adapter / 485 to Serial Port UART Level Converter Module (XY-017)](https://www.amazon.com/gp/product/B06XHH6B6R) with a step-up boost regulator and capacitors.
90
91
Plans to construct one can be found at <https://github.com/EnviroDIY/SensorModbusMaster/tree/master/hardware/Modbus-Mayfly_WingShield>.
This library is available through both the Arduino and PlatformIO library registries.
98
+
[Here is the PlatformIO registry page.](https://registry.platformio.org/libraries/envirodiy/YosemitechModbus)
99
+
Use the Arduino IDE to find the library in that registry.
100
+
The build and ingest logs for this library into the Arduino library registry are available [here](https://downloads.arduino.cc/libraries/logs/github.com/EnviroDIY/YosemitechModbus/).
0 commit comments