风电机组塔筒振动监测系统设计报告.docx
- 文档编号:8671448
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:18
- 大小:185.71KB
风电机组塔筒振动监测系统设计报告.docx
《风电机组塔筒振动监测系统设计报告.docx》由会员分享,可在线阅读,更多相关《风电机组塔筒振动监测系统设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
风电机组塔筒振动监测系统设计报告
课程设计报告
(2014--2015年度第二学期)
名称:
单片机课程设计
题目:
风电机组塔筒振动检测系统
院系:
班级:
学生姓名:
同组人:
学号:
成绩:
日期:
2015年7月5日
一.塔筒振动检测意义:
通过对塔筒振动的实时数据监测,和进一步的数据分析可以
1判断塔筒的强度,刚度,稳定性,便于维护与检修
2.实现对风电机组变载荷,变转速的检测和反馈
3.保证机组运行过程的平稳和安全可靠运行
二.塔筒振动检测基本方案
1.基本原理:
利用传感器测量塔筒的振动信号,通过信号传送线路和信号转换元件把振动信号送入单片机,再利用单片机的软件技术处理塔筒的振动信号,实时显示塔筒振动状态并将信号通过无线技术传输到检测中心,实现塔筒振动的检测。
2.功能实现:
每个风电机组塔筒可用8个传感器分别测得不同位置的各个方向上的振动信号,每个测量对象经传感器输出的8条模拟信号可输入到ADC0808的8个模拟输入端子,单片机控制选择模拟信号输入通道后,ADC0808转换为数字信号经输出通道输出到到AT89C51单片机,单片机又与数码管连接,由单片机控制将8通道的模拟量轮流转换后输出到七段数码管动态显示,由此可简单实现塔筒振动的实时简单检测。
(若要更准确的实现塔筒振动的检测,同时可将A/D转换后,数据串行口输出后经MAX232电平转换后,通过无线数据模块传到检测中心,经数据分析后得到更为准确的塔筒振动检测,以下设计中不做设计)
系统的
运行方框图如下:
风电机组.........风电机组
传感器传感器
前置放大器 .........前置放大器
A/D转换器 .........A/D转换器
单片机.........单片机
GPRS模块 GPRS网络GPRS模块
显示电路检测中心显示电路
三.硬件设计
1.硬件选择
(1).传感器选择:
加速度传感器,塔筒自身的振动主要为低频振动,因此测量塔筒的自振频率,可选用加速度传感器或电容式振动传感器。
(2).传感器的放置:
考虑到塔筒的各个方向上的振动情况不一样,塔筒不同高度上的振幅也不一样,现将8个加速度传感器分为两组,每组四个分别置于塔筒横截面上相互垂直的X-Y方向上的四个位置(如图a),其中一组放置在塔筒底部,另一组靠近塔筒顶部,考虑到测量的数据的准确有效性,可将两组错开45°(如图b),由此可实现塔筒各个位置振动的立体式测量,更具有准确性,而且可通过检测中心的数据分析得到非常准确的塔筒振动情况。
图a 图b
(3)A/D转换器:
ADC0808,具有8通道模拟输入,以逐次逼近式原理进行转换,分辨率为8位,且便于模拟电路仿真。
(4)单片机:
AT89C51,与MCS-51兼容,4K字节可编程FLASH存储器,数据保留时间长,128×8位内部RAM,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。
(5)数码管:
7SEG-MPX4-CA,七段显示数码管,共阳。
(6)74LS74:
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,为了得到1MHZ的时钟频率,在电路中采用了74LS74二分频得到1MHZ的时钟频率。
(7)其他元件:
电容:
30pF×2个,1uF×1个;
电阻:
510×7个,4.7k×4个,51k×1个,1k×1个;
三极管:
MPS6514×4个;
石英晶振:
12MHZ×1个;
按钮开关一个。
2.总硬件接线图如下:
各个模块连接及说明如下:
(1).A/D转换部分
ADC0808芯片各引脚及功能:
有28条引共脚,采用双列直插式封装。
1~5和26~28(IN0~IN7):
8路模拟量输入端。
8、14、15和17~21:
8位数字量输出端。
22(ALE):
地址锁存允许信号,输入,高电平有效。
6(START):
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
7(EOC):
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
9(OE):
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
10(CLK):
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
12(VREF(+))和16(VREF(-)):
参考电压输入端
11(Vcc):
主电源输入端。
13(GND):
地。
23~25(ADDA、ADDB、ADDC):
3位地址输入线,用于选通8路模拟输入中的一路。
连接说明:
ADC0808是由单一电源,+5V供电,模拟电压的输入范围为0~5V,故本设计允许输入的模拟电压最大值为5V。
第22脚ALE为地址锁存控制,当输入为高电平时,对地址信号进行锁存;6脚START为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D转换;7脚EOC为A/D转换结束标志,当A/D转换结束时,7脚输出高电平;9脚OE,数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数。
ADC0808的转换速度取决于芯片的时钟频率,要求时钟频率范围不高于640KHZ,在本设计中我们采用了由单片机ALE脚的六分频晶振信号再通过74LS74二分频得到,故ADC0808的工作频率为1MHZ,转换时间为1US。
连接图:
(2).数据处理模块:
AT89C51管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(计时器0外部输入)
P3.5T1(计时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
连接说明:
单片机主要完成将接受到的ADC0808转换输出的二进制数值进行BCD码的转换,并完成8路数值轮流显示的功能,故需借助单片机来完成编程功能。
设计中,采用了AT89C51单片机,与工业80C51产品指令和引脚完全兼容。
单片机中的I/O口都用做普通的输入输出口,由P1口接受AD0808送来的二进制数值,P0口是数码管数值输出口,P3.0~P3.3作为数码管的位驱动口。
为得到AD0808的时钟信号,在设计中,利用了单片机的ALE端口。
ADC0808与74LS74的连接上部分已写出。
连接图:
(3).显示部分
要自动轮流显示模拟通道数,以及8路模拟电压数值,设计中采用了动态显示,采用7SEG-MPX4-CA,共阳。
根据数码管的参数要求,要求其驱动电流在10MA~20MA之间,在电路中采用三极管MPS6514进行扩流来驱动数码管;在本设计中段码显示是由P0口进行输出,为防止数码管灌入单片机的电流超出了允许的电流范围,在数码管与单片机的P1口之间接入了510欧姆的电阻。
硬件电路图如图所示。
由于人眼的视觉暂留时间为0.1S,所以每位显示的间隔不能超过20ms,并保持延时一段时间,以造成视觉暂留效果,给人看上去每个数码管总在亮,设计中每位数值的显示时间为1ms,一个通道的数值显示包括了通道数及电压数值轮流显示,共轮番显示255次,所以每个通道的停留时间为1s。
四.软件设计
1、主程序
当进行一次测量后,将显示出每一通道的A/D转换值。
每个通道的数据显示时间在1s左右。
主程序在调用显示程序和测试程序之间循环,其流程图如下。
2、初始化程序
系统上电时,将70H~77H内存单元清零,P2口置零。
3、显示子程序
采用动态扫描法实现四位数码管的数值显示。
测量所得的A/D转换数据放在70H~77H内存单元中。
测量数据在显示时需经过转换成为十进制BCD码放在78H~7BH中,其中7BH存放通道标志数。
寄存器R3用来作为8路循环控制,R0用做显示数据地址指针。
4、A/D转化程序
模数转换测量子程序是用来控制对ADC0808的8路模拟输入电压的A/D转换,并将对应的数值移入70H~77H内存单元,其程序流程如下。
5.地址分配:
内部RAM70H~77H是8路模拟信号经过AD转换得到的二进制数存储单元,78H~7BH是分别作为数码管的的模拟通道数,电压数值的百位、十位、个位。
6.参考程序:
主程序和中断程序入口
ORG0000H;程序执行开始地址
LJMPSTART;跳至START执行
ORG0003H;外中断0中断入口地址
RETI;中断返回(不开中断)
ORG000BH;定时器T0中断入口地址
RETI;中断返回(不开中断)
ORG0013H;外中断1中断入口地址
RETI;中断返回(不开中断)
ORG001BH;定时器T1中断入口地址
RETI;中断返回(不开中断)
ORG0023H;串行口中断入口地址
RETI;中断返回(不开中断)
ORG002BH;定时器T2中断入口地址
RETI;中断返回(不开中断)
;初始化程序中的各变量
CLEARMEMIO:
CLRA;
MOVP2,A;P2口置0
MOVR0,#70H;内存循环清0(70H~7BH)
MOVR2,#0CH
LOOPMEM:
MOV@R0,A
INCR0
DJNZR2,LOOPMEM
MOVA,#0FFH
MOVP0,A;P0,P1,P3端口置1
MOVP1,A
MOVP3,A
RET;子程序返回
;主程序
START:
LCALLCLEARMEMIO;初始化
MAIN:
LCALLTEST;测量一次
LCALLDISPLAY;显示数据一次
AJMPMAIN;返回MAIN循环
NOP;PC值出错处理
NOP;空操作
NOP;空操作
LJMPSTART;重新复位启动
DISPLAY:
MOVR3,#08H;8路信号循环显示控制
MOVR0,#70H;显示数据初址(70H~77H)
MOV7BH,#00H;显示通道路数(0~7)
DISLOOP1:
MOVA,@R0;显示数据转为三位十进制BCD码存入
MOVB,#100;7AH,79H,78H显示单元内
DIVAB;显示数据除100
MOV7AH,A;商入7AH
MOVA,#10;A放入数10
XCHA,B;余数与数10交换
DIVAB;余数除10
MOV79H,A;商入79H
MOV78H,B;余数入78H
MOVR2,#0FFH;每路显示时间控制4ms*255
DISLOOP2:
LCALLDISP;调四位LED显示程序
DJNZR2,DISLOOP2;每路显示时间控制
INCR0;显示下一路
INC7BH;通道显示数值加1
DJNZR3,DISLOOP1;8路显示未完转DISLOOP1再循环
RET;8路显示完子程序结束
;LED共阳显示子程序,显示内容在78H~7BH,数据在P1输出,列扫描在P3.0~P3.3口
DISP:
MOVR1,#78H;赋显示数据单元首址
MOVR5,#0FEH;扫描字
PLAY:
MOVP1,#0FFH;关显示
MOVA,R5;取扫描字
ANLP3,A;开显示
MOVA,@R1;取显示数据
MOVDPTR,#TAB;取段码表首址
MOVCA,@A+DPTR;查显示数据对应段码
MOVP1,A;段码放入P1口
LCALLDL1MS;显示1ms
INCR1;指向下一地址
MOVA,P3;取P3口扫描字
JNBACC.3,ENDOUT;四位显示完转ENDOUT结束
RLA;扫描字循环右移
MOVR5,A;扫描字放入R5暂存
MOVP3,#0FFH;显示暂停
AJMPPLAY;转PLAY循环
ENDOUT:
MOVP3,#0FFH;显示结束,端口置1
MOVP1,#0FFH
RET;子程序返回
;LED数码显示管用共阳段码表,分别对应0~9,最后一个是"熄灭符"
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
;1ms延时子程序,LED显示用
DL1ms:
MOVR6,#14H
DL1:
MOVR7,#19H
DL2:
DJNZR7,DL2
DJNZR6,DL1
RET
;模数转换测量子程序
TEST:
CLRA;清累加器A
MOVP2,A;清P2口
MOVR0,#70H;转换值存放首址
MOVR7,#08H;转换8次控制
LCALLTESTART;启动测试
WAIT:
JBP3.7,MOVD;等A/D转换结束后转MOVD
AJMPWAIT;P3.7为0等待
TESTART:
SETBP2.3;锁存测试通道地址
NOP;延时2us
NOP
CLRP2.3;测试通道地址锁存完毕
SETBP2.4;启动测试,发开始脉冲
NOP;延时2us
NOP
CLRP2.4;发启动脉冲完毕
NOP;延时4us
NOP
NOP
NOP
RET;子程序调用结束
;取A/D转换数据至70H~77H内存单元
MOVD:
SETBP2.5;0809输出允许
MOVA,P0;将A/D转换值移入A
MOV@R0,A;放入内存单元
CLRP2.5;关闭0809输出
INCR0;内存地址加1
MOVA,P2;通道地址移入A
INCA;通道地址加1
MOVP2,A;通道地址送0809
CLRC;清进位标志
CJNEA,#08H,TESTCON;通道地址不等于8转TESTCONT再测试
JCTESTCON;通道地址小于8转TESTCONT再测试
CLRA;大于或等于8,A/D转换结束,恢复端口
MOVP2,A;P2口置1
MOVA,#0FFH;
MOVP0,A;P0置1
MOVP1,A;P1置1
MOVP3,A;P3置1
RET;取A/D转换数据结束
TESTCON:
LCALLTESTART;再发测试启动脉冲
LJMPWAIT;跳至WAIT等待A/D转换结束信号
END;程序结束
五.个人分工及心得:
1.此设计中主要负责硬件电路设计与仿真,学到了应用protues来实现单片机的设计和仿真,和利用KeiluVision4编程与调试;目前熟练的掌握了protues软件的基本应用,但还不能熟练掌握用Keil
uVision4软件进行程序的编制及烧写过程;
2.2.单片机具有非常灵活的特性,在实际生活中的应用非常广泛,可以利用单片机的接口设计实现很多的功能,与生活联系紧密;
3.3.单片机虽然有很多的种类,但基本的使用原理都差不多,一般都可以实现线路接口的改接而实现不同型号单片机实现相同的功能;
4.4.在以后的学习中,我们要重视对单片机的学习和关注,这对于本专业控制和测量的学习来说是相当重要的一部分。
六.参考文献:
[1]胡汉才.单片机原理及其接口技术(第三版).
[2]阎石.数字电子技术基础.
[2]XX百科
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机组 振动 监测 系统 设计 报告