SENSECAP S-NH3-01 Sensor Datasheet Instruction Manual

May 15, 2024
SENSECAP

SENSECAP S-NH3-01 Sensor Datasheet

SENSECAP-S-NH3-01-Sensor-Datasheet-PRODUCT

Product Information

  • Specifications
    • Product Model: S-NH3-01
    • Supply Voltage: 4.5 ~ 5.5V DC (recommended 5V power supply)
    • Supported Protocol: MODBUS-RTU RS485
    • IP Rating: N/A
    • Operating Temperature: -40 to 50 °C
    • Operating Humidity: 15 to 95% RH (best operating humidity 50%RH)
    • Ambient Pressure: N/A
    • Cable Length: 2 meters
  • Measurement Parameters:
    • NH3 Range: 0~100 ppm
    • NH3 Measurement Accuracy: 0.1 ppm
    • Temperature Range: -40 to 50 °C
    • Temperature Resolution: 0.1 °C
    • Humidity Range: 10 to 95 %RH
    • Humidity Resolution: 0.1 %RH
    • Power Operating Current: 6mA Max @ 5V DC
    • Performance Reference Parameters:
    • Warm-up Time: Min – Typical – Max (minutes)
    • Poll Rate: 1 second
    • Response Time: 30 seconds

Product Usage Instructions

  • Installation and Setup
    • To install the NH3 sensor, follow these steps:
    • Ensure the power supply is within the recommended range (4.5 ~ 5.5V DC).
    • Connect the sensor using the provided cable with a length of 2 meters.
    • Mount the sensor in the desired location for monitoring.
  • Data Reading and Interpretation
    • The sensor provides measurements for NH3 concentration, temperature, and humidity. To read and interpret the data:
    • Utilize Modbus-RTU RS485 protocol for communication with the sensor.
    • Refer to the Modbus register addresses for accessing specific data points.
    • Note the measurement accuracy and resolution for each parameter.

FAQs

  • Q: What are the key features of the NH3 sensor?
    • A: The key features include electrochemical detection, robust design for high ammonia environments, wide temperature range, high-precision measurements, temperature and humidity sensing, easy installation, and factory calibration supporting user self-calibration.
  • Q: In what scenarios can the NH3 sensor be used?
    • A: The NH3 sensor can be used in various scenarios such as the livestock industry, smart public toilets for ammonia and odour monitoring, landfills and sewage treatment plants for ammonia monitoring, leak detection, environmental monitoring, and other sensor applications.

Introduction

Key Features:

  • Electrochemical detection of solid polymers
  • Robust design for long-term exposure to environments with high ammonia concentration
  • A wide temperature range of -40 to 50 ℃
  • High-precision measurements even in the most demanding environments
  • Measures temperature and humidity
  • Easy to install and mount
  • Factory calibration also supports user self-calibration.

Scenarios:

  • Livestock industry
  • Smart public toilet ammonia and odour monitoring
  • Ammonia monitoring in landfills and sewage treatment plants
  • Leak detection
  • Environmental monitoring
  • Other sensor applications

S-NH3-01 can measure the ammonia concentration, air temperature and humidity, and output the data through the RS485 Modbus-RTU protocol. The sensor responds quickly, has anti-interference technology, and can be calibrated to ensure measurement accuracy. The equipment is powered by 5V DC, can be used with other equipment without complicated installation, and can easily be integrated into larger systems. Solid polymer electrochemical technology is a revolutionary innovation in the field of electrochemical detection. This technology is based on the principle of electrochemical catalytic reaction caused by the target gas leading to an electrical signal that is directly proportional to the gas concentration The sensor module is composed of three catalytic electrodes, a solid electrolyte, and gas diffusion holes. The gas reaches the working electrode of the sensor through the diffusion holes, an electrochemical redox reaction occurs on the porous micro-surface of the electrode, and the solid electrolyte conducts electron transfer, and generates a current signal as an output. The current signal can characterize the gas concentration.

Technical parameters

The basic parameters

