接下来我们要对传感器进行全面详细的了解,SEN66传感器是盛思锐开发的一款多参数环境传感器。SEN6x传感器模块系列是一个空气质量平台,将颗粒物、相对湿度、温度、VOC、NOx、二氧化碳或甲醛等关键参数集成在一个紧凑的封装中。这些模块是盛思锐在环境传感方面丰富经验的结果,可为每个参数提供最佳性能,超长的使用寿命和无与伦比的外形因素。所有测量参数的组合,以及所有相关算法在一个设备中简化了集成,非常适合快速产品落地。对于SEN66的参数包括PM, RH & T, VOC, NOx, CO2。SEN66和SEN68属于SEN6x传感器模块系列中检测最全面的传感器,主要是最后一个采集参数不同。
一、基本原理
颗粒物(PM)检测采用光散射原理:空气中的微粒穿过集成激光束时产生光散射,光电探测器捕捉散射光信号,内置算法分析散射光强度计算微粒的粒径分布和质量浓度。当空气中的微粒通过集成激光束时,光在颗粒物表面散射并被光电探测器捕获。内置算法分析光散射,计算微粒的粒径分布和质量浓度。由于SPS6x集成 了专用集成电路(ASIC),无需外部处理便可通过 I2C 接口提供经过完整的处理值。
温湿度检测由集成的数字式传感器完成,温度测量基于热电效应(如半导体热敏元件),湿度测量利用电容式感湿材料,其电容值随环境湿度变化,通过ADC转换输出数字信号。
挥发性有机物(VOC)和氮氧化物(NOx)检测采用金属氧化物半导体传感器:VOC和NOx气体与传感器表面的金属氧化物(如SnO₂)发生反应,导致材料电导率变化,通过测量电导率变化量推算气体浓度,内置算法补偿温度和湿度干扰。
二氧化碳(CO₂)检测基于非分散红外原理(NDIR):红外光源发射特定波长光束穿过气室,CO₂分子选择性吸收光能,红外探测器检测光强衰减,吸收强度与CO₂浓度成正比,传感器支持自动校准以维持长期稳定性。
二、基本框图
该传感器模块主要由以下部分组成:左侧是气流通道,空气通过风扇(Fan)被引入模块内部,依次经过多个传感器单元,包括CO₂传感器、RH&T(温湿度)传感器、VOC&NOₓ(挥发性有机物和氮氧化物)传感器以及PM(颗粒物)传感器,各自负责检测空气中的二氧化碳、温湿度、挥发性有机物/氮氧化物和颗粒物浓度。各传感器的信号通过蓝色线(数据线)传递给MCU(主控单元),MCU负责数据采集、处理和通信。模块右上方为接口区,包括VDD(电源)、GND(地)、SDA和SCL(I2C通信接口),用于与外部主机进行数据交互。ESD Protection(静电保护)用于防止外部静电对电路造成损坏。3V LDO(低压差线性稳压器)将3.3V电源转换为3.0V,为部分电路供电。整体供电和信号路径用红色和蓝色线区分,红色为电源线,蓝色为信号线。模块通过I2C总线与外部系统通信,实现多参数环境监测功能。
三、基本性能
SEN66有多个参数,不同的参数要求及性能是不一样,一些基本性能如下:
采样间隔1s,注意IIC通电到通信之间需要100ms的启动时间;
寿命长达10年;
重量20g;
颗粒物检测包括PM1(0.3 - 1.0 μm)、PM2.5(0.3 - 2.5 μm)、PM4(0.3 - 4.0 μm)、PM10(0.3 - 10.0 μm)四个参数,检测范围为0- 1000 μg/m3;
VOC 和 NOx的检测范围为1-500;
CO2检测范围为0-40000ppm,注意需启用自动自校准(ASC)功能并连续运行,且每周至少暴露于新鲜空气中一次(即二氧化碳浓度为 400ppm);
供电电压为3.3V;
IIC接口耐压5V;
四、引脚定义
SEN66对外接口只有IIC,不过实际物理接口有6个,推荐线缆如下:
实际引脚1和6为VDD,2和5为GND,3为SDA,4为SCL,其中3和4支持5VTTL。
五、典型电路
主SCL用于同步主(微控制器)和从(传感器)之间的I2C通信。主SDA引脚用于向传感器传输数据和从传感器传输数据。主SCL和主SDA线都应连接到外部上拉电阻(例如 10 kΩ)。为了避免信号争用,微控制器必须只驱动SDA和SCL低电平。请注意,对于本次的传感器来说上拉电阻应该包含在微控制器的I/O电路中。
六、接口信息说明
SEN66可以通过发送它的7位I2C地址来寻址,后面跟着第八位表示通信方向:“0”表示“写”请求,“1”表示“读”请求。设备地址为0x6B。通信速率为100k。
发送和接收传感器的数据由16位命令和/或16位字的序列组成(每个被解释为无符号整数)。每个数据字后面会跟一个8位的CRC。在写方向上,必须传输CRC校验。在读取方向上,由主端决定是否要处理CRC校验。
请注意,CRC仅用于16位数据包。16位命令ID本身已经包含了一个3位的CRC,因此不需要向其追加CRC,每个命令ID由4位十六进制表示。
SEN66具有四种不同的I2C命令序列类型:“读I2C序列”,“写I2C序列”,“发送I2C命令序列”,“获取IPC序列“:
上图我们可以清晰的看出,寄存器地址和数据都是16位的,不管是读取还是发送,在数据的后面都会带有CRC校验。
每个数据字后传输的8位CRC校验和由CRC算法生成。CRC包含先前传输的两个数据字节的内容。为了计算校验和,只使用这两个先前传输的数据字节。
七、工作模式
1、空闲模式
上电或者复位后进入空闲模式,在这个模式下大部分内部电子设备关闭/减少了功耗,关闭风扇和激光器,该模块准备好接收和处理任何命令。
2、测量模式
所有电子设备均被设置为开启状态,并且其运行功率均被调整至最大水平,以全面评估其功耗情况,精密的测量工作正在有条不紊地进行中,各个模块持续不断地对测量数据进行高效处理与分析。在测量过程中,每秒钟都会产生并记录下全新的数据读数,确保数据的实时性与准确性。
七、常见命令
1、Start Continuous Measurement SEN6x
说明:开始连续测量。开始测量后,需要一段时间(~1.1s)才能获得第一次测量结果。您可以使用Get Data Ready SEN6x命令进行轮询,以检查何时可以读取结果。
2、Stop Measurement SEN6x
说明:停止测量并返回到空闲模式。发送此命令后,至少等待1000毫秒才能开始新的测量。
3、Get Data Ready SEN6x
说明:该命令可用于检查新的测量结果是否准备好读取。读取测量值后,数据readyflag自动复位。
4、Read Measured Values SEN66
说明:返回测量值。Get Data Ready SEN6x命令可用于检查自上次读取操作以来newdata是否可用。如果没有可用的新数据,将返回以前的值。如果没有数据可用(例如,测量至少一秒钟没有运行),所有值都将在其上限(uint16为0xFFFF, int16为0x7FFF)。
5、Read Measured Raw Values SEN66
说明:返回测量的原始值。Get Data Ready SEN6x命令可用于检查自上次读取操作以来是否有新数据可用。如果没有可用的新数据,则返回之前的值。如果没有数据可用(例如,测量至少一秒钟没有运行),所有值将超过其上限(uint16为0xFFFF, int16为0x7FFF)。
6、Read Number Concentration Values SEN6x
说明:返回测量的数字浓度值。Get Data Ready SEN6x命令可用于检查自上次读取操作以来是否有新数据可用。如果没有可用的新数据,则返回先前的值。如果根本没有可用的数据(例如,测量至少一秒钟没有运行),所有值将处于其上限(uint16的0xFFFF)。
7、Set Temperature Offset Parameters
说明:该命令允许在客户端通过对环境温度应用自定义温度偏移来补偿设计中的温度影响。补偿后的环境温度计算如下:T_Ambient_Compensated = T_Ambient + (slope * T_Ambient) + offset
其中斜率和偏移量是用该命令设置的值,用指定的时间常数进行平滑。所有的温度(T_Ambient_Compensated, T_Ambient and offset)都用°c表示。有5个可用的温度偏移槽。温度偏移参数的默认值都是零,这意味着T_Ambient_Compensated默认等于T_Ambient。
8、Set Temperature Acceleration Parameters
说明:该命令用于设置RH/T的自定义温度加速参数。它用自定义值覆盖RH/T的默认温度加速参数。
9、Get Product Name
说明:从设备获取产品名称
10、Get Serial Number SEN6x
说明:从设备获取序列号。
11、Read Device Status SEN6x
说明:读取当前设备状态。使用此命令获取设备状态的详细信息,设备状态用标志编码。每个设备状态标志表示32位整数值中的单个位。如果存在一个以上的错误,则设备状态寄存器值是相应标志值的总和。。注意:“Error”类型的状态标志即使错误条件不存在,它们也不会自动清除。它们只能通过读取和清除设备状态SEN6x或通过复位(通过调用设备复位SEN6x或通过电源周期)手动清除。所有其他标志如果触发条件消失,它们将自动清除。。
状态对应位:
SPEED-Fan Speed Warning:风机开启,但多次连续测量间隔转速偏离目标转速10%以上。在开始测量后的前10秒内,不检查风扇转速(沉降时间)。在启动过程中,非常低或非常高的环境温度可能触发此警告。如果持续设置此标志,则可能表明电源或风扇有问题,并且测量的PM值可能错误。当测量速度在目标速度的10%以内或离开测量模式时,该标志将自动清除:
PM – 颗粒物传感器误差:PM传感器相关的错误。如果设置了这个标志,颗粒物值可能是未知的或错误的,相对湿度和温度值可能由于补偿算法而超出规格,这取决于PM传感器的状态。即使错误消失或离开测量模式时,标志仍然设置。该标志只能通过读取和清除设备状态SEN6x或通过复位(通过调用设备复位SEN6x或通过电源周期)复位:
CO2-2– CO2传感器错误:与CO2传感器相关的错误。该标志只能通过读取和清除设备状态SEN6x或通过复位(通过调用设备复位SEN6x或通过电源周期)复位:
GAS – Gas Sensor Error (VOC and NOx):与气体传感器有关的错误。即使错误消失或离开测量模式时,标志仍然设置。该标志只能通过读取和清除设备状态SEN6x或通过复位(通过调用设备复位SEN6x或通过电源周期)复位:
RH&T – Relative Humidity and Temperature Sensor Error:RH&T传感器相关的错误,即使错误消失或离开测量模式时,标志仍然设置。该标志只能通过读取和清除设备状态SEN6x或通过复位(通过调用设备复位SEN6x或通过电源周期)复位:
FAN – Fan Error:风扇打开,但连续多个测量间隔测量0 RPM。如果风扇机械堵塞或损坏,就会发生这种情况。注意,如果报告了这个错误,测量值很可能是错误的。
12、Read And Clear Device Status SEN6x
说明:读取当前设备状态(类似于命令Read device status SEN6x),然后清除所有标志。
13、Get Version SEN6x
说明:获取固件的版本信息。
14、Device Reset SEN6x
说明:对设备执行复位。这与电源开始供电具有相同的效果。
15、Start Fan Cleaning SEN6x
说明:该命令触发风扇清洗。风扇设置为最高转速10秒后自动停止。执行此命令后,至少等待10秒才能开始测量。
16、Activate SHT Heater
说明:该命令允许您使用SHT传感器中的内置加热器来逆转高湿条件下的蠕变。该命令激活200mW的SHT传感器加热器1s。然后加热器再次自动关闭。对于下表中执行时间为20ms的固件版本,可以轮询Get SHT HeaterMeasurements命令以检查加热是否完成以触发另一个周期以最大化占空比。旧固件版本尚不支持获取SHT加热器测量值。执行此命令后,至少等待20秒,再开始测量,以获得一致的温度值(加热后果消失)。
17、Get SHT Heater Measurements
说明:当SHT传感器加热完成后,获取测量值。注意:此命令仅适用于下表中指定的固件版本。它必须在激活SHT加热器命令之后使用。该命令可以每50ms查询一次,检查加热周期是否完成,测量结果是否可用。
18、Get VOC Algorithm Tuning Parameters
说明:获取自定义VOC算法的参数。有关以下参数的更多信息,请参阅盛思锐室内空气应用VOC指数.
19、Set VOC Algorithm Tuning Parameters
说明:设置参数,自定义VOC算法。如果至少有一个参数在指定范围之外,则不起作用。注意:此配置是不稳定的,即在设备设置后参数将恢复到其默认值。
20、Get VOC Algorithm State
说明:允许备份VOC算法状态,在电源周期或设备复位后恢复操作,跳过初始学习阶段。默认情况下,VOC引擎被重置,如果停止和重新启动测量,则保留算法状态。如果需要重置VOC算法状态,则可以执行设备复位或供电循环。获取当前VOC算法状态。该数据可用于在短时间电源周期或设备复位后使用Set VOC AlgorithmState命令恢复状态。该命令既可以在测量模式下使用,也可以在空闲模式下使用(空闲模式将返回停止测量时的状态)。在测量模式下,可以读取每个测量间隔的状态,以始终具有最新的可用状态,即使在突然断电的情况下。。
21、Set VOC Algorithm State
说明:允许在电源周期或设备设置后恢复VOC算法状态以恢复操作,跳过初始学习阶段。缺省情况下,VOC引擎被重置,当测量停止和重新启动时,算法状态保持不变。如果VOC算法状态需要重置,则可以进行设备重置或供电循环。使用Get VOC算法状态命令设置先前接收到的VOC算法状态。此命令仅在空闲模式下可用,并且该状态仅在开始下一次测量时应用一次。在测量模式下,该命令无效。注意:此配置是不稳定的,即在设备设置后参数将恢复到其默认值。。
22、Get NOx Algorithm Tuning Parameters
说明:获取用于自定义NOx算法的参数。有关以下参数的更多信息,请参阅盛思锐室内空气应用的氮氧化物指数。
23、Set NOx Algorithm Tuning Parameters
说明:设置参数,自定义NOx算法。如果至少有一个参数在指定范围之外,则不起作用。查询参数设置是否成功,可使用“Get NOx Algorithm Tuning Parameters”命令。注意:此配置是不稳定的,即在设备设置后参数将恢复到其默认值。
24、Perform Forced CO2 Recalibration
说明:执行CO2信号的强制重校准(FRC)。
要成功进行准确的FRC,需要采取以下步骤:
1、使用Start Continuous measurement SEN6x命令开始测量,并在均匀和恒定的CO2浓度环境中操作传感器至少3分钟。如果适用,高度或压力补偿的参考值必须事先通过命令“设置传感器高度”或“设置环境压力”提供给传感器。
2、使用Stop measurement SEN6x命令停止测量,等待至少1400ms。
3、发出执行强制CO2重新校准命令与参考CO2浓度。
重新校准过程大约需要500毫秒才能完成,在此期间不能执行其他功能。返回值0xFFFF表示FRC失败。注意:此配置是持久的,即在设备复位或电源周期期间参数将被保留。
25、Get CO2 Sensor Automatic Self Calibration
说明:获取CO2传感器自动自校准(ASC)的状态。二氧化碳传感器支持自动自校准(ASC)长期稳定的二氧化碳输出。该特性可以启用或禁用。缺省情况下,启用该功能。
26、Set CO2 Sensor Automatic Self Calibration
说明:设置CO2传感器ASC (automatic self-calibration)状态。二氧化碳传感器支持自动自校准(ASC)长期稳定的二氧化碳输出。该特性可以启用或禁用。缺省情况下,启用该功能。在实验室条件下,当预期浓度低于400ppm时,可以禁用自动自校准,以避免基线的改变。在现场,ASC必须启用,并暴露在新鲜空气中(即二氧化碳浓度在400 ppm),每周至少一次,以达到数据表中的性能。注意:此配置是不稳定的,即参数将在设备设置后恢复到其默认值。
27、Get Ambient Pressure
说明:获取环境压力值。环境压力可用于CO2传感器的压力补偿。
28、Set Ambient Pressure
说明:设置环境压力值。环境压力可用于CO2传感器中的压力补偿。设置环境压力将覆盖基于先前设置传感器高度的任何压力补偿。建议在环境压力发生重大变化的应用中使用此命令,以确保CO2传感器的准确性。有效的输入值在700到1200 hPa之间。缺省值为1013hpa。注意:此配置是不稳定的,即在设备设置后参数将恢复到其默认值。
29、Get Sensor Altitude
说明:获取当前传感器高度。传感器高度可用于CO2传感器中的压力补偿。
30、Set Sensor Altitude
说明:设置当前传感器高度。传感器高度可用于co2传感器中的压力补偿。默认传感器高度设置为海拔0米。有效值为0 ~ 3000m。注意:此配置是不稳定的,即在设备设置后参数将恢复到其默认值。

全部评论