在现代工业生产、控制和科学研究领域中,对各种现场数据如温度、压力及振动等参数进行采集、传输和处理是必不可少的组成部分。将温度、压力、流量、位移等模拟信息采集转换成数字信息后,再由计算机进行存储、处理、显示或打印的过程就是数据采集,相应的系统称为数据采集系统。高性能微控制器W77E58具有功耗低、体积小、功能强大等优点,非常适用于对现场数据进行实时采集和现场控制。
1 采集系统的结构设计
数据采集系统主要由传感器、调理电路、A/D转换电路、微控制器、通信模块、计算机(PC机)等几大模块组成。如图1所示。外部世界、现场等的各种参量是模拟量,传感器的作用是把这些模拟量转化为电信号模拟量(可以是电压,也可以是电流、电脉冲),经过适当的调理电路再把这些电信号模拟量送给模拟数字转换器(A/D转换器),使这些模拟量转化为可以让微控制器识别处理的数字信号,最后经过通信模块,微控制器将采集到的信号传给PC机,PC机人机接口界面负责控制、存储和处理采集到的数据。
实际应用中,因传感器的输出信号多为弱信号,信号与采集系统的距离相对较长,为防止信号的严重衰减,采用电流信号传输;在信号接收端,通过I/V转换电路,再把信号复原成电压信号,经过放大、滤波等调理电路后,送到A/D转换器,结构框图如图2所示。
2 系统硬件设计
2.1 I/V转换电路设计
为减小电阻本身的噪声和受环境的影响,采用40欧1%精密小电阻将4~20 mA电流信号转换为0.144~0.72 V的电压信号。如图3所示,电容C1用于滤除高频噪声。
2.2 采集电路设计
对于每一个采集对象,都要通过模数转换器转换为数字量,在输入信号数目很多时,需要使用多路模拟开关轮流将多个模拟量依次接入模数转换器进行转换。在本设计中选用的多路模拟开关是CD4051,A/D转换器选用了美国MASIM公司的MAX197芯片,MAX197采用逐行逼近工作方式,内部的输入跟踪/保持电路把模拟信号转换为12位数字量输出。
图4是采集系统的一路模拟信号经过滤波电路、多路选择开关和A/D转换后进入微控制器的电路图。单片机W77E58的P0口与MAX197的D0~D7相连,既用于输入MAX197的初始化控制字,也用于读取转换结果数据。用W77E58单片机的P2.4作为MAX197的片选。选择MAX197为软件设置低功耗工作方式,所以置SHDN脚为高电平。采用内部基准电压,所以REFADJ和REF均接低电平。W77E58单片机的P2.6脚用做判读高、低位数据的选择线。直接与HBEN脚相连。MAX197的脚与W77E5S8的P2.5相连,当转换结束和准备读输出数据时,变低。在电路中,AGND和DGND应相互独立,各种电源与模拟地之间都用0.1μF电容来消除电源的纹波。
3 系统软件设计
模拟量采集程序的设计主要分为3个阶段。第1阶段为A/D转换驱动程序设计,第2阶段为模拟量数字滤波程序设计,第3阶段是A/D转换结果处理的程序设计。
3.1 A/D转换驱动程序设计
硬件电路中MAX197芯片用于采集模拟量,MAX197控制字格式如表1所示。
A2,A1,A0通过不同0,1组合选择8路模拟量中的某一路;RNG和BIP的0,1组合确定所采集模拟量的范围,最大为±15 V;ACQMOD决定MAX197采用内部采集模式还是外部采集模式;PD0和PD1组合决定选择正常工作模式还是低功耗工作模式。具体程序如下:
3.2 数字滤波
为保证数据采集结果的准确性,需对模拟量A/D转换后的结果进行数字滤波处理。在程序设计中采用了中位值平均滤波法。对每个模拟量连续采样n次,求出n次采样结果之和,去掉其中最大值xmax和最小值xmin,然后求剩下n-2个数平均值,以作为该模拟量的实际值。
3. 3 采集结果修正
模拟量的参考值是实际的运行参数,所以需要把采集到的数据经过一定的变换关系修正为实际值,然后再执行状态判断操作。
4 结束语
笔者设计的多路数据采集系统可实现对多路信号进行实时监测,可通过串口将数据传至计算机并显示,此系统在应用时配上不同的传感器及相应的处理电路,稍加改动,便可在许多领域得到广泛应用,因而具有较高的实用性。