SDI-12

From BoSL Wiki
Revision as of 00:43, 9 February 2024 by Stephen (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page is for discussing usage of SDI-12 on BoSL loggers and sensors.

Future

Given the success of the SDI-12 turbidity sensor, it could be considered for universal adoption for communication between all BoSL sensors and loggers. While this would be the easiest 'industry standard' to implement it still comes with some challenges. a) SDI-12 is a 5 V data standard whereas all our boards operate on 3.3 V. b) low power sleep.

For a) it will be easy enough to build a step down data and power converter, and b) will likely need some though as to how we can remain listening to the SDI-12 but for address match during low power sleep.

Turbidity sensor

As an initial test I updated the turbidity sensor to use SDI-12. As all the components on the turbidity sensor are 5 V compatible this was quite an easy task, involving only firmware changes and recalibration of the sensors (the relationship remains linear). File:Turbidity firmware SDI-12.ino is the firmware developed for the SDI-12 turbidity sensor. The SDI-12 sensor address is '5' and I have been using the "M" measurement command, though "C" should work too. When data is collected with "D0" the first returned value is Turbscan() and the second is TurbscanwoLED(). It uses about 11mA while idle and 90 mA when taking a measurement.

The turbidity sensor should be wired as:

Turbidity sensor SDI-12
RED 5 V
BLACK GND
GREEN SDI-12 DATA
YELLOW NO CONNECT
White NO CONNECT