盛思锐Sensirion Sensor 问题及解决方法总结 – 持续更新

SGP30:

  1. 官网下载的Linux驱动程序,Sensirion_Gas_Sensors_SGP30_Linux_Driver文件夹里,在把sgp30.c合入时编译出现下面错误,IIO_CONCENTRATION, IIO_MOD_VOC, IIO_MOD_CO2, 这几个宏定义没找到在哪;

下载的例程包内容如下:

除了sgp30.c之外的两个是内核hwmon编译时候用的;

解决办法:

2018.5.8 版本的Demo是基于linux4.4 的,如果用的是linux3.3,linux3.3里面头文件定义的enum类型没有这些,复制过来加上就可以了;

 

 

 

SHT2x:(链接是SHT20 datasheet)

  1. RH和T均用Hold Master Mode采集数据,发送Ox1110 0011获得T,发送Ox1110 0101获得RH,发现先采集RH,RH采集正常,采集不到T;先采集T的话,T采集不到,RH也采集不到;

解决方法:

读取温度和读取湿度操作方式基本上是一样的,差别在于延时;

用hold master模式的时候,总线被占用的时间不一样,多等一会儿就行了,所以读取温度的时候,总线总是返回错误;

根据下表设置延时时间,保险一点用100ms, 其他I2C设备要求延时时间短的话,用no Hold Master Mode;

 

SCD30:(官网介绍链接)

SCD30规格书中测量范围是0-40000ppm,但是0-400ppm之间的精度没有说明;

大棚蔬菜应用环境,会测出低于400ppm值,是不是只能测400-10000ppm之间的值?

解答如下:

SCD30确实精度标定的范围是从400ppm开始的,最主要的原因是很难控制出一个稳定的0-400ppm的环境,在实际应用中,也几乎没有应用对于CO2在0-400ppm环境下有精度要求。例如HVAC是完全不需要的(HVAC最低都是大气400ppm)。

农业大棚是一个特殊应用。在这个应用中,因为植物的光合作用,大棚内部的CO2可以低于400ppm,甚至低于200ppm。但是在这个应用中,大棚内部的CO2一般长期要保持600pmm以上才有利于植物生长。

所以,大棚对于CO2传感器的需求有两个:

1. 400ppm以下,要有一定的输出,例如200多,100多,300多。 具体的精度要求一般是在400-2000ppm的测量范围之间。

2. CO2的传感器无法在大棚应用中开启ASC自动校准功能,因为每天的最低线不是400ppm,会导致测量不准。如果使用SCD30,需要关闭ASC功能,设备在出厂前用FRC校准一次就可以了。CO2 sensor,国外厂商基本在400ppm以下也没有标注精度,国内有标注精度的也无法保证测量标定的标准。我们在国内已经有好几个大棚的客户量产了。

若拿FRC手动校正则是快速方式, 则在CO2浓度400-2000ppm之内去做. 具体操作方式见文档。

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注