Product Model| S-NH3-01
Supply Voltage| 4.5 ~ 5.5V DC (recommended 5V power supply).
Supported Protocol| MODBUS-RTU RS485
IP Rating| IP65 (The equipment should be protected from direct sunlight and rain over long periods)
Operating Temperature| -40°C to 50°C (best operating temperature 20 to 35 °C).
Operating Humidity| 15 to 95% RH (non-condensation) (best operating humidity 50%RH).
Ambient Pressure| Atmospheric pressure ±10%.
Cable Length| 2 meters
Measurement Parameters
 | Range| Measurement accuracy| Resolution
NH3| 0~100 ppm| typ. ±5%F.S, max ±10%F.S| 0.1 ppm
Temperature| -40~50 ℃| ± 0.5 ℃| 0.1 ℃
Humidity| 10~95 %RH| ± 5%| 0.1 %RH
Power
Operating Current| 6mA(Max,5V DC)
Performance reference
 | Parameter| Min| Typical| Max| Unit
RS-485 mode| Warm-up Time[1]| —| 5[2]| —| minutes
Poll Rate[3]| —| 1| —| seconds
Response Time[4]| —| 30| —| seconds

  1. The time from when the sensor is powered on to when the data is read. Note the parameter when the sensor is powered on.
  2. If started in an environment with clean air it requires less time.
  3. The measurement data update interval, after the power-up warm-up time, if the power supply continues, the sensor periodically updates the reading at this interval.
  4. T90<30s

Sensor wiring

Yellow wire| RS485+/ A / T+
Green wire| RS485-/ B / T-
Red wire| VCC+
Black wire| VCC- (GND)

RS-485 Protocol Introduction to Modbus-RTU RS-485

  • Modbus protocol is a common protocol used in electronic devices. Through this protocol, the devices communicate with each other.
  • It has become a common industry standard, widely used in data loggers, sensor equipment and so on. Based on this protocol, devices from different vendors can communicate with each other for system integration.
  • Modbus protocol is a master-slave architecture protocol. One node is the Master and the other nodes that use Modbus protocol to participate in the communication are Slaves.
  • Each slave device has a unique address. The Sensor has an RS485 interface and supports Modbus-RTU.
  • Modbus commands can be used to obtain sensor data or modify communication parameters.
  • Note: Default communication parameters: Baud rate 9600bps, one start bit, 8 data bits, no verification, one stop bit.

Modbus register

Parameter| Register Address| Type| Function Code| Range and Description| Default
---|---|---|---|---|---

Read-only registers
NH3| 0x2000| Float32,read-

only

| 3| Unit: ppm| N/A
Temperature| 0x2004| int16, read-only| 3| Units: ℃, the actual value needs to be divided by 100| N/A
Humidity| 0x2006| uint16, read-only| 3| Unit:       %RH, the actual value needs to be divided by 100| N/A
Max Range| 0x2008| uint16, read-only| 3| 100ppm| 100

Modify the address

  • Default address: 0x0F (hex).
  • Use special instructions to modify the address, range 0x01 to 0XF7, out of range automatically reverts to  0x01
The instruction header Modify the address
80 72 65 70 6F 6C 65 76 65 44 x
  • Example: The address needs to be changed to 0x02.
  • Send command: 80 72 65 70 6F 6C 65 76 65 44 02
  • Note: When modifying the Modbus address, a single refresh is required (there is one device on the bus).

Error code

  • According to the Modbus protocol, an error response is returned if an error occurs after a request for a feature code is initiated.
Address domain Error function code Error code CRC check
1 byte 1 byte 1 byte 2 byte
  Request a function code + 0x80 0x1: The function code is incorrect

0x2: Get length exceeded or register address error

|

Description of Modbus register parameters

NH 3 Value

Range| 0 ~ 100 ppm| Register address: 0x2000
Read command: 0F 03 20 00 00 02 CE E5 Return value: 0F 03 04 3C BB 08 2F 2F 9A The returned value is 3CBB282F (HEX), because the data type is 32-bit float, (byte[0]<<24)|(byte[1]<<16)|(byte[2]<<8)|byte[ 3]), then 3CBB282F (HEX) = 0.02283105067908764 (DEC), the effective resolution is 0.1, then the ammonia measurement value is 0 ppm
Temperature value

