Telaire T67 Series Application Note

Co2 sensor module

Advertisement

Quick Links

Application Note
®
T67xx CO 2
Sensor Module

OVERVIEW

The purpose of this document is to outline the required interface design and communication protocol for the
T67xx CO
Sensor modules. The intended audience is any developer who wishes to query the sensor for
2
2
information utilizing either the I
C, PWM or UART interfaces.
All information about the performance of the sensor can be found on the Telaire website. Please refer to the
spec sheets found at www.telaire.com for the latest specifications.
Amphenol
Advanced Sensors

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the T67 Series and is the answer not in the manual?

Questions and answers

Summary of Contents for Telaire T67 Series

  • Page 1: Overview

    Sensor modules. The intended audience is any developer who wishes to query the sensor for information utilizing either the I C, PWM or UART interfaces. All information about the performance of the sensor can be found on the Telaire website. Please refer to the spec sheets found at www.telaire.com for the latest specifications. Amphenol...
  • Page 2: Table Of Contents

    TABLE OF CONTENTS OVERVIEW ..................................1 INSTALLATION AND MOUNTING ..........................3 Design Considerations ..............................3 Installation ..................................3 ESD Precautions ................................3 OPERATION DETAILS ..............................3 ABC LOGIC™ ................................3 ENVIRONMENTAL ................................4 ABSOLUTE MAXIMUM RATINGS ..........................4 Power-On Sequence ..............................4 Power Supply Requirements............................4 Evaluation / Demonstration Kits ............................4 Safety ....................................4 Disclaimer ..................................4 Safety While In Use ...............................4...
  • Page 3: Installation And Mounting

    ABC Logic requires continuous operation of the sensor for increments of at least 4 hours each. Note: Applies when used in typical residential ambient air. Consult Amphenol Advanced Sensors if other gases or corrosive agents are part of the application environment. Telaire T67xx CO Sensor Module Application Note...
  • Page 4: Environmental

    Evaluation kits are available in order to help customers develop their Air Quality application. The kit includes a sample of the sensor, cable and software that will enable the user to better understand the performance of the sensor in their intended design. Please contact Telaire for further details or visit the website at www.telaire.com.
  • Page 5: Material Contents

    Care should be taken to connect the sensor to the controller in the correct wiring configuration to avoid damage. Sensor is not designed for hot swapping. Telaire T67xx CO Sensor Module Application Note...
  • Page 6: Uart & 1 Hz Pwm

    T67XX CO SENSOR MODULE UART & 1 HZ PWM Pin 6 is left unconnected by the user and will therefore be left floating. It will be pulled up by an internal 1MΩ resistor. In this condition: Table 1 – I/O Pin Configuration #1 Pin Description UART TX (output from sensor) UART Rx (input to sensor)
  • Page 7: I 2 C & 25 Khz Pwm

    C interface. Customer will need to provide an external pull up resistor on pin 2 with a recommended value of 4.7k. I C interface can operate at both 3.3V and 5V logic levels. Telaire T67xx CO Sensor Module Application Note...
  • Page 8 UART TX (output from sensor) UART Rx (input to sensor) Becomes a test input for Telaire and should be left unconnected by the user Becomes an output pin used to control an RS485 transceiver Figure 4 - Simplified Schematic I/O Configuration #3 The condition described by (3) above is useful if the sensor is used in an RS485 dropped node network configuration.
  • Page 9: Pwm Outputs

    In order to convert the pulse to a reading in PPM, the user should use the following equation: PPM=(t_pulse-2)*2 for 0 – 2000 ppm models PPM=(t_pulse-2)*5 for 0 – 5000 ppm models Where: t_pulse=Measured duration of pulse in msec PPM=Measured CO Value Telaire T67xx CO Sensor Module Application Note...
  • Page 10 T67XX CO SENSOR MODULE Figure 6 - Example of the PWM for -2K model...
  • Page 11 Below is one of possible circuit designs to convert 25 kHz PWM to an analog output, where R3 and R4 will set the gain of the amplifier. Figure 7 - Circuit design for 25 kHz PWM output conversion to analog voltage Telaire T67xx CO Sensor Module Application Note | 11...
  • Page 12: Communication - Modbus Protocol

    T67XX CO SENSOR MODULE COMMUNICATION – MODBUS PROTOCOL The T67xx sensor uses the Modbus protocol for all communications. The documents are freely available on the Modbus WEB site at http://www.modbus.org/specs.php. UART (RS232/RS485) For UART communications, reference the recommendations found in the document ‘Modbus Serial Line Protocol and Implementation Guide V1.02’.
  • Page 13: Command Summary

    Enable or disable Measure on MEASURE ON DEMAND uint16_t (RW) ‘4107’D Demand Where RO is Read Only, WO is Write Only and RW is Read or Write. Examples are given in the following pages. Telaire T67xx CO Sensor Module Application Note | 13...
  • Page 14: Firmware Version

    T67XX CO SENSOR MODULE Firmware Version This command will return the current firmware revision of the sensor. Use the Modbus Read Input Registers function (4) and read one (1) register at address ‘1389’H (‘5001’D). Example 1 - Modbus request/response to read the firmware revision (UART) Modbus Request UART ‘15’H Slave Address (default is ‘15’H’)
  • Page 15: Status

    ‘8A’H Starting Address (LSB) ‘00’H Input registers to read (MSB) ‘01’H Input registers to read (LSB) Modbus Response (I C) (Master-Receiver/Slave-Transmitter) ‘04’H Function Code ‘02’H Byte Count Status (MSB) Status (LSB) Telaire T67xx CO Sensor Module Application Note | 15...
  • Page 16 T67XX CO SENSOR MODULE The STATUS register is a bit-vector where each bit represents the status of some function within the sensor. Not all bits are assigned. Bit position Comments xxxxxxxx, xxxxxxx1 ‘0001’H Error condition xxxxxxxx, xxxxxx1x ‘0002’H Flash error xxxxxxxx, xxxxx1xx ‘0004’H...
  • Page 17: Gas Ppm

    Byte Count MSB of the 16-bit gas ppm data LSB of the 16-bit gas ppm data To calculate the gas ppm, do the following: ppm = MSB * 256 + LSB Telaire T67xx CO Sensor Module Application Note | 17...
  • Page 18: Reset

    T67XX CO SENSOR MODULE Example 7 – Calculating Gas PPM For example, if the Modbus (UART) response was: ‘15’H Slave Address (default is ‘15’H’) ‘04’H Function Code ‘02’H Byte Count ‘01’H MSB of the 16-bit data ‘01’H = ‘1’D ‘9F’H LSB of the 16-bit data ‘9F’H = ‘159’D CRC (LSB) CRC (MSB)
  • Page 19: Start Single Point Calibration

    Modbus Response (UART) ‘15’H Slave Address (default is ‘15’H’) ‘05’H Function Code ‘03’H Output Address (MSB) ‘EC’H Output Address (LSB) ‘FF’H Output Value (MSB) ‘00’H Output Value (LSB) CRC (LSB) CRC (MSB) Telaire T67xx CO Sensor Module Application Note | 19...
  • Page 20 T67XX CO SENSOR MODULE Example 11 – Modbus request/response to start Single Point Calibration (I The default T67xx I C slave address is ‘15’H and not shown. Modbus Request (I ‘05’H Function Code ‘03’H Output Address (MSB) ‘EC’H Output Address (LSB) ‘FF’H Output Value (MSB) ‘00’H...
  • Page 21: Change Slave Address

    ‘0F’H Register Address (MSB) ‘A5’H Register Address (LSB) ‘00’H Register Value (MSB) ‘15’H Register Value (LSB) still returns old address value because no RESET command issues yet CRC (LSB) CRC (MSB) Telaire T67xx CO Sensor Module Application Note | 21...
  • Page 22: Abc Logic™ Enable / Disable

    T67XX CO SENSOR MODULE Example 15 – Changing the default Slave Address (I The default T67xx I C slave address is ‘15’H and not shown. This example changes the current slave address from default ‘15’H to ‘10’H. Modbus Request (I ‘06’H Function Code ‘0F’H...
  • Page 23: Measure On Demand (Mod)

    If the sensor is to be recalibrated, then the MOD mode needs to be disabled. Set MOD holding register ‘100B’H = 1, 0x15 06 10 0b 3f 80, followed by memory write 0x 15 05 03 ED FF 00 and with RESET or power cycle. Telaire T67xx CO Sensor Module Application Note | 23...
  • Page 24: Measure On Demand Mode Using Uart

    T67XX CO SENSOR MODULE MEASURE ON DEMAND MODE USING UART Example 18 – Enable Measure on Demand (UART) Modbus Request (UART) to set RAM value to MOD mode ‘15’H Slave Address (default is ‘15’H’) ‘06’H Function Code ‘10’H Register Address (MSB) ‘0B’H Register Address (LSB) ‘00’H...
  • Page 25 Modbus Response (UART) ‘15’H Slave Address (default is ‘15’H’) ‘05’H Function Code ‘03’H Register Address (MSB) ‘F3’H Register Address (LSB) ‘00’H Register Value (LSB) ‘00’H Register Value (MSB) CRC (LSB) CRC (MSB) Telaire T67xx CO Sensor Module Application Note | 25...
  • Page 26: Measure On Demand Mode Using I 2 C

    T67XX CO SENSOR MODULE Example 22 – Read current gas PPM (UART) Modbus Request (UART) ‘15’H Slave Address (default is ‘15’H’) ‘04’H Function Code ‘13’H Register Address (MSB) ‘8B’H Register Address (LSB) ‘00’H Register Value (MSB) ‘01’H Register Value (LSB) CRC (LSB) CRC (MSB) Modbus Response (UART)
  • Page 27 Register Address (LSB) ‘00’H Register Value (MSB) ‘00’H Register Value (LSB) Modbus Response (I ‘05’H Function Code ‘03’H Register Address (MSB) ‘F3’H Register Address (LSB) ‘00’H Register Value (LSB) ‘00’H Register Value (MSB) Telaire T67xx CO Sensor Module Application Note | 27...
  • Page 28 T67XX CO SENSOR MODULE Example 27 – Read current gas PPM (I Modbus Request (I ‘04’H Function Code ‘13’H Register Address (MSB) ‘8B’H Register Address (LSB) ‘00’H Register Value (MSB) ‘01’H Register Value (LSB) Modbus Response (UART) ‘04’H Function Code ‘02’H Byte Count ‘01’H...
  • Page 29: Example Code

    The CO can then be calculated as input_buf[3] * 256 + input_buf[4] The code snippet follows. uart1_write((uint8_t*)Read_CO2_Cmd, Read_CO2_Cmd_Length); delay(50); uart1_read((uint8_t*)input_buf, 8); if ((input_buf[0]==0x15) && (input_buf[1]==0x04) && (input_buf[2]==0x02)) raw_co2 = (uint16_t)((input_buf[3]<<8) | input_buf[4]); Telaire T67xx CO Sensor Module Application Note | 29...
  • Page 30 Arduino I C Examples The I C needs some delay after the request for a correct response. The following is a snippet of Arduino code that can be used to test the I C interface. Following definitions apply to both examples. #define readDelay 5 //delay between I C write &...
  • Page 31 ((data[2] & 0x3F ) << 8) | data[3]; } else { return ((0xC3 & 0x3F ) << 8) | 0x50; //or whatever value for failure you want Other code samples are available at: https://github.com/AmphenolAdvancedSensors/Telaire Telaire T67xx CO Sensor Module Application Note...
  • Page 32 Amphenol www.amphenol-sensors.com © 2019 Amphenol Corporation. All Rights Reserved. Specifications are subject to change without notice. Advanced Sensors Other company names and product names used in this document are the registered trademarks or trademarks of their respective owners. AAS-916-142A - 02/2019...

Table of Contents