传感器数据采集:水压力传感器数值二次函数曲线拟合全过程
Posted 秦晓宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传感器数据采集:水压力传感器数值二次函数曲线拟合全过程相关的知识,希望对你有一定的参考价值。
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多次拟合算法求解多次方程的常数。
以上是关于传感器数据采集:水压力传感器数值二次函数曲线拟合全过程的主要内容,如果未能解决你的问题,请参考以下文章