Range| -4000  to  8500 correspondence -40 to 85 °C| Register address: 0x2004
Read command: 0F 03 20 04 00 01 CF 25
Returns a value: 0F 03 02  0A F9 17 67
The returned value is 0AF9 (HEX). Since the data type is a 16-bit signed integer, (byte[0]<<8|byte[1]), then 0AF9 (HEX)=2809 (DEC), the final value needs to be divided Take 100, that is, temperature value=2809/100=28.09 ℃
Humidity value

Range| 1000 to 9500 for 10 to 95% RH| Register address: 0x2006
Read command: 0F 03 20 06 00 01 6E E5

Return value: 0F 03 02  18 BD 1B F4

The returned value is 18BD (HEX). Since the data type is a 16-bit unsigned integer, (byte[0]<<8|byte[1]), then 18BD (HEX)=6333 (DEC), the final value needs to be divided Take 100, that is, the temperature value=6333/100=63.33%RH

SENSECAP-S-NH3-01-Sensor-Datasheet-FIG- \(1\)

CRC validation algorithms and examples

  • static const unsigned char aucCRCHi[] = {
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    • 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    • 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    • 0x00, 0xC1, 0x81, 0x40 };
  • static const unsigned char aucCRCLo[] = {
    • 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,
    • 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E,
    • 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9,
    • 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC,
    • 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
    • 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,
    • 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D,
    • 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38,
    • 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF,
    • 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
    • 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1,
    • 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4,
    • 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB,
    • 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA,
    • 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
    • 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0,
    • 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97,
    • 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E,
    • 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89,
    • 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
    • 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,
    • 0x41, 0x81, 0x80, 0x40
    • }; unsigned short usCRC16( unsigned char * pucFrame, unsigned short use )
    • { unsigned char ucCRCHi = 0xFF; unsigned char ucCRCLo = 0xFF; int index; while( used– )
    • { index = ucCRCLo ^ *( pucFrame++ ); ucCRCLo = ( UCHAR )( ucCRCHi ^ aucCRCHi[iIndex] ); ucCRCHi = aucCRCLo[iIndex];
    • } return ( unsigned short )( ucCRCHi << 8 | ucCRCLo ); }

The CRC generated by this function has exchanged the high and low bytes and can be directly placed in the message for transmission.
Example: The CRC16 of a certain frame is calculated by this function to be equal to 0x4112, then the message is placed as follows:

Address Function Code Data Count Data Data Data Data CRC low CRC high
              0x41 0x12

Use Modbus to debug software communications

Here’s an example of the Modbus Poll tool download address: https://www.modbustools.com/download.html.

SENSECAP-S-NH3-01-Sensor-Datasheet-FIG- \(2\)

Configure connection parameters: Baud rate 9600bps, one start bit,8 data bits, no verification, one stop bit.

SENSECAP-S-NH3-01-Sensor-Datasheet-FIG- \(3\)

Configure the parameters of the read register 0x00: the default slave address is 1, the function code is 03, the starting address is 0, and the number is 1

SENSECAP-S-NH3-01-Sensor-Datasheet-FIG- \(4\)

Calibration Instructions

Address Data Type State
0x200E Byte[0] Byte[1] Write only(use register) 0x06
single Calibrate user zero 1: write to 0 point

0: restore factory 0 point

Other: invalid

 |  |  |  | Write to the user’s current concentration(>0)
 |  |  |  | Data type: float(IEE754)
0x2020

0x2021

| ****

Byte[0] Byte[1] Byte[3] Byte[4]

| Write only(use registers)| 0x10| to| write| to|  | multiple| Specific data format sample reference:

https://lostphp.com/hexconvert/

Example: address: 1, write to concentration

1.2 (0x3F99999A), The command is as follows:

 |  |  |  | 0x01 0x10 0x20 0x20 0x00 0x02 0x04 0x3F
 |  |  |  | 0x99 0x99 0x9A 0x5E 0x76
