xuos-web/docs/doc/sensor/gas_sensor.md

1802 lines
65 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 气敏传感器
<head>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
<!--$表示行内元素$$表示块状元素 -->
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true
},
"HTML-CSS": { availableFonts: ["TeX"] }
});
</script>
<!--加载MathJax的最新文件 async表示异步加载进来 -->
<script type="text/javascript" async src="https://cdn.mathjax.org/mathjax/latest/MathJax.js">
</script>
</head>
## TB600B-IAQ-10 空气质量检测模组
<div class = "wrapper">
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" >
<tr>
<td style="width: 50%;">
<!--左侧内容-->
<img src = "./imagesrc/TB600B.png" alt="TB600B" width =100% max-width= 100% >
</td>
<td style="width: 50%;">
<!--右侧内容-->
多种有害气体测量反应计算,可有效评估空气新鲜度;</br></br>
可检测VOC有机挥发物类、硫化物、氮氧化物、胺类、烃类、酮类、醇类、一氧化碳等多种无机气体</br></br>
长寿命、检测稳定、可靠性高;</br></br>
快速响应;</br></br>
独立温湿度数字传感器,结合智能算法,环境适应性强;</br></br>
小体积低功耗;</br></br>
</td>
</tr>
</table>
</div>
### 应用领域
+ 室内家居空气质量污染监测
+ 家用、商用新风在线净化系统
+ 家用新风机、净化器
+ 商业场所空气质量污染监测
+ 室内温湿度监测仪
+ 车载空气净化器
+ 公共交通工具空间内空气监测
+ 暖通空调系统
+ 智能可穿戴设备(腕表、口罩、手机)
+ 健康运动设备
+ 抽油烟机和智能家具产品
+ 实验室排风柜系统
+ 超净实验室环境监测
+ 小型无人机环境空气质量监测
### 接线说明
<div style="display: flex;justify-content: center;align-items: center;">
<img src = "./imagesrc/TB600B_2.png" alt="TB600B_2" width =80% max-width= 80% >
</br>
</div>
按照上图中从上到下的顺序:
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 600>
<tr>
<td width = 100>序号</td>
<td width = 250>TB600B模块</td>
<td width = 250>备注</td>
</tr>
<tr>
<td>1</td>
<td>TX</td>
<td>接嵌入式系统RX引脚</td>
</tr>
<tr>
<td>2</td>
<td>RX</td>
<td>接嵌入式系统TX引脚</td>
</tr>
<tr>
<td>3</td>
<td>GND</td>
<td>模块公共地</td>
</tr>
<tr>
<td>4</td>
<td>VCC</td>
<td>供电电压3.3 V~5.5 V</td>
</tr>
</table>
</div>
### 使用步骤
+ 接线
+ 空气质量检测模组上电后需要短暂的数据稳定时间通常在1min以内。
+ 该检测模组为扩散式检测环境气体需要确保流量在500ml以内且保证流量稳定。流量较大时会带来压力的变化从而导致传感器信号值变化。流速会产生压力压力的变化会导致输出信号的变化压力增大信号变大传感器信号会出现峰值突变。避免在负压环境下使用对传感器造成物理无法恢复的损坏。
### 通信协议
#### 一、通用设置
传感器使用串行通讯方式。
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 600>
<tr>
<td width = 200>波特率</td>
<td width = 400>9600</td>
</tr>
<tr>
<td>数据位</td>
<td>8位</td>
</tr>
<tr>
<td>停止位</td>
<td>1位</td>
</tr>
<tr>
<td>校验位</td>
<td></td>
</tr>
</table>
</div>
注意: 通讯分为主动上传和问答式,上电默认为问答式。
#### 二、 传输模式切换指令
+ 切换到主动上传
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">切换命令</td>
<td style = "text-align:center">主动上传</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x01</td>
<td style = "text-align:center">0x78</td>
<td style = "text-align:center">0x40</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x47</td>
</tr>
</table>
</div>
+ 切换到被动上传
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">切换命令</td>
<td style = "text-align:center">主动上传</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x01</td>
<td style = "text-align:center">0x78</td>
<td style = "text-align:center">0x41</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x46</td>
</tr>
</table>
</div>
#### 三、 查询模式下命令
+ 获取传感器类型,最大量程,单位小数位数指令:`0xD1`
</br>
返回值:</br>
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">传感器类型</td>
<td style = "text-align:center">最大量程高位</td>
<td style = "text-align:center">最大量程低位</td>
<td style = "text-align:center">单位</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">数据小数位数bit[4]~bit[7],数据正负号bit[0]~bit[3]</td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0x18</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0xC8</td>
<td style = "text-align:center">0x02</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x01</td>
<td style = "text-align:center">0x35</td>
</tr>
</table>
</div>
**说明:**</br>
最大量程 = (最大量程高位 << 8) | 最大量程低位</br>
单位: 0x02( $ ppm $ 和 $mg/m_3$ )</br>
正负号: 0(正数) 1(负数)</br>
小数位数: 读出的浓度值是代多少个小数小数位数最多是3位
+ 获取传感器类型,最大量程,单位,单位小数位数指令:`0xD7`
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">指令头1</td>
<td style = "text-align:center">指令头2</td>
<td style = "text-align:center">传感器类型</td>
<td style = "text-align:center">最大量程高位</td>
<td style = "text-align:center">最大量程低位</td>
<td style = "text-align:center">单位</td>
<td style = "text-align:center">数据小数位数bit[4]~bit[7],数据正负号bit[0]~bit[3]</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0xD7</td>
<td style = "text-align:center">0x18</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0xC8</td>
<td style = "text-align:center">0x02</td>
<td style = "text-align:center">0x01</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x46</td>
</tr>
</table>
</div>
**说明:**</br>
校验和17位数据相加生成一个8位的数据各位相反末尾加1</br>
小数位数bit[4]~bit[7]: </br>
`(bit[7]<<3) | (bit[6]<<2) | (bit[5]<<1) | bit[4] = 小数位数`
</br></br>
数据正负号(bit[0]~bit[3])</br>
`(bit[3]<<3) | (bit[2]<<2) | (bit[1]<<1) | bit[0] = 0` 负向抑制
</br>
`(bit[3]<<3) | (bit[2]<<2) | (bit[1]<<1) | bit[0] = 0` 正向抑制
</br>
</br>
单位:
0x02: 单位为$mg/{m^3}$和$ppm$</br>
0x04: 单位为$um/{m^3}$和$ppb$</br>
0x08: 单位为$10g/{m^3}$和$%$
+ 主动读气体浓度值格式如下:
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">命令</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x01</td>
<td style = "text-align:center">0x86</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x79</td>
</tr>
</table>
</div>
返回值:
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">命令</td>
<td style = "text-align:center">气体浓度高位($ug/{m^3}$)</td>
<td style = "text-align:center">气体浓度低位($ug/{m^3}$)</td>
<td style = "text-align:center">满量程高位</td>
<td style = "text-align:center">满量程低位</td>
<td style = "text-align:center">气体浓度高位($ppb$)</td>
<td style = "text-align:center">气体浓度低位($ppb$)</td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x86</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x2A</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x30</td>
</tr>
</table>
</div>
**说明:**</br>
校验和17位数据相加生成一个8位数据各位取反末尾加1</br>
气体浓度值 = 气体浓度高位 * 256 + 气体浓度低位</br>
(浓度高位和浓度低位需要从16进制换算为10进制后再带入本公式计算)
+ 气体浓度值和温湿度合并读取指令
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">命令</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x01</td>
<td style = "text-align:center">0x87</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x78</td>
</tr>
</table>
</div>
返回值:
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">命令</td>
<td style = "text-align:center">气体浓度高位($ug/{m^3}$)</td>
<td style = "text-align:center">气体浓度低位($ug/{m^3}$)</td>
<td style = "text-align:center">满量程高位</td>
<td style = "text-align:center">满量程低位</td>
<td style = "text-align:center">气体浓度高位($ppb$)</td>
<td style = "text-align:center">气体浓度低位($ppb$)</td>
<td style = "text-align:center">温度高位</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x87</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x2A</td>
<td style = "text-align:center">0x03</td>
<td style = "text-align:center">0xE8</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x20</td>
<td style = "text-align:center">0x09</td>
</tr>
<tr>
<td width = 100 style = "text-align:center">9</td>
<td width = 100 style = "text-align:center">10</td>
<td width = 100 style = "text-align:center">11</td>
<td width = 100 style = "text-align:center">12</td>
</tr>
<tr>
<td style = "text-align:center">温度低位</td>
<td style = "text-align:center">湿度高位</td>
<td style = "text-align:center">湿度低位</td>
<td style = "text-align:center">校验和</td>
</tr>
<tr>
<td style = "text-align:center">0xC4</td>
<td style = "text-align:center">0x13</td>
<td style = "text-align:center">0x88</td>
<td style = "text-align:center">0xDC</td>
</tr>
</table>
</div>
**说明:**</br>
校验和: 111位数据相加生成1个8位的数据各位取反末尾加1</br>
气体浓度值 = 气体浓度高位 * 256 + 气体浓度低位;</br>
(浓度高位和浓度低位需要从16进制换算为10进制再带入本公式计算)</br></br>
温度是带符号和两位小数的数据,单位是(°C),伪代码计算公式:</br>
`T = (float)(int)((0x0A<<8)|0x09)/100` </br></br>
湿度是不带符号和两位小数的数据,单位是(rh%),伪代码计算公式:</br>
`Rh = (float)(uint)((0x0A<<8)|0x09)/100`
+ 获取当前温度和湿度
指令:`0xD2`
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 225 style = "text-align:center">0</td>
<td width = 225 style = "text-align:center">1</td>
<td width = 225 style = "text-align:center">2</td>
<td width = 225 style = "text-align:center">3</td>
</tr>
<tr>
<td style = "text-align:center">温度高8位</td>
<td style = "text-align:center">温度低8位</td>
<td style = "text-align:center">湿度高8位</td>
<td style = "text-align:center">湿度低8位</td>
</tr>
<tr>
<td style = "text-align:center">0x0A</td>
<td style = "text-align:center">0x09</td>
<td style = "text-align:center">0x11</td>
<td style = "text-align:center">0xF4</td>
</tr>
</table>
</div>
**说明:**</br>
温度是带符号和两位小数的数据,单位是(°C),伪代码计算公式:</br>
`T = (float)(int)((0x0A<<8)|0x09)/100` </br></br>
湿度是不带符号和两位小数的数据,单位是(rh%),伪代码计算公式:</br>
`Rh = (float)(uint)((0x0A<<8)|0x09)/100`
+ 获取当前温度和湿度带校验
指令:`0xD6`
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 180 style = "text-align:center">0</td>
<td width = 180 style = "text-align:center">1</td>
<td width = 180 style = "text-align:center">2</td>
<td width = 180 style = "text-align:center">3</td>
<td width = 180 style = "text-align:center">4</td>
</tr>
<tr>
<td style = "text-align:center">温度高8位</td>
<td style = "text-align:center">温度低8位</td>
<td style = "text-align:center">湿度高8位</td>
<td style = "text-align:center">湿度低8位</td>
<td style = "text-align:center">校验和</td>
</tr>
<tr>
<td style = "text-align:center">0x0A</td>
<td style = "text-align:center">0x09</td>
<td style = "text-align:center">0x11</td>
<td style = "text-align:center">0xF4</td>
<td style = "text-align:center">0xE8</td>
</tr>
</table>
</div>
**说明:**</br>
校验和03位数据相加生成一个8位的数据各位取反末尾加1
#### 四、 主动上传模式下数据
上传数据格式如下:
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">命令</td>
<td style = "text-align:center">气体浓度高位($ug/{m^3}$)</td>
<td style = "text-align:center">气体浓度低位($ug/{m^3}$)</td>
<td style = "text-align:center">满量程高位</td>
<td style = "text-align:center">满量程低位</td>
<td style = "text-align:center">气体浓度高位($ppb$)</td>
<td style = "text-align:center">气体浓度低位($ppb$)</td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x86</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x2A</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x20</td>
<td style = "text-align:center">0x30</td>
</tr>
</table>
</div>
**说明:**</br>
校验和011位数据相加生成一个8位的数据各位取反末尾加1</br>
气体浓度值 = 气体浓度值高位 * 256 + 气体浓度值低位;</br>
(浓度高位和浓度低位需要从16进制换算为10进制后再带入本公式计算)
*其他关于低功耗的指令详见数据手册*
## TB600B-WQ-HCHO-1-O 甲醛气体检测模组
<div class = "wrapper">
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" >
<tr>
<td style="width: 50%;">
<!--左侧内容-->
<img src = "./imagesrc/TB600BHCHO.png" alt="TB600B_HCHO" width =100% max-width= 100% >
</td>
<td style="width: 50%;">
<!--右侧内容-->
ppb级高精度环境监测应用</br></br>
极强的抗干扰能力对低浓度乙醇、CO、芳香烃、异味、烟气、空气清新剂等有很好的抗干扰能力</br></br>
长寿命、检测稳定、可靠性高;</br></br>
快速响应;</br></br>
独立温湿度数字传感器,结合智能算法,环境适应性强;</br></br>
</td>
</tr>
</table>
</div>
### 应用领域
+ 室内家居空气质量污染监测
+ 家用、商用新风在线净化系统
+ 家用新风机、净化器
+ 商业场所空气质量污染监测
+ 室内温湿度监测仪
+ 车载空气净化器
+ 公共交通工具空间内空气监测
+ 暖通空调系统
+ 智能可穿戴设备(腕表、口罩、手机)
+ 健康运动设备
*接线及通信协议与TB600B-IAQ-10 空气质量检测模组相同,这里不再赘述。更为详细的指令详见数据手册*
## TB600B-TVOC-10 有机挥发物气体检测模组
<div class = "wrapper">
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" >
<tr>
<td style="width: 50%;">
<!--左侧内容-->
<img src = "./imagesrc/TB600BTVOC.png" alt="TB600B_TVOC" width =100% max-width= 100% >
</td>
<td style="width: 50%;">
<!--右侧内容-->
ppb级高精度环境监测应用</br></br>
ppb级TVOC气体传感器</br></br>
可对300多类以上的VOC气体反应</br></br>
长寿命、检测稳定、可靠性高;</br></br>
快速响应;</br></br>
独立温湿度数字传感器,结合智能算法,环境适应性强;</br></br>
小体积低功耗;</br></br>
</td>
</tr>
</table>
</div>
### 应用领域
+ 室内家居空气质量污染监测
+ 家用、商用新风在线净化系统
+ 家用新风机、净化器
+ 商业场所空气质量污染监测
+ 室内温湿度监测仪
+ 车载空气净化器
+ 公共交通工具空间内空气监测
+ 暖通空调系统
+ 智能可穿戴设备(腕表、口罩、手机)
+ 健康运动设备
+ 抽油烟机和智能家具产品
+ 实验室排风柜系统
+ 超净实验室环境监测
+ 小型无人机环境空气质量监测
*接线及通信协议与TB600B-IAQ-10 空气质量检测模组相同,这里不再赘述。更为详细的指令详见数据手册*
## G8 二氧化碳气体检测模组
<div class = "wrapper">
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" >
<tr>
<td style="width: 50%;">
<!--左侧内容-->
<img src = "./imagesrc/G8.jpg" alt="G8" width =100% max-width= 100% >
</td>
<td style="width: 50%;">
<!--右侧内容-->
非色散红外技术精确监测CO<sub>2</sub></br></br>
定期自动校准和手动校准,可选</br></br>
</td>
</tr>
</table>
</div>
### 应用领域
+ 室内空气质量
+ 采暖通风与空调系统
+ 环境监测
+ 绿色建筑
### 性能指标
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 600>
<tr>
<td width = 250>检测气种 </td>
<td width = 350>二氧化碳</td>
</tr>
<tr>
<td>应用原理 </td>
<td>非色散红外技术</td>
</tr>
<tr>
<td>检测范围</td>
<td>400ppm ~ 2000ppm</br>可扩展为0~10000ppm</td>
</tr>
<tr>
<td>测量周期</td>
<td>4 秒</td>
</tr>
<tr>
<td>准确度 </td>
<td>±50ppm±读数的3%</td>
</tr>
<tr>
<td>响应时间(T90) </td>
<td>120秒</td>
</tr>
<tr>
<td>预热时间</td>
<td>上电8秒(输出浓度)上电3分钟(准确输出)</br></td>
</tr>
</table>
</div>
### 接线说明
<div style="display: flex;justify-content: center;align-items: center;">
<img src = "./imagesrc/G8_pin.png" alt="G8_pin" width =100% max-width= 100% >
</br>
</div>
**工作电压为4.5V ~ 5.25V**
### 通信协议
#### 一、通用设置
传感器使用串行通讯方式。
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 600>
<tr>
<td width = 200>波特率</td>
<td width = 400>9600</td>
</tr>
<tr>
<td>数据位</td>
<td>8位</td>
</tr>
<tr>
<td>停止位</td>
<td>1位</td>
</tr>
<tr>
<td>校验位</td>
<td></td>
</tr>
</table>
</div>
#### 二、数据包格式
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 700>
<tr>
<td width = 100>Byte1</td>
<td width = 100>......</td>
<td width = 100>ByteN</td>
<td width = 100>0x09</td>
<td width = 100>校验字</td>
<td width = 100>0x0d</td>
<td width = 100>0x0a</td>
</tr>
<tr>
<td colspan="3">数据区</td>
<td >Tab</td>
<td >校验区</td>
<td >回车</td>
<td >换行</td>
</tr>
</table>
</div>
1. 一个数据包是由 ASCII 码组成的字符串
2. 校验字算法:数据区(Byte1~ByteN,不包含 Tab)的所有字节累加求和,记为
Sum则校验字 Checksum = (unsigned char)(-(signed char)Sum)
3. 校验区内容:是校验字的两位 ASCII 码(占两个字节),例如校验字为 0x23
校验区为 0x32,0x33(即字符'2','3');又如校验字是 0xab则校验区为
0x41,0x42(即字符'A','B',注意此处应是大写字母)
### 串口协议命令表
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;text-align:center" width = 600>
<tr>
<td width = 100><B>指令</B></td>
<td width = 250><B>功能名称</B></td>
<td width = 250><B>说明</B></td>
</tr>
<tr>
<td width = 100>R0</td>
<td width = 250>读取传感器序列号及版本号</td>
<td width = 250>/</td>
</tr>
<tr>
<td>R4</td>
<td>读取传感器量程及单位</td>
<td>/</td>
</tr>
<tr>
<td>R6</td>
<td>读浓度</td>
<td>/</td>
</tr>
<tr>
<td>RA</td>
<td>查看零点校准功能状态</td>
<td>包括开关、进行阶段、周期、基准值</td>
</tr>
<tr>
<td>SA+时间(h)</td>
<td>设定零点校准周期+开关</td>
<td>时间为0时表示暂停此功能</br>时间大于0时表示开启此功能,并将周期设为相应时间</br></td>
</tr>
<tr>
<td>SC+浓度(ppm)</td>
<td>设定零点校准基准值</td>
<td>/</td>
</tr>
<tr>
<td>B+浓度(ppm)</td>
<td>单点标定</td>
<td>/</td>
</tr>
<tr>
<td>F0</td>
<td>切换到F0模式</td>
<td>传感器进入不主动发送浓度值状态</td>
</tr>
<tr>
<td>F1</td>
<td>切换到F1模式</td>
<td>传感器进入主动发送浓度值状态</td>
</tr>
</table>
</div>
#### 协议示例
+ 读取传感器序列号及版本号
发送:
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 700>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
</tr>
<tr>
<td style = "text-align:center">0x52</td>
<td style = "text-align:center">0x30</td>
<td style = "text-align:center">0x09</td>
<td style = "text-align:center">0x37</td>
<td style = "text-align:center">0x45</td>
<td style = "text-align:center">0x0D</td>
<td style = "text-align:center">0x0A</td>
</tr>
</table>
</div>
转换为ASCII 码: R0 7E</br>
应答(ASCII 码) ID:718D FA31 FW:207 MAP:1 11</br></br>
说明:</br>
ID:718D FA31 —— 序列号</br>
FW:207 —— 固件版本号</br>
MAP:1 —— 寄存器映射版本号</br>
+ 读取浓度值
发送:
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 700>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
</tr>
<tr>
<td style = "text-align:center">0x52</td>
<td style = "text-align:center">0x36</td>
<td style = "text-align:center">0x09</td>
<td style = "text-align:center">0x37</td>
<td style = "text-align:center">0x38</td>
<td style = "text-align:center">0x0D</td>
<td style = "text-align:center">0x0A</td>
</tr>
</table>
</div>
转换为ASCII 码: R6 78</br>
应答(ASCII 码) 1265 32</br></br>
说明:</br>
浓度值为1265ppm
*更多示例详见数据手册*
## AS830 可燃(有毒)气体探测模块
<div class = "wrapper">
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" >
<tr>
<td style="width: 50%;">
<!--左侧内容-->
<img src = "./imagesrc/AS830.png" alt="AS830" width =100% max-width= 100% >
</td>
<td style="width: 50%;">
<!--右侧内容-->
监测可燃气体和一氧化碳的浓度;</br></br>
具有燃气泄漏报警功能;</br></br>
具有燃气不完全燃烧报警功能。</br>
</td>
</tr>
</table>
</div>
### 应用领域
+ 可燃(有毒)气体泄漏报警;
+ 燃气炉具、热水器不完全燃烧监控;
+ 室内空调环境下,空气质量监测。
*注:该模块可独立使用,也可安装在燃气器具内配套使用。*
### 技术参数
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 700>
<tr>
<td width = 175 rowspan="4" style = "text-align:center" >分型产品(可选)</td>
<td width = 175 style = "text-align:center"><b>分型号</b></td>
<td width = 175 style = "text-align:center"><b>可探测气体</b></td>
<td width = 175 style = "text-align:center"><b>传感器</b></td>
</tr>
<tr>
<td>AS830</td>
<td>CO 和 CH<sub>4</sub></td>
<td>SB-95-12</td>
</tr>
<tr>
<td>AS830/CO </td>
<td>CO</td>
<td>SB-500-12</td>
</tr>
<tr>
<td>AS830/CH<sub>4</sub> </td>
<td>CH<sub>4</sub> </td>
<td>SB-12A</td>
</tr>
</table>
</div>
</br>
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 700>
<tr>
<td width = 175 style = "text-align:center"><b>项目</b></td>
<td colspan="2" width = 525 style = "text-align:center"><b>规格</b></td>
</tr>
<tr>
<td style = "text-align:center">供电电源</td>
<td colspan="2" style = "text-align:center">DC5V±10%≤100mA</br>监视状态电流≤40mA 报警状态电流≤70mA </td>
</tr>
<tr>
<td style = "text-align:center">预热时间</td>
<td colspan="2" style = "text-align:center">通电后 180s3 分钟1 </td>
</tr>
<tr>
<td rowspan="3" style = "text-align:center">报警方式</td>
<td width = 125 style = "text-align:center">CO </td>
<td width = 400 >浓度低于 100ppm不报警</br>浓度在 150ppm〜300ppm 区间,保持 180s发出低段报警</br>浓度高于 300ppm 且保持 30s发出高段报警。 </td>
</tr>
<tr>
<td width = 125 style = "text-align:center">CH<sub>4</sub> </td>
<td width = 400 >洁净空气,不报警;</br>浓度高于 6%LEL保持 30s发出高段报警。 </td>
</tr>
<tr>
<td colspan="2" > 注:报警区间和报警点可以依据客户要求设计。 </td>
</tr>
<tr>
<td rowspan="6" style = "text-align:center">指示灯</td>
<td width = 125 style = "text-align:center">状态 </td>
<td width = 400 style = "text-align:center">指示灯 </td>
</tr>
<tr>
<td style = "text-align:center">自检 </td>
<td >绿、红、黄色灯依次点亮 </td>
</tr>
<tr>
<td style = "text-align:center">预热 </td>
<td >绿灯 快速闪亮 </td>
</tr>
<tr>
<td style = "text-align:center">正常监视 </td>
<td >绿灯 慢速闪亮 </td>
</tr>
<tr>
<td style = "text-align:center">故障 </td>
<td>黄灯 快速闪亮 </td>
</tr>
<tr>
<td style = "text-align:center">报警 </td>
<td >甲烷报警: 红灯 常亮</br>低段报警(一氧化碳):红灯 慢速闪亮</br>高段报警(一氧化碳):红灯 快速闪亮 </td>
</tr>
<tr>
<td rowspan="6" style = "text-align:center">蜂鸣器</td>
<td colspan="2" style = "text-align:center">有源蜂鸣器距离 1 米处声压级 70dB〜95dB </td>
</tr>
<tr>
<td style = "text-align:center">状态 </td>
<td style = "text-align:center">蜂鸣器 </td>
</tr>
<tr>
<td style = "text-align:center">自检 </td>
<td >短鸣一声 </td>
</tr>
<tr>
<td style = "text-align:center">预热 </td>
<td >预热完成短鸣一声,提醒退出预热状态 </td>
</tr>
<tr>
<td style = "text-align:center">故障 </td>
<td >每隔 10 秒“滴”一声 </td>
</tr>
<tr>
<td style = "text-align:center">报警 </td>
<td>低段报警:每隔 2 秒“滴、滴”慢速鸣叫</br> 高段报警:每隔 0.5 秒“滴、滴”快速鸣叫</td>
</tr>
<tr>
<td style = "text-align:center">按键</td>
<td colspan="2" style = "text-align:center" >内置微动开关通过针孔使用一个工具按压实现自检和消音2 功能</td>
</tr>
<tr>
<td style = "text-align:center">输出方式</td>
<td colspan="2" style = "text-align:center" >PWM 格式信号峰值电平≤3.3V</td>
</tr>
<tr>
<td rowspan="8" style = "text-align:center">输出格式</td>
<td style = "text-align:center">工作状态 </td>
<td style = "text-align:center">输出波形 </td>
</tr>
<tr>
<td style = "text-align:center">正常监视 </td>
<td style = "text-align:center">高电平 </td>
</tr>
<tr>
<td style = "text-align:center">电源偏移</td>
<td style = "text-align:center">高 5ms 低 5ms 的方波 </td>
</tr>
<tr>
<td style = "text-align:center">传感器断路 </td>
<td style = "text-align:center">高 5ms 低 10ms 的方波 </td>
</tr>
<tr>
<td style = "text-align:center">传感器短路 </td>
<td style = "text-align:center">高 5ms 低 15ms 的方波 </td>
</tr>
<tr>
<td style = "text-align:center">CO 低段报警 </td>
<td style = "text-align:center">高 5ms 低 20ms 的方波 </td>
</tr>
<tr>
<td style = "text-align:center">CO 高端报警 </td>
<td style = "text-align:center">高 5ms 低 25ms 的方波 </td>
</tr>
<tr>
<td style = "text-align:center">CH<sub>4</sub> 高段报警 </td>
<td style = "text-align:center">高 5ms 低 30ms 的方波 </td>
</tr>
</table>
</div>
### 接线说明
<div style="display: flex;justify-content: center;align-items: center;">
<img src = "./imagesrc/AS830pin.png" alt="AS830_pin" width =70% max-width= 70% >
</br>
</div>
连接线束可采用标准MicroUSB接口和标准4PIN端子。
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 700>
<tr>
<td width = 175 rowspan="5" style = "text-align:center" >引脚说明</td>
<td width = 525 colspan="2">MicroUSB (安卓手机充电器标准接口)</td>
</tr>
<tr>
<td width = 525 colspan="2">4PIN端子XH-A卧式</td>
</tr>
<tr>
<td width = 200>VCC </td>
<td width = 325>电源正 5 V</td>
</tr>
<tr>
<td>PWM</td>
<td> 状态输出引脚,输出 PWM 波形</td>
</tr>
<tr>
<td>GND</td>
<td>电源地</td>
</tr>
</table>
</div>
### 通信协议
#### 一、通用设置
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 600>
<tr>
<td width = 200>波特率</td>
<td width = 400>9600</td>
</tr>
<tr>
<td>数据位</td>
<td>8位</td>
</tr>
<tr>
<td>停止位</td>
<td>1位</td>
</tr>
<tr>
<td>校验位</td>
<td></td>
</tr>
</table>
</div>
#### 二、数据说明
模块上电发送产品信息,然后每 13 秒发送一次浓度数据,数据示例如下:</br>
AS830_CH4_CON_V1.0_202006093E</br>
0000000078&ensp;&ensp;11</br>
0&ensp;&ensp;&ensp;&ensp;&ensp;D0</br>
……</br>
7&ensp;&ensp;&ensp;&ensp;&ensp;C9</br>
12&ensp;&ensp;&ensp;&ensp;9D</br>
20&ensp;&ensp;&ensp;&ensp;9E</br>
……</br>
0&ensp;&ensp;&ensp;&ensp;&ensp;D0
#### 三、数据格式
浓度1 个或 2 个字符) tab 0x09校验码2 个字符0x0D 0x0A</br>
浓度单位为%LEL量程 0~20%LEL
#### 四、校验码计算方法
将从头到 tab(不包含 tab)前的所有字符求取单字节累加和 s. 则校验字为 `checksum= (unsigned char)(-(signed char)s)`</br>
浓度为 0 时s=0x30`checksum = (unsigned char)(-0x30)=0xD0`,转换成 ASCII 格式 D0</br>
浓度为 7 时s=0x37`checksum =(unsigned char)(-0x37)=0xC9`,转换成 ASCII 格式 C9</br>
浓度为 12 时s=0x31+0x32=0x63`checksum=(unsigned char)(-0x63)=0x9D`,转换成 ASCII 格式 9D</br>
## WZ-H3-K型选择性甲醛检测模组
<div class = "wrapper">
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" >
<tr>
<td style="width: 50%;">
<!--左侧内容-->
<img src = "./imagesrc/WZ-H3-K.png" alt="WZ-H3-K" width =100% max-width= 100% >
</td>
<td style="width: 50%;">
<!--右侧内容-->
选择性检测甲醛 </br></br>
测量精度高 </br></br>
响应速度快 </br></br>
使用寿命长</br></br>
稳定可靠 </br></br>
低功耗
</td>
</tr>
</table>
</div>
### 应用领域
+ 新风系统
+ 空气净化器
+ 便携式仪表
+ 可穿戴设备
+ 智能家居
### 管脚定义
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed; text-align:center" width = 600>
<tr>
<td width = 150 >Pin1 </td>
<td width = 200>VCC</td>
<td width = 250 rowspan = "2">3.3V-5V</td>
</tr>
<tr>
<td>Pin2</td>
<td>GND</td>
</tr>
<tr>
<td>Pin3</td>
<td>RST</td>
<td>复位</td>
</tr>
<tr>
<td>Pin4</td>
<td>SW</td>
<td>程序接口</td>
</tr>
<tr>
<td>Pin5</td>
<td>NC</td>
<td>悬空</td>
</tr>
<tr>
<td>Pin6</td>
<td>TXD</td>
<td>传感器发送引脚</td>
</tr>
<tr>
<td>Pin7</td>
<td>RXD</td>
<td>传感器接收引脚</td>
</tr>
</table>
</div>
### 技术指标
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed; text-align:center" width = 600>
<tr>
<td width = 200 >产品型号 </td>
<td width = 400>WZ-H3-K</td>
</tr>
<tr>
<td>检测气体</td>
<td>甲醛</td>
</tr>
<tr>
<td>检测量程</td>
<td>0-2ppm</td>
</tr>
<tr>
<td>最大过载 </td>
<td>5ppm</td>
</tr>
<tr>
<td>供电电压</td>
<td>3.3-5V</td>
</tr>
<tr>
<td>响应时间T90</td>
<td> &lt;120S </td>
</tr>
<tr>
<td>分辨率 </td>
<td>0.01ppm</td>
</tr>
<tr>
<td>检测精度 </td>
<td>±30ppb 或±10%取大值25±3℃50±5%RH</td>
</tr>
</table>
</div>
### 通信协议
#### 通用设置
传感器模块使用串行通讯方式,通讯配置参数如下:
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 600>
<tr>
<td width = 200>波特率</td>
<td width = 400>9600</td>
</tr>
<tr>
<td>数据位</td>
<td>8位</td>
</tr>
<tr>
<td>停止位</td>
<td>1位</td>
</tr>
<tr>
<td>校验位</td>
<td></td>
</tr>
</table>
</div>
#### 通讯命令
通讯分主动上传和问答式,出厂默认为主动上传,每隔 1 秒发送 1 次浓度值。</br>
命令行格式如下:</br>
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">气体名称</td>
<td style = "text-align:center">单位</td>
<td style = "text-align:center">小数位数无 </td>
<td style = "text-align:center">气体浓度高位</td>
<td style = "text-align:center">气体浓度低位</td>
<td style = "text-align:center">满量程高位</td>
<td style = "text-align:center">满量程低位</td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">CH2O=0x17</td>
<td style = "text-align:center">Ppb=0x04</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x25</td>
<td style = "text-align:center">0x07</td>
<td style = "text-align:center">0xD0</td>
<td style = "text-align:center">0x25</td>
</tr>
</table>
</div>
气体浓度值=气体浓度高位*256+气体浓度低位;</br>
(浓度高位和浓度低位需从 16 进制换算为 10 进制后再代入本公式计算)</br>
切换到问答式,命令行格式如下:</br>
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">切换命令</td>
<td style = "text-align:center">问答 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x01</td>
<td style = "text-align:center">0x78</td>
<td style = "text-align:center">0x41</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x46</td>
</tr>
</table>
</div>
切换到主动上传,命令行格式如下:</br>
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">切换命令</td>
<td style = "text-align:center">主动上传 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x01</td>
<td style = "text-align:center">0x78</td>
<td style = "text-align:center">0x40</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x47</td>
</tr>
</table>
</div>
读气体浓度值格式如下:</br>
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">保留</td>
<td style = "text-align:center">命令</td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x01</td>
<td style = "text-align:center">0x86</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x79</td>
</tr>
</table>
</div>
传感器返回值格式如下:</br>
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 900>
<tr>
<td width = 100 style = "text-align:center">0</td>
<td width = 100 style = "text-align:center">1</td>
<td width = 100 style = "text-align:center">2</td>
<td width = 100 style = "text-align:center">3</td>
<td width = 100 style = "text-align:center">4</td>
<td width = 100 style = "text-align:center">5</td>
<td width = 100 style = "text-align:center">6</td>
<td width = 100 style = "text-align:center">7</td>
<td width = 100 style = "text-align:center">8</td>
</tr>
<tr>
<td style = "text-align:center">起始位</td>
<td style = "text-align:center">命令</td>
<td style = "text-align:center">气体浓度高位ug/m3</td>
<td style = "text-align:center">气体浓度低位ug/m3 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">保留 </td>
<td style = "text-align:center">气体浓度高位ppb </td>
<td style = "text-align:center">气体浓度低位ppb </td>
<td style = "text-align:center">校验值</td>
</tr>
<tr>
<td style = "text-align:center">0xFF</td>
<td style = "text-align:center">0x86</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x2A</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x00</td>
<td style = "text-align:center">0x20</td>
<td style = "text-align:center">0x30</td>
</tr>
</table>
</div>
气体浓度值=气体浓度高位*256+气体浓度低位</br>
(浓度度高位和浓度低位需从 16 进制换算为 10 进制后再代入本公式计算)
## PS5308/PS5308A 激光颗粒物传感器
<div class = "wrapper">
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" >
<tr>
<td style="width: 50%;">
<!--左侧内容-->
<img src = "./imagesrc/PS5308A.png" alt="PS5308A" width =100% max-width= 100% >
</td>
<td style="width: 50%;">
<!--右侧内容-->
实时检测输出</br></br>
数据准确可靠</br></br>
最小分辨粒径 0.3 微米</br></br>
特定激光防衰减恒定亮度功能&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;</br></br>
具备抗干扰能力</br></br>
标准 TTL 串口数据输出</br></br>
小尺寸易安装
</td>
</tr>
</table>
</div>
### 应用领域
+ 空气净化器
+ 新风系统
+ 空调
+ 车载空气净化器
+ 空气质量监测仪
+ 环境监测
+ 手持式空气质量检测仪
### 管脚定义
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed; text-align:center" width = 600>
<tr>
<td width = 150 >Pin1 </td>
<td width = 200>VCC</td>
<td width = 250 >电源 5V</td>
</tr>
<tr>
<td>Pin2</td>
<td>GND</td>
<td width = 250 >电源地</td>
</tr>
<tr>
<td>Pin3</td>
<td>WKUP</td>
<td>高电平或悬空:工作状态;</br>低电平:休眠状态.</br>TTL 电平@3.3V</td>
</tr>
<tr>
<td>Pin4</td>
<td>RXD</td>
<td>串口接收TTL 电平@3.3V</td>
</tr>
<tr>
<td>Pin5</td>
<td>TXD</td>
<td>串口发送TTL 电平@3.3V</td>
</tr>
<tr>
<td>Pin6</td>
<td>REST</td>
<td>传感器复位信号 TTL 电平@3.3V,低电平复位</td>
</tr>
<tr>
<td>Pin7</td>
<td>NC</td>
<td>悬空</td>
</tr>
<tr>
<td>Pin8</td>
<td>NC</td>
<td>悬空</td>
</tr>
</table>
</div>
### 技术指标
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed; text-align:center" width = 600>
<tr>
<td width = 200 >产品型号 </td>
<td width = 400>PS5308/PS5308A</td>
</tr>
<tr>
<td>颗粒物测量范围 </td>
<td>PM2.5PM10 选配)</td>
</tr>
<tr>
<td>检测量程</td>
<td>0~1000 ug/ m³</td>
</tr>
<tr>
<td>颗粒物质量浓度一致性</td>
<td> ≥100 ug/ m³±10%</br>&lt;100 ug/ m³±10 ug/ m³ </td>
</tr>
<tr>
<td>颗粒物质量浓度准确性(参考标准TSI 8530)</td>
<td> ≥100 ug/ m³±10%</br>&lt;100 ug/ m³±10 ug/ m³ </td>
</tr>
<tr>
<td>电源电压 </td>
<td>DC 5±0.5V,纹波&lt;50mV</td>
</tr>
</table>
</div>
### 通信协议
#### 一、通用设置
传感器使用串行通讯方式。
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed;" width = 600>
<tr>
<td width = 200>波特率</td>
<td width = 400>9600</td>
</tr>
<tr>
<td>数据位</td>
<td>8位</td>
</tr>
<tr>
<td>停止位</td>
<td>1位</td>
</tr>
<tr>
<td>校验位</td>
<td></td>
</tr>
</table>
</div>
#### 二、数据包格式
<div>
<table style="margin-left: auto; margin-right: auto; table-layout: fixed; " width = 900>
<tr>
<td width = 200 style="text-align:center">字节序号 </td>
<td width = 200 style="text-align:center">数据</td>
<td width = 500 style="text-align:center">定义</td>
</tr>
<tr>
<td width = 200 style="text-align:center">0 </td>
<td width = 200 style="text-align:center">0x44</td>
<td width = 500 >起始符 1</td>
</tr>
<tr>
<td width = 200 style="text-align:center">1 </td>
<td width = 200 style="text-align:center">0x4D </td>
<td width = 500 >起始符 2</td>
</tr>
<tr>
<td width = 200 style="text-align:center">2 </td>
<td width = 200 style="text-align:center">0x00</td>
<td width = 500 rowspan = "2">数据帧长度(字节 4 数据至校验位) </td>
</tr>
<tr>
<td width = 200 style="text-align:center">3 </td>
<td width = 200 style="text-align:center">0x1C</td>
</tr>
<tr>
<td width = 200 style="text-align:center">4 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">PM1.0 浓度值(进风口带 6080 目滤网时单位ug/m³ </td>
</tr>
<tr>
<td width = 200 style="text-align:center">5 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">6 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">PM2.5 浓度值(进风口带 6080 目滤网时单位ug/m³ </td>
</tr>
<tr>
<td width = 200 style="text-align:center">7 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">8 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">PM10 浓度值(进风口带 6080 目滤网时单位ug/m³ </td>
</tr>
<tr>
<td width = 200 style="text-align:center">9 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">10 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">PM1.0 浓度值进出风口无障碍物时单位ug/m³ </td>
</tr>
<tr>
<td width = 200 style="text-align:center">11 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">12 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">PM2.5 浓度值进出风口无障碍物时单位ug/m³ </td>
</tr>
<tr>
<td width = 200 style="text-align:center">13 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">14 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">PM10 浓度值进出风口无障碍物时单位ug/m³ </td>
</tr>
<tr>
<td width = 200 style="text-align:center">15 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">16 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">0.1 升空气中直径在 0.3um 以上颗粒物个数 </td>
</tr>
<tr>
<td width = 200 style="text-align:center">17 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">18 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">P0.1 升空气中直径在 0.5um 以上颗粒物个数 </td>
</tr>
<tr>
<td width = 200 style="text-align:center">19 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">20 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">0.1 升空气中直径在 1.0um 以上颗粒物个数 </td>
</tr>
<tr>
<td width = 200 style="text-align:center">21 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">22 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">0.1 升空气中直径在 2.5um 以上颗粒物个数 </td>
</tr>
<tr>
<td width = 200 style="text-align:center">23 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">24 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">0.1 升空气中直径在 5.0um 以上颗粒物个数 </td>
</tr>
<tr>
<td width = 200 style="text-align:center">25 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">26 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">0.1 升空气中直径在 10um 以上颗粒物个数 </td>
</tr>
<tr>
<td width = 200 style="text-align:center">27 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
<tr>
<td width = 200 style="text-align:center">28 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 ></td>
</tr>
<tr>
<td width = 200 style="text-align:center">29 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 ></td>
</tr>
<tr>
<td width = 200 style="text-align:center">30 </td>
<td width = 200 style="text-align:center">XX</td>
<td width = 500 rowspan = "2">校验和=字节 0 数据+字节 1 数据+„„+字节 29 数据</td>
</tr>
<tr>
<td width = 200 style="text-align:center">31 </td>
<td width = 200 style="text-align:center">XX</td>
</tr>
</table>
</div>
数据说明:
1. 主要输出为空气中 PM2.5 颗粒物质量浓度单位ug/ m³。
2. 传感器输出为主动输出。传感器上电后,主动向主机发送串行数据,时间间隔为 1 秒。
3. 定义为“空白”的字节为厂家备用字节。
4. “进出风口无障碍物”意指:传感器进出风量未受到影响。