2017-10-16

 

目前的情况是,手头上的MS5611传感器输出不正常,判断为

出厂参数读取不正确 ,读出值超大。

直接套入公式,计算出的温度为20.06左右   压力为388312mmbar左右(量程为1200mmbar)

温度原始值(SPI直接读出的值)为:16680817

现在无法正确进行压力的温度补偿、压力计算、温度计算。

 

不过,通过实验采集记录了几组数据,发现传感器的线性输出还存在。 温度输出值也能随上电时间的加长随之增大,

当压力值变化时,传感器的输出值与压力值会大体符合y=kx+b的直线。

于是接下来有两种方案。

 

一种是换传感器,那也是最好的得到压力和温度的方法。

 

第二张方法就是,忽略MS5611输出的出厂校准参数的正确与否。利用客户给的压力表,在不同温度下进行加压(加压:60.120.200.240.300mmhg)

分别记录,不同的温度输出值对应的压力输出值

 

通过从多组数据中找出规律,然后计算出温度补偿系数,实现粗略的一个温度补偿。

 

但温度值无法读出,因为,我没有恒温箱,无法让传感器处于可控的温度环境下,无法将原先错误的温度输出值转化为真实温度。

 

关于温度输出,记得STM32F103VC系列内部带有温度传感器,如果STM32F103C8T6也有的话可以用其输出一个大体的温度发送至屏幕显示,

 

总结:

第一种方法:

  缺点:

  需要换传感器,但是现在手头的电路板因为螺丝滑丝无法拆下罩住传感器的气室,如果要换传感器,需要再找一块电路板调试,或者直接重新开板,也可以解决之前板子上存在的电气错误。板子制作周期延长。

  优点:

  程序开发调试简单。

第二张方法:

  缺点:

  1.在传感器已经有问题的情况下进行温度补偿,也许在程序开发调试的环境下能正常运作,一旦环境温度和工况有较大改动也许压力输出会失效。后期加入电机控制后不知道会不会出现其他问题。

  2.需要实验记录数据,程序开发调试上更复杂。

  优点:不需要更换硬件。