DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1091|回复: 0
打印 上一主题 下一主题

[待整理] MPXM2010的压力测控系统及其精度改进发方法

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-11 16:26:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
引 言
  Freescale公司生产的MPXM2010器件是一种硅压阻式压力传感器。MPXM2010精度很高,输出电压与输人的压力具有良好的线性关系。这种传感器是一块单片集成电路,集成有压力应变仪及膜阻网络,并带有激光式微调模块进行温度补偿和偏移佼正微控制器68HC908QT4则是一款低端的8位微控制器,有4路8位的A/D转换通道和16位的PWM模块,可以用于A/D和D/A转换。

  将两种芯片结合到一起可组成一套实用的低成本压力测控系统。美中不足的是它的精度低了一些,如果将A/D位数提高则会使成本大大增加。通过硬件搭配和软件上的编程可以弥补这一缺点,即不增加硬件开销而且可以提高产品性能。 

1 压力传感器模块设计

  Freescale公司生产的MPXM2010器件是一种硅压阻式压力传感器,其内部原理如图l所示。MPXM2010精度很高,输出电压与输入的压力具有良好的线性关系。这种传感器是一块单片集成电路,集成有压力应变仪及膜阻网络,并带有激光式微调模块进行温度补偿和偏移校正。 

  

MPXM2010特点如下:

◇压力测量范围为0~10 kPa,精度可达士0.01 kPa;

◇在0~85℃之间具有温度补偿功能;

◇输出信号与压力的线性关系良好;

◇传感器接触面可选择是否带引出管口;

◇有Tape&Reel的易用封装形式,具体样图如图2所示。

   

  MPXM2010的输出信号比较弱,需要另加1片MOC2A60,将小信号放大,直流变为交流。这样就可以直接控制电机切断或是接通电源。在调试模块时,将各部分分离开来便于调试。运放采用MC33179,再配接一些电阻,就可以把压力传感器的信号输出,并且可以通过调节阻值来调节输出信号的大小。图3和图4是压力传感器模块设计的原理图和PCB板图。

   

  

2 压力测控系统设计及其精度改进

2.1 直联式压力测控系统

  通常情况下,使用68HC908QT4的A/D模块即可完成设计,只要把压力传感器模块的输出端接至68HC908QT4的A/D模块输入端即可。图5给出了压力测控系统的框图。

   

  微控制器68HC908QT4特点如下:

◇4 KB Flash存储器、128 B的RAM存储器;

◇4路8位A/D转换器、16位PWM模块;

◇价格便宜,批量1000片以上每片的价格可降至1美元以下。

MPXM2010测量范围为0~10 kPa,将其输出电压信号限制在0~5 V,则其精度为:

S=5 V/10 kPa=500 mV/kPa

68HC908QT4的A/D为8位,电压限制5 V,则其精度为:

R=5 V/(20—1)bit≈19.61 mV/bit

整个系统的压力精度为:

R/S=19.61/500 kPa/bit=0.039 22 kPa/bit

如果要提高精度,将A/D升为10位,则精度为:

R/S=O.03 922X(28—1)/(210—1)kPa/bit=0.009 776 kPa/bit

A/D升为12位后,精度为:

R/S=0.039 22×(28—1)/(212—1)kPa/bit=0.002 442 kPa/bit

这样做确实可以提升精度,但要增加硬件的开销。利用68HC908QT4的PWM模块作为D/A转换器,可以巧妙地提高A/D变换的精度。

2.2 改进后的压力测控系统

  误差产生的原因就是在A/D处,将小数点后的部分舍去,比如176.51 bit会当作176 bit来处理。解决问题也应该从这里人手,把误差缩小。

  误差的引出可以用D/A来解决,把A/D读进来的数据再用D/A处理一次送出来,和原来的数据做一次减法就可以得到。误差没法直接再送回A/D,但可以将其放大后再送回,再使用68HC908QT4中的另一路A/D将放大后的误差进行A/D变换,MCU得到结果后缩小相同的倍数,与原A/D变换结果相加,便是更精确的结果。图6中,整个系统可分为压力传感器模块、模拟部分、单片机部分和输出电路部分,精度提高的关键在模拟部分的设计.如图7所示。假设放大器G的放大倍数为10。A/D的性能本身并没有提升,精度仍为R=19.61 mV/bit,这个值也就是极限值。放大10倍后,原来的最大误差19.6l mV/bit被扩大为196.1 mV/bit,A/D处理的是放大后的数据,其能力就被放大了10倍。数据处理时又会将其除以lO恢复,从整体上来看就好像精度R除以10了一样,变为1.961 mV/bit。 

  例如:初始A/D变换的误差为10 mV,经过放大后变为100 mV,此时再经过A/D变换,第二次遗留的误差为100 mV一19.61 mV/bit×5 bit=1.95 mV,再除以10后变为0.195 mV。误差大大地减小了,其极限值就是原精度的十分之一。

  G的放大倍数可以自己调整,但要符合所选微处理器的性能以及电路本身的精度,选的过高没有实际意义。

   

   

图7所示的电路中,Vm、D、Vc与图6所示相同。其中D的计算值为:

D=(Vm—Vc)×(R14/R13)[l+(R17/R16)]

G的放大倍数为(R14/R13)[1+(R17/R16)]。 

结语

  在产品设计研发过程中,成本是很重要的因素。巧妙地利用微控制器内的模块,辅助以相应的简单模拟电路,可以大大提高芯片的利用效率,并能提升系统性能。多利用手头的东西进行改进再创造,往往能得到事半功倍的效果。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-3-14 18:55 , 耗时 0.091758 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表