这两天在分析CO电化学传感器单片机高低温测试数据,因为目前浓度精度不满足客户需求,且温补算法误差过大。
1. 取数据中的实际温度和输出AD,判断线性关系,因为线性关系差,会导致温补算法计算出的浓度误差增大。
2. 取数据中的实际浓度和输出AD,判断线性关系,因为线性关系好,可以不采用分段标定的方式,而是使用三点标定,最小二乘法拟合一元二次方程y=kx+b来计算浓度(cursor写脚本实在是太快了,正好我对python语法也不熟悉,只需要给它提几个需求就能很快地帮我处理好数据)。
3. 根据上述方程式,计算出不同温度不同AD对应的浓度值。
4. 根据拟合浓度,将常温下的浓度对应的温补系数置为1,其它温度的浓度与常温下的浓度比值称为温补系数,并将温补系数与温度做拟合计算,通过最小二乘法拟合出二元一次方程y=ax²+bx+c。
5. 通过温补系数方程,根据AD和温度计算出各温度下不同浓度,最后判断理论误差是否满足客户精度要求。
注意:电化学传感器或者其它类型传感器,可能会受到气压、温度、湿度、硬件设计、整机结构等各种因素的影响,需要根据原厂说明、实测数据去分析算法选择,一般先要使用滤波算法保证AD值稳定,再选择拟合算法计算出物理量(气压、温度、湿度、浓度等),最好通过各种补偿算法尽量减少各种环境对测量造成的影响。