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.
例如:初始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)]。
结语
在产品设计研发过程中,成本是很重要的因素。巧妙地利用微控制器内的模块,辅助以相应的简单模拟电路,可以大大提高芯片的利用效率,并能提升系统性能。多利用手头的东西进行改进再创造,往往能得到事半功倍的效果。