Meter Teros 11 topic
- Introduction
- Sensor Datasheet
- Voltage Ranges
- Build flags
- Sensor Constructor
- Example Code
- Reference
- Detailed Descriptions
Classes for the Meter Teros 11 soil moisture probe.
Introduction
Meter Environmental makes two series of soil moisture sensors, the ECH2O series and the Teros series. This page is for the Teros series.
Both series of sensors operate as sub-classes of the SDI12Sensors class. They require a 3.5-12V power supply, which can be turned off between measurements. While contrary to the manual, they will run with power as low as 3.3V. On the 5TM with a stereo cable, the power is connected to the tip, data to the ring, and ground to the sleeve. On the bare-wire version, the power is connected to the white cable, data to red, and ground to the unshielded cable.
Sensor Datasheet
Documentation for the SDI-12 Protocol commands and responses for the Meter Teros 11 can be found at: http://publications.metergroup.com/Manuals/20587_
Voltage Ranges
- Supply Voltage (VCC to GND), 4.0 to 15.0 VDC
- Digital Input Voltage (logic high), 2.8 to 3.9 V (3.6 typical)
- Digital Output Voltage (logic high), 3.6 typical
Build flags
Sensor Constructor
Construct a new Meter Teros 11 object. The pin on the mcu controlling power to the Teros 11 Use -1 if it is continuously powered. The SDI-12 address of the sensor, the Arduino pin controlling power on/off, and the Arduino pin sending and receiving data are required for the sensor constructor. Optionally, you can include a number of distinct readings to average. The data pin must be a pin that supports pin-change interrupts.
MeterTeros11::
Parameters
SDI12address
The SDI-12 address of the Teros 11; can be a char, char*, or int.
powerPin
dataPin
The pin on the mcu connected to the data line of the SDI-12 circuit.
measurementsToAverage
The number of measurements to take and average before giving a "final" result from the sensor; optional with a default value of 1.
Example Code
The Meter Teros is used in the menu a la carte example.
Classes
- class MeterTeros11
- The Sensor sub-class for the Meter Teros 11 sensor.
- class MeterTeros11_Count
- The Variable sub-class used for the raw calibrated VWC counts from a Meter Teros soil moisture/water content sensor.
- class MeterTeros11_Temp
- The Variable sub-class used for the temperature output output from a Teros soil moisture/water content sensor.
- class MeterTeros11_Ea
- The Variable sub-class used for the apparent dielectric permittivity (εa, matric potential) from a Meter Teros soil moisture/water content sensor.
- class MeterTeros11_VWC
- The Variable sub-class used for the volumetric water content output from a Teros soil moisture/water content sensor.
Sensor Variable Counts
The number of variables that can be returned by Meter Teros 11
- #define TEROS11_NUM_VARIABLES = 4
- Sensor::
_numReturnedValues; the Teros 11 can report 2 raw values - counts and temperature. - #define TEROS11_INC_CALC_VARIABLES = 2
- Sensor::
_incCalcValues; We calculate permittivity and water content from the raw counts and temperature reported by the Teros 11.
Sensor Timing
The sensor timing for a Meter Teros 11
- #define TEROS11_WARM_UP_TIME_MS = 250
- Sensor::
_warmUpTime_ms; the Teros 11 warm-up time in SDI-12 mode: 245ms typical. - #define TEROS11_STABILIZATION_TIME_MS = 50
- Sensor::
_stabilizationTime_ms; the Teros 11 is stable after 50ms. - #define TEROS11_MEASUREMENT_TIME_MS = 50
- Sensor::
_measurementTime_ms; the Teros 11 takes25 ms to 50 ms to complete a measurement. - #define TEROS11_EXTRA_WAKE_TIME_MS = 0
- Extra wake time required for an SDI-12 sensor between the "break" and the time the command is sent. The Terros-11 requires no extra time.
Raw Counts
The raw VWC counts variable from a Meter Teros 11
- Range and accuracy of the raw count values are not specified
Construct a new MeterTeros11_
MeterTeros11_
Parameters
parentSense
The parent MeterTeros11 providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "RawVWCCounts".
- #define TEROS11_COUNT_RESOLUTION = 1
- Decimals places in string representation; EA should have 1.
- #define TEROS11_COUNT_VAR_NUM = 0
- Sensor variable number; EA is stored in sensorValues[0].
- #define TEROS11_COUNT_VAR_NAME = "counter"
- Variable name in ODM2 controlled vocabulary; "counter".
- #define TEROS11_COUNT_UNIT_NAME = "count"
- Variable unit name in ODM2 controlled vocabulary; "count".
- #define TEROS11_COUNT_DEFAULT_CODE = "RawVWCCounts"
- Default variable short code; "RawVWCCounts".
Temperature
The temperature variable from a Meter Teros 11
- Range is -40°C to 60°C
- Accuracy is:
- ± 1°C, from -40°C to 0°C
- ± 0.5°C, from 0°C to + 60°C
Construct a new MeterTeros11_
MeterTeros11_
Parameters
parentSense
The parent MeterTeros11 providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "SoilTemp".
- #define TEROS11_TEMP_RESOLUTION = 2
- Decimals places in string representation; temperature should have 2.
- #define TEROS11_TEMP_VAR_NUM = 1
- Sensor variable number; temperature is stored in sensorValues[1].
- #define TEROS11_TEMP_VAR_NAME = "temperature"
- Variable name in ODM2 controlled vocabulary; "temperature".
- #define TEROS11_TEMP_UNIT_NAME = "degreeCelsius"
- Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
- #define TEROS11_TEMP_DEFAULT_CODE = "SoilTemp"
- Default variable short code; "SoilTemp".
EA
The EA variable from a Meter Teros 11
- Range is 1 (air) to 80 (water)
- Accuracy is:
- 1–40 (soil range), ±1 εa (unitless)
- 40–80, 15% of measurement
Construct a new MeterTeros11_
MeterTeros11_
Parameters
parentSense
The parent MeterTeros11 providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "SoilEa".
- #define TEROS11_EA_RESOLUTION = 5
- Decimals places in string representation; EA should have 5.
- #define TEROS11_EA_VAR_NUM = 2
- Sensor variable number; EA is stored in sensorValues[0].
- #define TEROS11_EA_VAR_NAME = "permittivity"
- Variable name in ODM2 controlled vocabulary; "permittivity".
- #define TEROS11_EA_UNIT_NAME = "faradPerMeter"
- Variable unit name in ODM2 controlled vocabulary; "faradPerMeter" (F/m)
- #define TEROS11_EA_DEFAULT_CODE = "SoilEa"
- Default variable short code; "SoilEa".
Volumetric Water Content
The VWC variable from a Meter Teros 11
- Range is:
- Mineral soil calibration: 0.00–0.70 m3/m3 (0 – 70% VWC)
- Soilless media calibration: 0.0–1.0 m3/m3 (0 – 100% VWC)
- Accuracy is:
- Generic calibration: ±0.03 m3/m3 (± 3% VWC) typical in mineral soils that have solution electrical conductivity <8 dS/m
- Medium specific calibration: ±0.01–0.02 m3/m3 (± 1-2% VWC)in any porous medium
Construct a new MeterTeros11_
MeterTeros11_
Parameters
parentSense
The parent MeterTeros11 providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "SoilVWC".
- #define TEROS11_VWC_RESOLUTION = 3
- Decimals places in string representation; VWC should have 3.
- #define TEROS11_VWC_VAR_NUM = 3
- Sensor variable number; VWC is stored in sensorValues[2].
- #define TEROS11_VWC_VAR_NAME = "volumetricWaterContent"
- Variable name in ODM2 controlled vocabulary; "volumetricWaterContent".
- #define TEROS11_VWC_UNIT_NAME = "percent"
- Variable unit name in ODM2 controlled vocabulary; "percent" - volumetric percent water content (%, m3/100m3)
- #define TEROS11_VWC_DEFAULT_CODE = "SoilVWC"
- Default variable short code; "SoilVWC".
Define documentation
#define TEROS11_NUM_VARIABLES = 4
#include <src/sensors/MeterTeros11.h>
Sensor::
#define TEROS11_INC_CALC_VARIABLES = 2
#include <src/sensors/MeterTeros11.h>
Sensor::
#define TEROS11_WARM_UP_TIME_MS = 250
#include <src/sensors/MeterTeros11.h>
Sensor::
#define TEROS11_STABILIZATION_TIME_MS = 50
#include <src/sensors/MeterTeros11.h>
Sensor::
#define TEROS11_MEASUREMENT_TIME_MS = 50
#include <src/sensors/MeterTeros11.h>
Sensor::
#define TEROS11_EXTRA_WAKE_TIME_MS = 0
#include <src/sensors/MeterTeros11.h>
Extra wake time required for an SDI-12 sensor between the "break" and the time the command is sent. The Terros-11 requires no extra time.
#define TEROS11_COUNT_RESOLUTION = 1
#include <src/sensors/MeterTeros11.h>
Decimals places in string representation; EA should have 1.
#define TEROS11_COUNT_VAR_NUM = 0
#include <src/sensors/MeterTeros11.h>
Sensor variable number; EA is stored in sensorValues[0].
#define TEROS11_COUNT_VAR_NAME = "counter"
#include <src/sensors/MeterTeros11.h>
Variable name in ODM2 controlled vocabulary; "counter".
#define TEROS11_COUNT_UNIT_NAME = "count"
#include <src/sensors/MeterTeros11.h>
Variable unit name in ODM2 controlled vocabulary; "count".
#define TEROS11_COUNT_DEFAULT_CODE = "RawVWCCounts"
#include <src/sensors/MeterTeros11.h>
Default variable short code; "RawVWCCounts".
#define TEROS11_TEMP_RESOLUTION = 2
#include <src/sensors/MeterTeros11.h>
Decimals places in string representation; temperature should have 2.
1 is reported, adding extra digit to resolution to allow the proper number of significant figures for averaging - resolution is 0.1°C
#define TEROS11_TEMP_VAR_NUM = 1
#include <src/sensors/MeterTeros11.h>
Sensor variable number; temperature is stored in sensorValues[1].
#define TEROS11_TEMP_VAR_NAME = "temperature"
#include <src/sensors/MeterTeros11.h>
Variable name in ODM2 controlled vocabulary; "temperature".
#define TEROS11_TEMP_UNIT_NAME = "degreeCelsius"
#include <src/sensors/MeterTeros11.h>
Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
#define TEROS11_TEMP_DEFAULT_CODE = "SoilTemp"
#include <src/sensors/MeterTeros11.h>
Default variable short code; "SoilTemp".
#define TEROS11_EA_RESOLUTION = 5
#include <src/sensors/MeterTeros11.h>
Decimals places in string representation; EA should have 5.
4 are reported, adding extra digit to resolution to allow the proper number of significant figures for averaging - resolution is 0.00001
#define TEROS11_EA_VAR_NUM = 2
#include <src/sensors/MeterTeros11.h>
Sensor variable number; EA is stored in sensorValues[0].
#define TEROS11_EA_VAR_NAME = "permittivity"
#include <src/sensors/MeterTeros11.h>
Variable name in ODM2 controlled vocabulary; "permittivity".
#define TEROS11_EA_UNIT_NAME = "faradPerMeter"
#include <src/sensors/MeterTeros11.h>
Variable unit name in ODM2 controlled vocabulary; "faradPerMeter" (F/m)
#define TEROS11_EA_DEFAULT_CODE = "SoilEa"
#include <src/sensors/MeterTeros11.h>
Default variable short code; "SoilEa".
#define TEROS11_VWC_RESOLUTION = 3
#include <src/sensors/MeterTeros11.h>
Decimals places in string representation; VWC should have 3.
2 are reported, adding extra digit to resolution to allow the proper number of significant figures for averaging - Resolution is 0.001 m3/m3 (0.1% VWC) from 0 – 70% VWC
#define TEROS11_VWC_VAR_NUM = 3
#include <src/sensors/MeterTeros11.h>
Sensor variable number; VWC is stored in sensorValues[2].
#define TEROS11_VWC_VAR_NAME = "volumetricWaterContent"
#include <src/sensors/MeterTeros11.h>
Variable name in ODM2 controlled vocabulary; "volumetricWaterContent".
#define TEROS11_VWC_UNIT_NAME = "percent"
#include <src/sensors/MeterTeros11.h>
Variable unit name in ODM2 controlled vocabulary; "percent" - volumetric percent water content (%, m3/100m3)
#define TEROS11_VWC_DEFAULT_CODE = "SoilVWC"
#include <src/sensors/MeterTeros11.h>
Default variable short code; "SoilVWC".