传感器数据采集:水压力传感器数值二次函数曲线拟合全过程
1、前言最近在做一个水压力传感器数据采集,需要采集罐体的水压以求解罐体内部液位的高度。2、准备工作考克计一根、压力传感器2个3、数据采集测试首先用万用表测量了传感器输出的电压值在echart里简单的进行数据的呈现后发现,这个传感器的输出并不是理想的y=ax+b线的,而是类似于图下“预计的曲线”的二次函数形式。4、重新采集AD和液位数据,做二次曲线拟合在2米的采集范围内较均衡的采集了3个测点。使用h
1、前言
最近在做一个水压力传感器数据采集,需要采集罐体的水压以求解罐体内部液位的高度。
2、准备工作
考克计一根、压力传感器2个
3、数据采集测试
首先用万用表测量了传感器输出的电压值
在echart里简单的进行数据的呈现后发现,这个传感器的输出并不是理想的y=ax+b线的,而是类似于图下“预计的曲线”的二次函数形式。
4、重新采集AD和液位数据,做二次曲线拟合

在2米的采集范围内较均衡的采集了3个测点。
使用https://www.osgeo.cn/app/sc284这个站点进行二次函数求解
求解后的到二次函数公式:
y = -0.00007545049750897281xx +4.233959224229593*x -782.6119430012119;
5、验证
使用Java代码进行简单验证
public class Testzkjn {
public static void main(String[] args) {
double x = 183;
double y= 0;
y = (double)(-0.00007545049750897281)*x*x + (double)(4.233959224229593)*x + (double)(-782.6119430012119);
System.out.println(y);
}
}
进行数据对比
可以看到误差值最大在12mm,最小在0.7mm左右。
6、验证传感器一致性
用同一块电路板安装另一个传感器进行测试
简单测量后,发现误差值和上一个传感器基本一致。
7、进一步提高精度的方法
采用更多次的曲线拟合,如5次、7次拟合,这样数据在曲线的粘合性上会更好,更贴服。
可以使用matlab进行5次方程的的计算、或者使用现成的Java多次拟合算法求解多次方程的常数。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)