Keller Nanolevel topic
- Sensor Datasheet
- Sensor Constructor
- Example Code
- Reference
- Detailed Descriptions
Classes for the Keller Nanolevel capacitive level sensor.
These are for Keller Nanolevel capacitive level sensors.
Sensor Datasheet
Sensor Constructor
Construct a new Keller Nanolevel instance. The pin on the mcu controlling power to the Nanolevel. Use -1 if it is continuously powered.
KellerNanolevel::
Parameters
modbusAddress
The modbus address of the Nanolevel.
stream
An Arduino data stream for modbus communication. See notes for more information on what streams can be used.
powerPin
powerPin2
The pin on the mcu controlling power to the RS485 adapter, if it is different from that used to power the sensor. Use -1 or omit if not applicable.
enablePin
The pin on the mcu controlling the direction enable on the RS485 adapter, if necessary; use -1 or omit if not applicable.
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 Keller Nanolevel is used in the menu a la carte example.
Classes
- class KellerNanolevel
- The Sensor sub-class for the Keller nanolevel sensor.
- class KellerNanolevel_Pressure
- The Variable sub-class used for the gauge pressure (vented and barometric pressure corrected) output from a Keller Nanolevel ceramic capacitive level transmitter.
- class KellerNanolevel_Temp
- The Variable sub-class used for the temperature output from a Keller Nanolevel ceramic capacitive level transmitter.
- class KellerNanolevel_Height
- The Variable sub-class used for the gauge height (water level with regard to an arbitrary gage datum) output from a Keller Nanolevel ceramic capacitive level transmitter.
Sensor Timing
The sensor timing for a Keller Nanolevel
- #define NANOLEVEL_WARM_UP_TIME_MS = 500
- Sensor::
_warmUpTime_ms; the Nanolevel warms up in 500ms. - #define NANOLEVEL_STABILIZATION_TIME_MS = 5000
- Sensor::
_stabilizationTime_ms; the Nanolevel stabilization takes about 5s (5000ms). - #define NANOLEVEL_MEASUREMENT_TIME_MS = 1500
- Sensor::
_measurementTime_ms; the Nanolevel takes 1500ms to complete a measurement.
Pressure
The pressure variable from a Keller Nanolevel
- Range is 0 to 300mbar
- Accuracy is Standard ±0.1% FS, Optional ±0.05% FS
Construct a new KellerNanolevel_
KellerNanolevel_
Parameters
parentSense
The parent KellerNanolevel 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 "kellerNanoPress".
- #define NANOLEVEL_PRESSURE_RESOLUTION = 5
- Decimals places in string representation; pressure should have 5 - resolution is 0.002%.
- #define NANOLEVEL_PRESSURE_DEFAULT_CODE = "kellerNanoPress"
- Default variable short code; "kellerNanoPress".
Temperature
The temperature variable from a Keller Nanolevel
- Range is 10°C to 50°C
- Accuracy is not specified in the sensor datasheet
Construct a new KellerNanolevel_
KellerNanolevel_
Parameters
parentSense
The parent KellerNanolevel 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 "kellerNanoTemp".
- #define NANOLEVEL_TEMP_RESOLUTION = 2
- Decimals places in string representation; temperature should have 2 - resolution is 0.01°C.
- #define NANOLEVEL_TEMP_DEFAULT_CODE = "kellerNanoTemp"
- Default variable short code; "kellerNanoTemp".
Height
The height variable from a Keller Nanolevel
- Range is 0 to 120 inches
- Accuracy is Standard ±0.1% FS, Optional ±0.05% FS
Construct a new KellerNanolevel_
KellerNanolevel_
Parameters
parentSense
The parent KellerNanolevel 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 "kellerNanoHeight".
- #define NANOLEVEL_HEIGHT_RESOLUTION = 4
- Decimals places in string representation; height should have 4 - resolution is 0.002%.
- #define NANOLEVEL_HEIGHT_DEFAULT_CODE = "kellerNanoHeight"
- Default variable short code; "kellerNanoHeight".
Define documentation
#define NANOLEVEL_WARM_UP_TIME_MS = 500
#include <src/sensors/KellerNanolevel.h>
Sensor::
#define NANOLEVEL_STABILIZATION_TIME_MS = 5000
#include <src/sensors/KellerNanolevel.h>
Sensor::
#define NANOLEVEL_MEASUREMENT_TIME_MS = 1500
#include <src/sensors/KellerNanolevel.h>
Sensor::
#define NANOLEVEL_PRESSURE_RESOLUTION = 5
#include <src/sensors/KellerNanolevel.h>
Decimals places in string representation; pressure should have 5 - resolution is 0.002%.
#define NANOLEVEL_PRESSURE_DEFAULT_CODE = "kellerNanoPress"
#include <src/sensors/KellerNanolevel.h>
Default variable short code; "kellerNanoPress".
#define NANOLEVEL_TEMP_RESOLUTION = 2
#include <src/sensors/KellerNanolevel.h>
Decimals places in string representation; temperature should have 2 - resolution is 0.01°C.
#define NANOLEVEL_TEMP_DEFAULT_CODE = "kellerNanoTemp"
#include <src/sensors/KellerNanolevel.h>
Default variable short code; "kellerNanoTemp".
#define NANOLEVEL_HEIGHT_RESOLUTION = 4
#include <src/sensors/KellerNanolevel.h>
Decimals places in string representation; height should have 4 - resolution is 0.002%.
#define NANOLEVEL_HEIGHT_DEFAULT_CODE = "kellerNanoHeight"
#include <src/sensors/KellerNanolevel.h>
Default variable short code; "kellerNanoHeight".