0x2030| Byte[0] Byte[1]| Write only(use register)| 0x06| to| write| to| a| single| Restore factory
1. restore user 0 point calibration concentration point calibration Other: invalid| and

Precautions

  1. The main function of the gas sensor is to detect the gas composition and content, please do not let any part of the sensor come into contact with liquids.
  2. The sensor wire sequence cannot be reversed. Once reversed, it will cause permanent damage to the sensor and make it unusable.
  3. Different gas sensors have different concentration measurement ranges. Using the sensor in environments with concentrations above the maximum range for a long period can damage the device.
  4. The white or yellow sheet on the sensor is a waterproof and breathable membrane, please be careful not to scratch or cut it;
  5. The ventilation surface of the sensor should not be blocked or polluted. Sometimes the clogging of the hole can cause sensitivity reductions and slow response time.
  6. To measure the gas sensitivity, avoid blowing the gas directly into the equipment, use standard gas caps. One side is the air intake, and one side of the air outlet (under normal circumstances the small hole is the intake and the large hole lets the gas out);
  7. Avoid excessive shocks or vibrations. If the shell is damaged, please ensure that the sensor is not damaged. If the shell is broken and the internal structure is exposed, the output will no longer be reliable (the signal may be too large, too small or no output).
  8. It takes some time to return to the initial state after long-term exposure to high gas concentrations.
  9. When using a low-range sensor avoid exposing the sensor to air with high concentrations over a long period. Long-term exposure to high concentrations of the gas can damage the sensor and decrease its performance.
  10. Please do not disassemble the sensor, doing so might damage the sensor.
  11. Please avoid instantaneous high voltages, which can seriously damage the sensor.
  12. In calibration and detection, the electrochemical gas sensor’s reaction activity with the target gas will change with time, temperature, and humidity changes. Because the sensor outputs the relative changes in current it is necessary to calibrate it to accurately calculate the absolute concentration. First, use a zero gas and a gas with a standard concentration. Calibrate the linear change of the gas to obtain a standard curve. When measuring, compare the electrical signal generated by the concentration of the gas to be measured with the electrical signal of the standard concentration to calculate the accurate gas concentration value. Therefore, zero-calibration and regular recalibration of the equipment are all necessary to ensure the accuracy of the measurement.
  13. Cross interference of sensors. Generally speaking, each sensor corresponds to a specific detection gas, but any gas sensor cannot be absolutely specific. Therefore, when using a gas sensor, try to avoid interference from other gases with the sensor to ensure its accurate detection of specific gases.
  14. Measuring range and accuracy: select a gas sensor that matches the range and accuracy for your application scenario, otherwise it may not be able to detect the gas and determine the accurate data or the sensor may get damaged.
  15. Storage environment: temperature (-5 ~ +30 ℃ ), relative humidity 50%RH (non-condensing); the storage environment should have clean air, no pollution, no acetone, no high-concentration organic gas, no dust, no Smoke; avoid storing with alcohol (ethanol), perfume, sodium silicate and polyurethane liquid or solid; avoid storing in high temperature and low humidity environment.
  16. Transportation: For long-distance transportation, the temperature in the sensor package should be kept within 40°C, and the maximum temperature should not exceed 55°C. The humidity should not be lower than 15%RH.
  17. Maintenance: The maintenance of the sensor mainly involves calibration. Generally, the solid polymer sensor does not consume chemical electrolytes, but due to the influence of temperature, humidity, dust, and other polluting gases, the sensitivity of the sensor will be affected. When an offset occurs, the hydrogen sulphide sensor needs to be recalibrated. The better the environment, the longer the sensor can go without requiring maintenance. The user should follow the precautions mentioned above. If improper use causes damage to the sensor, it is not covered under the warranty and we will not replace the device.

Document version

Version Date Description Editor
V1.0   First Version
V1.1 05/30/23 Add Calibration Instruction Yvonne.Meng

References

Read User Manual Online (PDF format)

Loading......

Download This Manual (PDF format)

Download this manual  >>

SENSECAP User Manuals

Related Manuals