中北大学2009届毕业设计说明书
ADXL150加速度传感器的输出为变化的电压信号,而AT89C51单片机没有内置A/D模块,所以必须要使用外部A/D采集芯片将模拟信号数字化。本系统所使用的ADS774的控制信号功能组合表如表4.1所示。
表4.1 ADS774控制信号组合表
如果要使ADS774以独立方式工作,只要将CE,12/8端接入+5V,CS和Ao接至0V,将R/C作为数据读出和数据转换启动控制。当R/C=1时,数据输出端出现被转换后的数据,R/C=0时,即启动一次A/D转换。在延时0.5us后STS=1表示转换正在进行。经过一次转换周期Tc(典型值为25us)后STS跳回低电平表示A/D转换完毕,可以从数据输出端读出新的数据[18]。
启动ADS774转换的时序图和ADS774读取的时序图如图4.4和图4.5所示。
图4.4 ADS774转换的时序
第 31 页 共 38 页
中北大学2009届毕业设计说明书
图4.5 ADS774读取的时序
本系统中使用的时ADS774的十二位转换,数据分两次读出功能。所以需要控制A0端以决定输出的数据是高八位还是低四位[17]。启动AD转换后检测转换完毕信号端STS,转换过程中STS输出为高电平,当转换结束STS输出低电平,即可控制A0分别读出高八位数据和低四位数据[19]。程序流程如图4.6所示。
开始转换 查询转换是否结束 读取高八位 将高八位左移四位 读取低四位 将高八位与低四位组合 返回十二位数据 图4.6 ADS774A/D转换流程图
第 32 页 共 38 页
中北大学2009届毕业设计说明书
程序如下:
/******************AD转换程序*************************/ uint adin(void)
//AD转换
{
uint getdata; uchar dat; EOC=1; EOC=0; EOC=1;
//启动转换
while(STS); //查询STS是否转换完毕 A0=0;
//输出高八位数据 dat=P1; getdata=dat; //读取高八位数据 A0=1;
//输出低四位数据
getdata=getdata<<4; //将高八位左移四位 dat=P1&0X0F; //读取低四位
getdata|=dat;
//将低四位与高八位组合
return(getdata); //返回读取到的十二位数据 }
第 33 页 共 38 页
中北大学2009届毕业设计说明书
5 系统调试
在实际调试的过程中,为确保读数的正确性和稳定性,可利用示波器观察LM358双向检波电路的输出波形是否符合要求,如果检波输出波形不符合要求则可以通过调节LM358周围的电容电阻使其输出达到要求,并可通过调节检波放大电路输出电位器R2调节输出波形的幅值和直流偏置以输出合适的幅值提供给LM393电压比较电路[20]。通过示波器观察LM393电压比较电路,调节基准电位器R12使电压比较电路能够在检波输出达到或超过一定幅值时为单片机提供一个准的触发信号以启动数据采集系统。
经A/D采集后的数据由单片机控制存储在24CXX存储器的Data Flash中。AT89C51单片机通过串行通信方式向PC机发送数据。PC机接收到这些数据后首先将数据组合还原成原来的12位数据,再进行波形还原成像[21]。不同振动所产生的波形特征时不同的,所以我们可以先经过测试,采集大量数据,提取特征量,构建振动特征库。当进行数据采集分析时就可以提取特征量,于已构建的特征库中的数据进行比对分析,即可进行各项指标的判断。
第 34 页 共 38 页
中北大学2009届毕业设计说明书
6 结论
本振测试系统采用的ADXL150加速度传感器,通过外部放大电路,同时输入到A/D采集电路和双向检波、电压比较电路,借助于AT89C51单片机控制高速A/D-ADS774进行数据采集,将数据发送存储,并可以将振动数据输入PC机,通过PC进行波形还原或进行更为细致的分析。转换速度快,能够实现满足实时显示输出的要求。整个硬件电路以AT89C51为控制核心, AT89C51中自带4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM)构建的系统简约,具有实用性强、可靠性高等特点。因此,该系统的设计有一定的使用参考价值。
第 35 页 共 38 页