传感器数据采集:水压力传感器数值二次函数曲线拟合全过程

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多次拟合算法求解多次方程的常数。

以上是关于传感器数据采集:水压力传感器数值二次函数曲线拟合全过程的主要内容,如果未能解决你的问题,请参考以下文章

传感器数据采集:水压力传感器数值二次函数曲线拟合全过程

传感器数据采集:水压力传感器数值二次函数曲线拟合全过程

数值计算方法 Chapter3. 曲线拟合的最小二乘法

用于传感器融合(IMU 和压力)数据的 Ros 包?

Python最小二乘法拟合与作图

怎么在matlab中对离散点进行曲线拟合,求参数!