一、引言
在石油、化工、冶金、电力、纺织、轻工、水利等工业及科研领域中,都必须进行相关的压力检测与分析。通常压力值的变化速度较缓慢,但在测量压力值并把它由非电量转变成电量这一过程中,要求精度非常高,本文介绍了一种通用的高精度压力数据采集系统。系统的压力传感器选用Motorola公司的高精度X型硅压力传感器MPX2100,转换精度高、灵敏度高,具有极好的线性度,在高性能单片机 AT89S52的控制下,放大调理后的模拟电量通过高精度、高性能芯片ICL7135进行A/D转换,可以保证系统具有很高的数据采集精度和很强的抗干扰能力,使用寿命长。系统采用液晶显示及PS/2键盘接口,实现了良好的人机交换。PLD技术的应用,节省了硬件电路的开销。
二、系统的硬件组成及工作原理
高精度压力数据采集系统框图如图1所示。压力传感器输出的模拟信号被放大调理后经模/数转换模块转换为数字量,传送给单片机,经过标定、运算及零点补偿等处理,在液晶显示模块上显示出来,同时可经串行接口传送到上位机,实现良好的人机交换,键盘提供人机交互的手段。
1、压力数据采集及信号调理电路
压力传感器是一种将压力转换成电流/电压的器件,可用于测量压力、位移等物理量。压力传感器的种类很多,其中硅半导体传感器因其体积小、重量轻、成本低、性能好、易集成等优点得到广泛的应用。硅压阻式传感器属于其中的一种,它是在硅片上用扩散或离子注入法形成四个阻值相等的电阻条,并将它们接成一个惠斯登电桥。当没有外加压力时,电桥处于平衡状态,电桥输出为零。当有外加压力时,电桥失去平衡而产生输出电压,该电压大小与压力有关,通过检测电压,即可得到相应的压力值。但这种传感器由于四个桥臂电阻不完全匹配而引起测量误差,零点偏移较大,不易调整。
Motorola公司生产的X型硅压力传感器则可以克服上述缺点。如图2所示,与惠斯登电桥不同,Motorola专利技术采用单个X型电阻元件,而不是电桥结构,其压敏电阻元件呈X型,因而称为X型压力传感器。该X型电阻是利用离子注入工艺光刻在硅膜片上,并采用计算机控制的激光修正技术,温度补偿技术,使Motorola硅 MPX系列压力传感器的精度很高,其模拟输出电压正比于输入的压力值和电源偏置电压,具有极好的线性度,且灵敏度高,长期重复性好。此系列中的 MPX2100DP压力传感器是一种高精度硅压式压力传感器,本系统采用MPX2100DP作为压力传感器,可以很好地满足系统的要求,它具有如下特点:
①由于采用激光微调技术,使电桥零漂输出很小,一般小于±1mV;
②传感器灵敏度较高,为40mV±1.5mV;
③传感器由热敏电阻组成温度补偿网络,在-40℃~+125℃范围内有较好的温度补偿效果,从而提高了传感器的精度;
④具有极好的线性度(±0.25%F.S);
⑤有较宽的工作温度范围(-40℃~+125℃);
⑥允许过载大(400%)。
(2)信号调理电路
电路图如图3所示(图中只以一路传感器输出信号为例,未画出多路开关CD4051)。
信号经高精度压力传感器MPX2100DP变为电信号,通过CMOS型8选1多路开关CD4051选择之后,再送入放大电路,进行调理后输出到A/D模块ICL7135进行高精度模数转换。MPX2100DP的供电电压取为8V,它的满量程输出x由下式确定:x=40mV×8V/10V=32mV(1)
对于电压输出逻辑电平定为5V,显然32mV的电压要进行适当的放大。
放大器采用MC33274四运算放大器,它组成一个仪表放大电路,具有高差模增益和高共模抑制比,输入阻抗高,可调节偏置电路。差模放大主要由U1A完成,U1B为电压跟随器,用来防止运放的反馈电流流入传感器的负端。零压力时,传感器的2和4端之间的电压差为零。设2端和4端的共模电压各为4V(传感器电源电压的一半),则U1A的端电压也是4V,该电压经U1C和U1D电路使其输出为零。输出端的零压力偏置由R4和RP1引入。R7值的选择从13端看过去的阻抗约为1kW,放大器的增益为:
(2)
选择125的增益使传感器满量程输出摆幅32mV可放大到125×0.032=4V(为电源电压的一半)。
2、单片机及其外围电路部分
单片机外围电路如图4所示。
(1)AT89S52介绍
单片机选用的是ATMEL公司新推出的AT89S52,该芯片具有低功耗、高性能的特点,是采用CMOS工艺的8位单片机。AT89S52有以下主要特点:
①采用了ATMEL公司的高密度、非易失性存储器(NV-SRAM)技术;
②其片内具有256字节RAM,8KB的可在线编程(ISP)FLASH存储器;
③有2种低功耗节电工作方式:空闲模式和掉电模式;
④片内含有一个看门狗定时器(WDT),WDT包含一个14位计数器和看门狗定时器复位寄存器(WDTRST),只要对WDTRST按顺序先写入 01EH,后写入0E1H,WDT便启动,当CPU由于扰动而使程序陷入死循环或“跑飞”状态时,WDT即可有效地使系统复位,提高了系统的抗干扰性能。
(2)外围电路部分
接口电路的片选信号由74LS138对高位地址线P2.0(A8)、P2.1(A9)、P2.2(A10)译码后生成,主要有8155可编程接口电路片选信号CS_8155(Y0)、键盘接口片选信号CS_KEY(Y1)及液晶模块片选信号CS_LCD(Y2)等。LCD选用OCULAR公司生产的字符点阵液晶显示模块GD1602S,该模块能显示20×2的5×7点阵字符,功能强,与8位MCU接口方便;键盘接口设计为通用PC机接口(PS/2),是因为通用PC机键盘具有价格低廉、可靠性高、通用性好及操作方便等优点,而且维护方便,限于篇幅本文未介绍。A13、A14、A15组成多路模拟开关 4051的编码地址线,Vxi即为4051按照键盘输入的地址选出的一路模拟信号,它将被送往信号调理模块进行放大调理。在恶劣的工业工作环境中,串行通信接口芯片很有可能受到静电的冲击而损坏,特别是在传输线架设于户外的使用场合,接口芯片乃至整个系统还有可能遭致雷电的袭击。本文选用的RS-485接口芯片SN75LBC184不但能抗雷电的冲击而且能承受高达8kV的静电放电冲击,最大传输距离约1219m,最大传输速率为10Mb/s;可以保证与上位机进行通信时稳定可靠。
3、双积分模/数转换接口电路
(1)芯片ICL7135介绍
ICL7135是美国MAXIN公司生产的一个双积分式A/D转换集成电路,该芯片抗干扰能力强、分辩率高、价格低廉。它的分辩率相当于14位二进制数,转换误差为±1LSB,转换输出为0~19999;当测量量程为0kN~2000kN时,这样的精度使得仪表的分辩率达到0.1kN;模拟输入可以保证0点在常温下的长期稳定性。由于7135输出的转换结果是动态扫描BCD码,因此常规设计一般通过并行接口与单片机连接,以节省单片机的硬件开销,同时 8155中的定时器还可以满足7135对时钟的需要。
(2)A/D转换电路及其原理
电路原理图如图5所示。
7135与8155的连接是通过4位2选1数据多路开关74LS157来实现的。其选通信号由7135的D5输出控制。当A/D转换结束时,D5输出高电平,74LS157选通B类通道,单片机通过PA0~PA3读入万位数B1、状态位POL(极性)、OVR(过量程)和UR(欠量程);当D5输出完成时,变为低电平(这一过程包括D4~D1数据输出周期在内),74LS157选通A类通道,单片机通过PA0~PA3将依次读入8421码值 B8,B4,B2及B1,即低位BCD码,依次形成万、千、百、十、个各位BCD码(即转换结果)。8155A口中断请求线PC0反相后形成单片机的外中断0触发信号。当7135完成1次转换后,产生5个数据选通脉冲,分别将各位BCD码和位标志送入A口;A口收到一个数据后,中断线PC0变为高电平,启动单片机的中断服务程序,读取A/D转换的数据结果。7135的转换启动由P14控制,高电平转换开始,低电平保持。
经调理后的 0V~2V的模拟信号通过RC低通滤波后,从IN+,IN-输入。A/D转换后的结果包括2部分:极性和量程,反映转换性质的结果。转换后的数字信号为 D1,D2,D3,D41及D5,其中D5(万位)只能是1或0,其他几位为0~9的BCD码。而7135所需的参考电压为量程的确良1/2,如果量程为 2V,则参考电压为1V。为了保证转换的温度稳定性和精度,采用高精度基准电源MC1403,通过金属膜多圈进口电位器调节得到。参考电压上并联的CBB 电容C46(0.1mF),C47(1mF)主要是保证参考电压的稳定性。
积分电容是决定转换精度的关键器件。按照7135应用特性,积分电容C8和积分电阻R3与量程等有关,选用时必须满足以下要求:
R3=满度电压/20mA(3)
C8=1000×20mA×T/积分器输出摆幅(4)
式中,T=1/fclk。
fclk—7135的时钟频率,一般可选择250kHz,166kHz、125kHz、及100kHz、典型值为125kHz,此时7135的转换速率为3次/s。
在±5V系统中,如模拟地为0V,则摆幅为±4V,此时量程为?C2V~+2V,则:R3=100kW,C8=0.47mF。
(3)PLD技术的应用
为节省了硬件电路的开销,减少硬件电路产生的电磁干扰,系统的部分电路应用了PLD技术,其可编程逻辑电路(见图5)由可编程逻辑陈列芯片 GAL16V8组成,主要完成A/D转换模块所需的时钟信号和转换结束选通信号产生单片机外中断0中断信号的逻辑转换,其逻辑方程如下:
P16=+(与非门)(5)
P14=P7+P8(或门)(6)
P13=(非门)(7)
式中,P2、P3、P7分别为单片机的、、ALE信号;
P8—与非门输出;P9—8155的A口中断信号;P13—生成的单片机外中断触发信号。
按照上述逻辑关系生成的PLD文件经FM软件编译后,产生熔丝文件*.LED,然后通过编程器写入GAL16V8即可。
三、系统软件设计
系统软件设计采用模块化结构,采用汇编语言编程,整个程序由主程序、显示、键盘扫描、A/D转换处理等子程序模块组成。限于篇幅在此只列出了A/D转换处理子程序流程图,如图6所示。
四、非线性误差的修正
传感器、放大器、A/D转换器总是存在非线性误差,由于上述非线性关系的存在,带来了精度的降低,为了保证在整个范围内满足精度的要求,所以在实际应用中应根据控制要求对测量值进行误差修正,修正一般通过软件较准实现。其具体的修正方法应根据信号的工作区段和质量要求来确定。利用单片机的运算和控制能力对非线性关系找出修正算法,并在反复测试调整后使其达到设计要求。本系统采用分段线性插值法对测量值的曲线进行了误差修正处理。方法为:将0~XMAX分为若干工作区段,每段曲线用一段对应的折线来代替,对每段折线可求出VQ:
Nt:VQ=ai×Nt+bi(8)
式中,I—某段折线的序号;ai—该段折线的斜率;bi—该段折线的截距。
它们的修正程序流程图如图7所示,处理关系示意曲线如图8所示。
预先将每段的之值存于单片机中,在不同的工作区段,单片机自动地将对应的每段的上述值调出进行运算处理。(限于篇幅,定量的分析没有讨论)
五、结束语
本文描述的是一种通用的高精度压力数据采集系统,它有许多优点,可在各种恶劣的环境中正常地工作,而且抗干扰能力强、使用寿命长、分辨率高。采用液晶显示及PS/2键盘接口,实现了良好的人机交换。可广泛地应用于石油、化工、冶金、电力、纺织、轻工、水利等工业及科研领域的压力数据采集、检测与分析。