热门主营:1331com银河吴乐城  1331com银河吴乐城  1331com银河吴乐城  LVDT 位移传感器  汽车传感器  称重传感器  扭矩传感器
热门搜索:
【基于MS5540C的微型1331com银河吴乐城的设计与研究(二)】
时间:2016-07-13

接上文继续:

2 MS5540C的程序设计
2
1 MS5540C的工作原理
    MS5540C
包括一个压阻式的传感器和传感器接口电路。它的主要功能是将
压力传感器输出的未补偿的模拟电压转换成16位数字值,通过接口电路可以将16位数字值输出。共有216位数字值需要输出,分别是用于气压和温度测量结果计算的D1D2。这两个16位数据结果是非常粗糙的,必须通过外部处理器进行补偿计算,才能得到比较精确的结果。
   
每个模块都会在两个温度和两个气压值下进行工厂校准,得到6个补偿系数C1C6,这6个补偿系数共64 bit,以416 bit的字形式储存在模块内的PROM中。因此,在进行补偿计算前,必须先读出这6个补偿系数。关于补偿系数在416位字中的排列方式,请参看文献的图4
2
2 MS5540C的App设计
   
使用带有SPI接口的MCUMS5540C接口,将会使程序设计变得简单。大家以带有SPI接口的51单片机STCl2LE5A60S2为例来先容MS5540C的App编程。
   
由前所述,416位的补偿数据及2个分别为气压和温度传感器转换而来的16位结果数据都需要通过SPI来读取。关于这些数据的读取,Intersema规定了一套简单的通讯协议,协议要求处理要先发命令数据,然后才能读取16位数据。命令数据包括起始位,设置位和停止位,各个数据有不同的设置位,另外为了复位MS5540CIntersema还提供了一个用于reset模块的命令,关于具体的通讯协议,请参考文献。
   
数据定义:
    

   
在程序中调用上述的函数,编程非常方便。读出的216位数据经过文献1提供的校准公式进行校准后,得到温度和气压的较为精确的测量结果,其中温度的结果精确到01,气压精确到01mbar
   
因为MS5540CADC16位,温度测量分辨率可以到001,对于-4085之间的测量范围,大家可以将文献中温度校准公式:
    TEMP=200+dT*(C6+50)
1024
   
修改为
    TEMP=2000+dT*(C6+50)*10
1024
   
这样得到的结果可以使分辨率达到001
   
程序设计需要注意两点:
    1)MCU
发送命令和读取数据时SPI工作方式是不一样的,主要是SCLK采样沿的设置不同,具体参考文献;
    2)
由于在发送采样温度和气压的命令之后,需要等大约35 ms左右,才能读取到采样数据,所以在发送命令后,需要等待之后再读取。

23 数据的补偿
   
为了获得更加准确的结果,需要对上面的计算结果进行温度补偿。温度补偿的计算公式如图3,在温度20以下及45以上都需要对温度和气压计算数据进行二级补偿。图3TEMP是精确到01的结果。

   
另外供电电压对测量结果也有影响。供电电压仅在30 V时测量结果没有误差,而大部分情况下MS5540C的电压可能为33 V,这时测量结果就需进行误差补偿。由图4中的曲线可知,在33V供电时,温度误差很小,可以忽略不计。但对于800mbar以上的气压的结果误差在0102之间,故大家建议对于结果500 mbar以下的气压不需补偿,500 mbar以上的气压结果需要减去01 mbar以进行补偿。

   
由于气压与海拔有非常密切的关系,所以用MS5540C也可以做成
高度计(海拔计)。根据以下美国大气1976的公式
    
   
可知测量只要出p,就可以算出高度h了。这个公式考虑了温度的影响,计算结果分辨率可以达到几个厘米。

3
结论
   
文中先容了
微型数字传感器MS5540C的特性和主要功能,并给出了硬件连接电路和注意事项,对于App的处理和结果的补偿也进行了讨论,具有较大的实用参考价值。实践证明,设计的电路和App在户外的恶劣环境下也能很好正常工作,并且测量结果也是相当精确的。

 

XML 地图 | Sitemap 地图