本文主要是介绍BMP180气压传感器波动过大的解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
BMP180由于其价格原因,静止状态气压数值波动挺大的,就是用最高精度误差也是不小。针对这个误差大的问题,我一直倾向于使用数学方式来进行补偿。
个人的解决方案如下:
使用一阶卡尔曼滤波来对得到的数据进行滤波,以尽可能的排除误差,提高精度
网络上的一阶卡尔曼滤波很多的,我选用的是单函数版本的(忘了是哪里看到的了……效果很不错,如果原作者看到了请记得联系我,我会添上引用与来源),可以使其静止精度基本上可以达到ms5611原始水平,气压的值可在0.01mbar稳定。
使用的卡尔曼滤波代码如下:
double KalmanFilter(const double ResrcData,double ProcessNiose_Q,double MeasureNoise_R)
{static double x_last;static double p_last;double R = MeasureNoise_R;
这篇关于BMP180气压传感器波动过大的解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!