振动信号检测系统设计1.docx

上传人:b****5 文档编号:4659884 上传时间:2022-12-07 格式:DOCX 页数:21 大小:217.50KB
下载 相关 举报
振动信号检测系统设计1.docx_第1页
第1页 / 共21页
振动信号检测系统设计1.docx_第2页
第2页 / 共21页
振动信号检测系统设计1.docx_第3页
第3页 / 共21页
振动信号检测系统设计1.docx_第4页
第4页 / 共21页
振动信号检测系统设计1.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

振动信号检测系统设计1.docx

《振动信号检测系统设计1.docx》由会员分享,可在线阅读,更多相关《振动信号检测系统设计1.docx(21页珍藏版)》请在冰豆网上搜索。

振动信号检测系统设计1.docx

振动信号检测系统设计1

(此文档为word格式,下载后您可任意编辑修改!

信号检测综合训练

说明书

 

题目:

振动信号检测系统设计

 

学院:

电气工程与信息工程学院

班级:

电子

(2)班

姓名:

钱鹏鹏

指导老师:

缑新科

2014.12.07

摘要

机械在运动时,由于旋转体的不平衡、负载的不均匀、结构刚度的各向异性、间隙、润滑不良、支撑松动等因素,总是伴随着各种振动。

机械振动在大多情况下是有害的,振动往往会降低机器性能,破坏其正常工作,缩短使用寿命,甚至导致事故。

机械振动还伴随着同频率的噪声,恶化环境,危害健康。

另一方面,振动也被利用来完成有用工作,如运输、夯实、清洗、粉碎、脱水等。

这时必须正确选择振动参数,充分发挥振动机械的性能。

在现代企业管理制度中,除了对各种机械设备提出低振动和低噪声要求外,还需随时对机器的运行状况进行监测、分析、诊断,对工作环境进行控制。

为了提高机械结构的抗振性能,有必要进行机械机构振动分析和振动设计,这些都离不开振动测试。

本文在此基础上设计了一种专用的振动信号检测系统,具有功耗低、体积小、精度高等优点。

信号检测的内容要求:

通过MCS-51系列单片机设计振动信号检测系统。

要求如下:

1振动信号的特点,选择合适的传感器,并设计相应的检测电路;

2将设计完成的检测电路,通过软件防真验证;

3主要设计指标:

可测最大加速度:

-5m/s~+5m/s;可测最大速度:

-0.16m/s~+0.16m/s;可测最大位移:

-5mm~+5mm;通频带:

0.05Hz~35Hz;转换精度:

8bit;采样频率:

128Hz

4利用LCD显示振动信号,有必要的键盘控制。

总体设计方案介绍:

本系统由发射电路和接收电路组成。

发射电路主要由加速度传感器构成。

接收电路由单片机最小系统和外部串口以及显示部分模块三部分组成。

硬件电路设计:

(1)使用MMA8452加速度传感器和STC89C52单片机来实现。

1.设计目的:

了解加速度传感器的工作机理,以及单片机的各种性能;

2.设计器材:

电源、proteus7.7软件、89C52,MMA8452加速度传感器,导线若干。

三.设计方案介:

该系统目的是便于对一些物理量进行监视、控制。

本设计以加速度传感器显示出加速度信号即振动信号,再通过单片机将信号从串口接入电脑显示出来,即完成振动信号的检测功能。

(2)振动传感器的分类

1、相对式电动传感器

电动式传感器基于电磁感应原理,即当运动的导体在固定的磁场里切割磁力线时,导体两端就感生出电动势,因此利用这一原理而生产的传感器称为电动式传感器。

相对式电动传感器从机械接收原理来说,是一个位移传感器,由于在机电变换原理中应用的是电磁感应电律,其产生的电动势同被测振动速度成正比,所以它实际上是一个速度传感器。

2、电涡流式传感器

电涡流传感器是一种相对式非接触式传感器,它是通过传感器端部与被测物体之间的距离变化来测量物体的振动位移或幅值的。

电涡流传感器具有频率范围宽(0~10kHZ),线性工作范围大、灵敏度高以及非接触式测量等优点,主要应用于静位移的测量、振动位移的测量、旋转机械中监测转轴的振动测量。

3、电感式传感器

依据传感器的相对式机械接收原理,电感式传感器能把被测的机械振动参数的变化转换成为电参量信号的变化。

因此,电感传感器有二种形式,一是可变间隙,二是可变导磁面积。

4、电容式传感器

电容式传感器一般分为两种类型。

即可变间隙式和可变公共面积式。

可变间隙式可以测量直线振动的位移。

可变面积式可以测量扭转振动的角位移。

5、惯性式电动传感器

惯性式电动传感器由固定部分、可动部分以及支承弹簧部分所组成。

为了使传感器工作在位移传感器状态,其可动部分的质量应该足够的大,而支承弹簧的刚度应该足够的小,也就是让传感器具有足够低的固有频率。

根据电磁感应定律,感应电动势为:

u=Blx&r。

式中B为磁通密度,l为线圈在磁场内的有效长度,rx&为线圈在磁场中的相对速度。

从传感器的结构上来说,惯性式电动传感器是一个位移传感器。

然而由于其输出的电信号是由电磁感应产生,根据电磁感应电律,当线圈在磁场中作相对运动时,所感生的电动势与线圈切割磁力线的速度成正比。

因此就传感器的输出信号来说,感应电动势是同被测振动速度成正比的,所以它实际上是一个速度传感器。

6、压电式传感器

压电式加速度传感器的机械接收部分是惯性式加速度机械接收原理,机电部分利用的是压电晶体的正压电效应。

其原理是某些晶体在一定方向的外力作用下或承受变形时,它的晶体面或极化面上将有电荷产生,这种从机械能(力,变形)到电能(电荷,电场)的变换称为正压电效应。

而从电能(电场,电压)到机械能(变形,力)的变换称为逆压电效应。

因此利用晶体的压电效应,可以制成测力传感器,在振动测量中,由于压电晶体所受的力是惯性质量块的牵连惯性力,所产生的电荷数与加速度大小成正比,所以压电式传感器是加速度传感器。

7、压电式力传感器

在振动试验中,除了测量振动,还经常需要测量对试件施加的动态激振力。

压电式力传感器具有频率范围宽、动态范围大、体积小和重量轻等优点,因而获得广泛应用。

压电式力传感器的工作原理是利用压电晶体的压电效应,即压电式力传感器的输出电荷信号与外力成正比。

8、阻抗头

阻抗头是一种综合性传感器。

它集压电式力传感器和压电式加速度传感器于一体,其作用是在力传递点测量激振力的同时测量该点的运动响应。

因此阻抗头由两部分组成,一部分是力传感器,另一部分是加速度传感器,它的优点是,保证测量点的响应就是激振点的响应。

使用时将小头(测力端)连向结构,大头(测量加速度)与激振器的施力杆相连。

从“力信号输出端”测量激振力的信号,从“加速度信号输出端”测量加速度的响应信号。

9、电阻应变式传感器

电阻式应变式传感器是将被测的机械振动量转换成传感元件电阻的变化量。

实现这种机电转换的传感元件有多种形式,其中最常见的是电阻应变式传感器。

电阻应变片的工作原理为:

应变片粘贴在某试件上时,试件受力变形,应变片原长变化,从而应变片阻值变化,实验证明,在试件的弹性变化范围内,应变片电阻的相对变化和其长度的相对变化成正比。

10、激光传感器

激光传感器利用激光技术进行测量的传感器。

它由激光器、激光检测器和测量电路组成。

激光传感器是新型测量仪表,它的优点是能实现无接触远距离测量,速度快,精度高,量程大,抗光、电干扰能力强等,极适合于工业和实验室的非接触测量应用。

智能加速度传感器的工作原理是:

敏感元件将测点的加速度信号转换为相应的电信号,进入前置放大电路,经过信号调理电路改善信号的信噪比,再进行模数转换得到数字信号,最后送入计算机,计算机再进行数据存储和显示。

当传感元件以加速度a运动时,质量块受到一个与加速度方向相反的惯性力作用,发生与加速度成正比a的形变,使悬臂梁也随之产生应力和应变。

该变形被粘贴在悬臂梁上的扩散电阻感受到。

根据硅的压阻效应,扩散电阻的阻值发生与应变成正比的变化,将这个电阻作为电桥的一个桥臂,通过测量电桥输出电压的变化可以完成对加速度的测量

采用MMA7455L的IIC模式

MMA7455L是一款低重力、串行数据输出(包括IIC和SPI模式)、低功耗、紧凑型电容式微机械加速度传感器,具有信号调理、低通滤波器、温度补偿、自测、可配置通过中断引脚(INT1或INT2)检测0g、以及脉冲检测(用于快速运动检测)等功能。

0g偏置和灵敏度是出厂配置,无需外部器件。

我们可以运用指定的0g寄存器和g-Select量程选择对0g偏置进行校准,量程可通过命令选择3个加速度范围(2g/4g/8g,1g=9.807m/s2)。

可以实现基于运动的功能,如倾斜滚动、游戏控制、按键静音和手持终端的自由落体硬盘驱动保护、门限检测和点击检测功能等。

提供IIC和SPI接口,方便与MCU通讯,因此非常适用于手机或个人设备中的运动运用。

MMA7455L还具备待机模式,使它成为电池供电的手持式电子器件的理想选择。

MMA7455L同时具有如下特性:

封装小,LGA-(3mm*5mm*1mm)封装,具备Z轴自检功能;2.4-3.6V低压操作;可用指定寄存器进行偏移;可编程的阀值中断输出;用于动作识别(撞击、振动、自由落体)的电平检测功能;用于单击和双击识别的脉冲检测功能;在8bit模式下,测量的加速度范围为2g,4g,8g时,其分辨率分别达到64LSB/g,32LSB/g,16LSB/g。

可耐高强度冲击达5000g,低功耗特性,使其可用于手持电子设备等。

它是由一个表面微机械电容传感元件(g-cell)和一个信号调理ASIC容纳在单一封装中。

g-cell是由半导体材料(多晶硅)使用半导体加工(掩膜和蚀刻)工艺成型的机械结构,它可以建模成连接到一个可移动中心质量块的极板和两块固定极板的组合,质量块得极板可以在两块固定的极板间移动。

当系统给定一个加速度值时,中心质量块所附属的可移动极板则偏离它的静止位置。

这样可移动极板到一边固定板的距离就会增加,到另一边的固定板见间的距离就会减少,距离的班花就是对加速度值得测量。

g-cell极板组成了两个背靠背的电容,当在加速度的作用下中从而引起每个电容值的改变(如图4所示)。

同时ASIC利用开关电容技术测量g-cell的电容并且从两个电容的差别中提取加速度数据。

ASIC再进行型号调理、型号滤波最后提供一个提供一个与加速度成比例的数字输出。

MMA7455L的内部结构图如图5所示,X,Y,Z三轴互相垂直三轴上的加速度值分别由X轴变换器、Y轴变换器、Z轴变换器感知,再经过容压转化器、放大增益、AD转换和各种补偿修正后以数字方式通过SPI或IIC串行接口输出。

图4简明g-cell物理模型

图5MMA7455L内部结构图

综上可知,采用MMA7455L的IIC模式电路相对简单,且预计能获得比较好的效果

(3).加速度传感器,连接图如下图所示:

(4)单片机最小系统

单片机的最小系统电路图如图6所示,在此介绍复位电路和时钟电路。

单片机最小系统

复位电路:

单片机STC89C52最小系统的复位电路由电阻R2,电容C3和复位开关S2组成,其复位端为第9脚。

单片机一上电,由电容电压变化的连续性,端立即变为高点平,实现单片机的上电立即复位功能。

单片机上电后,按下复位上电开关S2后,第9脚的电压由原来的低电平变为高电平,使单片机实现复位操作。

也就是当该端子上保持两个机器周期的高水平时,可对STC89C52单片机实现复位操作。

时钟电路:

时钟电路采用内部时钟方式,由电容C1、C4和11.0592MHz的晶振Y1组成,接在单片机的第18和19脚(即XTAL1和XTAL2端)。

STC89C52内部有一个用于构成振荡器的高增益反向放大器,它的输入端为芯片引脚XTAL1,输出端为XTAL2。

这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器。

电路中的电容C1、C4可在5~30pF之间选择,该电容的大小通常会影响振荡器频率的高低,振荡器的稳定性和起振的快速性。

晶体振荡的频率范围通常是在1.2-12MHZ,晶体的频率越高,单片机的运行速度也就越快。

但反过来,运行速度越快对存储器的速度要求就越高,对印制电路板的要求也就越高,即要求线间的寄生电容要小。

晶体和电容应尽可能安装的与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。

为了提高温度的稳定性,应采用温度稳定性能好的电容。

(5)传感器电路

加速度传感器电路:

MMA7455L的芯片引脚功能说明如表1所示。

MMA7455L的IIC模式(如图7所示)通信协议是根据菲利普半导体公司的标准,在这个模块的接口中,只有串行数据线(SDA)和串行时钟线(SCL)是需要的。

8位串行双向数据传输在标准模式下可以达到100kbit/s,在最快的模式下可以达到400kbit/s。

SDA和SCL都是双向数据线,必须通过上拉电阻连接到正电源。

电阻选择2.2千欧到4.7千欧比较适宜,在此,我选择4.7千欧。

表1MMA7455L引脚功能说明

序号

名称

描述

状态

1

AVDD_IO

3.3V电压输入端(数字)

输入

2

GND

输入

3

NC

空角、不接或接地

输入

4

IADDR0

IIC地址0位

输入

5

GND

输入

6

AVDD

3.3V电压输入端(模拟)

输入

7

CS

SPI使能(0),IIC使能

(1)

输入

8

INT1/DRDY

中断1/数据就绪

输出

9

INT2

中断2

输出

10

NC

空角、不接或接地

输入

11

NC

空角、不接或接地

输入

12

SDO

SPI串行数据输出

输出

13

SDA/SDI/SDO

IIC串行数据输出/SPI串行数据输入/3线串行数据接口输出

双向/输入/输出

14

SCL/SPC

IIC/SPI时钟信号输出

输入

MMA7455L的IIC模式

IIC模式连接的好处是很多芯片可以连接到这条总线上,但是也受总线容量的限制。

简单的2线串行IIC模式将连线最小化,因此模块有较少的引脚需要连线,体积小,价格便宜。

4软件设计

部分程序:

#include

#include//Keillibrary

#include//Keillibrary

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitSCL=P2^7;//IIC时钟引脚定义

sbitSDA=P2^6;//IIC数据引脚定义

#defineSlaveAddress0x38//定义器件在IIC总线中的从地址,根据SA0地址引脚不同修改

typedefunsignedcharBYTE;

typedefunsignedshortWORD;

BYTEBUF[8];//接收数据缓存区

ucharge,shi,bai,qian,wan;//显示变量

intdis_data;//变量

intx,y,z;

voiddelay(unsignedintk);

voidInit_MMA8452(void);//初始化MMA8452

voidconversion(uinttemp_data);

voidSingle_Write_MMA8452(ucharREG_Address,ucharREG_data);//单个写入数据

ucharSingle_Read_MMA8452(ucharREG_Address);//单个读取内部寄存器数据

voidMultiple_Read_MMA8452();//连续的读取内部寄存器数据

voidDelay5us();

voidDelay5ms();

voidMMA8452_Start();

voidMMA8452_Stop();

voidMMA8452_SendACK(bitack);

bitMMA8452_RecvACK();

voidMMA8452_SendByte(BYTEdat);

BYTEMMA8452_RecvByte();

voidMMA8452_ReadPage();

voidMMA8452_WritePage();

ucharRX_DATA;

voidserial_serve(void)interrupt4

{

RI=0;

RX_DATA=SBUF;

}

//*********************************************

//串口初始化

//9600bps@11.059MHz

voidinit_uart()

{

TMOD=0x21;

TH1=0xfd;

TL1=0xfd;

SCON=0x50;

PS=1;//串口中断设为高优先级别

TR0=1;//启动定时器

TR1=1;

ET0=1;//打开定时器0中断

ES=1;

EA=1;

}

//*********串口数据发送******************

voidSeriPushSend(ucharsend_data)

{

SBUF=send_data;

while(!

TI);TI=0;

}

//*********************************************************

voidconversion(uinttemp_data)

{

wan=temp_data/10000+0x30;

temp_data=temp_data%10000;//取余运算

qian=temp_data/1000+0x30;

temp_data=temp_data%1000;//取余运算

bai=temp_data/100+0x30;

temp_data=temp_data%100;//取余运算

shi=temp_data/10+0x30;

temp_data=temp_data%10;//取余运算

ge=temp_data+0x30;

}

/*******************************/

voiddelay(unsignedintk)

{

unsignedinti,j;

for(i=0;i

{

for(j=0;j<121;j++)

{;}}

}

/**************************************

不同的工作环境,需要调整此函数,注意时钟过快时需要修改

当改用1T的MCU时,请调整此延时函数

**************************************/

voidDelay5us()

{

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();

}

/**************************************

不同的工作环境,需要调整此函数

当改用1T的MCU时,请调整此延时函数

**************************************/

voidDelay5ms()

{

WORDn=560;

while(n--);

}

/**************************************

起始信号

**************************************/

voidMMA8452_Start()

{

SDA=1;//拉高数据线

SCL=1;//拉高时钟线

Delay5us();//延时

SDA=0;//产生下降沿

Delay5us();//延时

SCL=0;//拉低时钟线

}

/**************************************

停止信号

**************************************/

voidMMA8452_Stop()

{

SDA=0;//拉低数据线

SCL=1;//拉高时钟线

Delay5us();//延时

SDA=1;//产生上升沿

Delay5us();//延时

}

/**************************************

发送应答信号

入口参数:

ack(0:

ACK1:

NAK)

**************************************/

voidMMA8452_SendACK(bitack)

{

SDA=ack;//写应答信号

SCL=1;//拉高时钟线

Delay5us();//延时

SCL=0;//拉低时钟线

Delay5us();//延时

}

/**************************************

接收应答信号

**************************************/

bitMMA8452_RecvACK()

{

SCL=1;//拉高时钟线

Delay5us();//延时

CY=SDA;//读应答信号

SCL=0;//拉低时钟线

Delay5us();//延时

returnCY;

}

/**************************************

向IIC总线发送一个字节数据

**************************************/

voidMMA8452_SendByte(BYTEdat)

{

BYTEi;

for(i=0;i<8;i++)//8位计数器

{

dat<<=1;//移出数据的最高位

SDA=CY;//送数据口

SCL=1;//拉高时钟线

Delay5us();//延时

SCL=0;//拉低时钟线

Delay5us();//延时

}

MMA8452_RecvACK();

}

/**************************************

从IIC总线接收一个字节数据

**************************************/

BYTEMMA8452_RecvByte()

{

BYTEi;

BYTEdat=0;

SDA=1;//使能内部上拉,准备读取数据,

for(i=0;i<8;i++)//8位计数器

{

dat<<=1;

SCL=1;//拉高时钟线

Delay5us();//延时

dat|=SDA;//读数据

SCL=0;//拉低时钟线

Delay5us();//延时

}

returndat;

}

//******单字节写入*******************************************

voidSingle_Write_MMA8452(ucharREG_Address,ucharREG_data)

{

MMA8452_Start();//起始信号

MMA8452_SendByte(SlaveAddress);//发送设备地址+写信号

MMA8452_SendByte(REG_Address);//内部寄存器地址

MMA8452_SendByte(REG_data);//内部寄存器数据

MMA8452_Stop();//发送停止信号

}

//********单字节读取*****************************************

/*

ucharSingle_Read_MMA8452(uch

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1