版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳理工大学毕业论文论文题目:基于 zigbee的超声风速传感器组网系统设计与研究指导教师:于洋设计队员:陈正勇目 录摘 要1Abstract11.系统方案21.1风电场监控系统方案21.2系统总体设计方案32系统硬件设计42.1单片机系统42.1.1串口通信RS48542.1.2 液晶显示模块5 2.1.3液晶显示T6963C介绍.,52.1.4 JTAG电路72.1.5电源模块72.2 Zigbee模块62.2.1 Zigbee的硬件平台62.2.2 Zigbee的组网技术72.2.3 Zigbee的声光报警83 系统软件设计83.1 单片机模块软件设计83.2 Zigbee模块软件设计1
2、04系统测试与分析144.1硬件系统测试分析144.2软件系统测试分析154.2.1 软件主界面显示154.2.2 风速数据统计164.2.3报警信息统计175总结18参考文献18摘 要本设计是基于Zigbee自组网技术,利用超声测风传感器网络研究开发的风电场测风系统。单片机C8051F120通过风速传感器采集风速、风向等风电场信息,并由Zigbee自组网将各项数据上传至监控中心计算机。监控中心同样可利用Zigbee网络实现控制信号的无线远传,从而实现风电场的远程无线数据采集和远程监控。本系统通过风速传感器实现风向和风速的测量;通过Zigbee的自组网实现风速风向数据的传输;上位机监控系统利用
3、VB设计监控界面,并结合Mapinfo的地理信息系统,以及使用SQL server 2005作为数据管理软件,来完成数据分析、汇总、显示、报表打印、数据报警等功能。关键字: 超声测风;C8051F120;Zigbee;Mapinfo;SQL server 2005AbstractThe design is a system of the measurement of wind in wind farm, making the use of ultrasonic wind sensor network to research, and based on the technology of the
4、 Zigbee ad hoc network. MCU C8051F120 collect the information of wind speed and direction of wind farm, by the wind speed sensor, and then the collected data is uploaded to the monitoring center computer by the Zigbee ad hoc network. The monitoring center can also use Zigbee network wireless remote
5、control signal, in order to achieve remote wireless data acquisition and remote monitoring of the wind farm. The system is implemented the measurements of wind direction and speed through the wind sensor,wind speed and direction data is transmitted through Zigbee ad hoc networks. PC monitoring syste
6、m takes advantage of VB to design monitoring interface, combines with Mapinfo geographic information systems, and uses SQL Server 2005 as the data management software to complete the data analysis, summary, report printing and data alarming functions.Key words:Ultrasonic wind measurement; C8051F120;
7、Zigbee;Mapinfo;SQL server 20051.系统方案1.1风电场监控系统方案目前市面上存在的风电场气象数据监控系统大多数采用有线的数据传输方式,如RS485、RS422、CAN总线等,也有部分基于无线传输的气象数据采集系统。国外的风电场监控系统较为完善,今年来推出了一系列的利用无线网络进行监控的产品,但价格昂贵,比较难以在国内普及。目前,风电场监控方案思想主要有一下三种。方案1:传统的有线数据传输方式,利用各种有线通信方式如RS485、RS422,CAN总线等,有线网络的数据传输可靠性高,但存在布线费用高,挪动不方便,且施工麻烦,易受到场合限制等缺点。风电机组的分布为分散式
8、分布,且数量较多,因此布线费用将是一笔巨大的开资,同时风电机组的增加或减少将影响网络的运行状态。因此本方案舍弃了传统的有线方案,着重从无线的方向进行考虑。方案2:采用GPRS无线通信模块作为无线通讯控制系统核心,设计接口电路用来接收超声波风速风向仪传送的数据,其应用系统如图1.1所示。该系统方案能够实现风电场数据的无线监控,但DTU的使用一般需要GPRS通信,使用SIM卡进行付费。因此其网络存在一定的不稳定性,且价格较为昂贵,不适合多点布控的风电场监控。图1.1 GPRS应用系统方案3:采用Zigbee无线通讯模块作为无线通讯系统核心,其应用系统如图1.2所示。图1.2 Zigbee应用系统Z
9、igbee技术是基于IEEE802.15.4标准的低功耗个域网协议,它具有低功耗、低复杂度、低成本、低数据速率、高容量、自组织等优点。与移动通信的CDMA、GSM、GPRS网不同的是,Zigbee网络主要是为工业现场自动化控制数据传输而建立,每个Zigbee网络节点不仅本身可以作为监控对象,对其所连接的传感器直接进行数据采集和监控,还可以自动中专别的网络节点传过来的数据资料。除此之外,每个Zigbee网络节点还可以在自己信号范围之内,与多个不承担网络信息中转任务的孤立子节点无线连接。同时Zigbee技术所采用的是自组织网,多通道通信,不同的节点只要彼此间在网络模块的通道范围内,通过彼此自动寻找
10、,很快就能组建一个互联互通的Zigbee网络。当节点撤销或位置变化时,节点可以重新寻找通信对象,确定新的网络。Zigbee技术应用于风电场远程监控,当新增加风电机组或部分旧风电机组停止运行时,对整个系统无任何影响。因此,本系统采用基于Zigbee无线传感器网络的无线风电场监控系统,实现各风电机之间的互联,各风力发电机组与监控中心的通讯是一种很好的办法1。1.2系统总体设计方案本系统由超声波风速风向仪检测现场的风速、风向等数据信息,通过RS485总线将采集的信息送入单片机,单片机对数据进行处理后通过液晶显示出来,并通过Zigbee模块送入网关,当上位机通过RS232总线向网关发送读取某个节点数据
11、的命令,网关便将采集到的节点信息送入上位机,上位机监控系统将接收的数据存入中心数库,并完成数据分析、汇总、显示、报表打印等功能。系统整体框图设计如图1.3所示。 图1.3 系统整体框图80C51单片机具有运算速度慢、功耗大、内部资源少等不足。而C8051F12x单片机集成了丰富的片内外设,为设计小体积、低功耗、高可靠性、高性能的单片及应用系统提供了很大方便,大大降低了系统整体成本。电路测试结果表明,这大大提高了系统的性能。所以本系统采用C8051F120单片机。2系统硬件设计 2.1单片机系统2.1.1串口通信RS485RS-485是串行数据接口标准,由电子工业协会(EIA)制订并发布的,它是
12、在RS-422基础上制定的标准2,RS-485标准采用平衡式发送,差分式接收的数据收发器来驱动总线。RS-485标准所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的,且最大的传输距离可达3000米。本系统中,超声风速风向仪采集的信号通过RS485接口传送到单片机中,然后再经单片机进行处理显示。RS485接口电路图如图2.1所示:图2.1 RS485接口电路2.1.2 液晶显示模块液晶显示能够将风速风向等数据显示交互给用户,方便用户的操作。液晶显示是系统工作状态的反应,本设计采用内置T6963C控制器的液晶显示屏,用于显示系统采集到的当前风速、风向等参数,以及系统连接、通
13、信是否正常等工作状态。由于C8051F120的端口输出能力较弱,难以直接驱动T6963C液晶显示屏,因此本文设计简单的三极管驱动电路去驱动液晶显示,T6963C为5V供电,为保证液晶显示正常,本文选择使用排阻进行端口电平上拉,参照其I/O端口电气特性,设计液晶显示电路如图2.2所示:图2.2 液晶显示电路2.1.3 T6963C 引脚说明T6963C 的QFD 封装共有67 个引脚,各引脚说明如下:1、D0D7:T6963C 与MPU 接口的数据总线,三态。2、RD,WR:读写选通信号,低电平有效,输入信号。3、CE:T6963C 的片选信号,低电平有效。4、CD:通道选择信号,1 为指令通道
14、,0 为数据通道。5、RESET,HALT:RESET 为低电平有效的复位信号,它将行、列计数器和显示寄存器清零,关显示;HALT 具有RESET 的基本功能,还将中止内部时钟振荡器的工作,以保护液晶显示器件。以上引脚为T6963C 与MPU 接口的引脚,时序关系符合8080 系列时序。6、UAL,SDSEL:DUAL1 为单屏结构,DUAL0 为双屏结构;SDSEL0 为一位串行数据传输方式,SDSEL0 为2 位并行数据传输方式。7、MD2,MD3:设置显示窗口长度,从而确定了列数据传输个数的最大值,其组合逻辑关系如下:8、MDS,MD1,MD0:设置显示窗口宽度(行),从而确定T6963
15、C 的帧扫信号的时序和显示驱动的占比系数,当DUAL1 时,其组合功能如下:当DUAL0 时,以上设置中的字符行和总行数增至原来的2 倍,其它都不变,这种情况下的液晶屏结构为双屏结构9、 S1,FS0:显示字符的字体选择。10、X1、X0:振荡时钟引脚。11、AD015:输出信号,显示缓冲区16 位地址总路线。12、D07:三态,显示缓冲区8 位数据总路线。13、RW:输出,显示缓冲区读写控制信号。14、CE:输出,显示缓冲区片选信号,低电平有效。15、CE0,CE1:输出,DUAL1 时的存储器片选信号。16、T1、T2、CH1,CH2:用来检测T6963C 工作使用情况,T1,T2 作为测
16、试信号输入端,CH1,CH2 作为输出端。17、HOD,HSCP,LOD LSCP(CE1),ED LP,CDATA,FR 为T6963C 驱动部分信号,2.1.4 JTAG电路JTAG接口是一种国际标注测试协议,其主要用于芯片内部的测试。目前JTAG口主要应用于实现ISP,对FLASH等器件进行编程,利用JTAG进行编程,大大加快工程进度。标准的JTAG接口主要使用以下4个接口:TMS、TCK、TDI、TDO。其中TMS用来设置JTAG口处于某种特定的测试模式,TCK为测试时钟的输入,TDI为数据输入JTAG口的端口,TDO为数据从JTAG输出的端口3。JTAG接口电路如图2.3所示。图2.
17、3 JTAG电路2.1.5电源模块AMS1117设计用于提供1A输出电流且工作压差可低至1V。在最大输出电流时,其压差保证最大不超过1.3V,并随负载电流的减小而逐渐降低。AMS1117的片上微调把基准电压调整到1.5%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力。5V电源为各模块提供工作电压,3.3V为液晶显示模块提供电压。电源模块原理图如图2.4所示:图2.4 电源模块2.2 Zigbee模块本设计采用基于Zigbee技术的无线传感器网络,对风电场的各节点进行组网,并通过网关将各节点采集的信息搜集起来,传给上位机,然后上位机对当前风电场的运行情况进行分
18、析监控。 2.2.1 Zigbee的硬件平台Zigbee技术是一种新兴的近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术无线通信技术。ZigBee是一个由可多到65000个无线数传模块组成的一个无线数传网络平台,在整个网络范围内,每一个ZigBee网络数传模块之间可以相互通信。本设计中,Zigbee网络由多个Zigbee模块通过自组网形成一定的网络拓补结构,硬件平台由以CC2430芯片为核心的zigbee开发板组成。CC2430芯片的设计结合了一个高性能2.4GHz DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器,以及8Kbyte的RAM及强大的外围模块,
19、并且有3种不同的版本,他们是根据不同的闪存空间32、64和128kByte来优化复杂度与成本的组合。封装模式采用7 mm7mm QLP封装,共有48 个引脚,全部引脚可分为I/O 端口线引脚、电源线引脚和控制线引脚三类。CC2430无线核心部分是一个射频收发器。无线接收器是一个低中频的接收器,接收到的射频信号通过低噪声放大器放大而正交降频转换到中频,在中频2MHz中,当ADC模/数转换时,输入/增益调相信号被过滤和放大,然后送入数据缓冲区。无线发送器是基于上变频器的,发送数据帧的前导符和开始符由硬件生成,接收数据存放在一个接收先进先出的数据缓冲区,然后通过数/模转换把数字信号转换成模拟信号发送
20、出去4。CC2430应用电路如图2.5所示。图2.5 CC2430应用电路2.2.2 Zigbee的组网技术从网络结构上看,Zigbee网络有星型、树型、网状三种模式。按照网络节点功能划分,可分为协调器节点(Zigbee Coordinator)、路由器节点(ZigBee Router)和终端节点(ZigBee End Device)三种。协调器节点:负责发起并维护一个无线网络,识别网络中的设备加入网络,一个ZigBee网络只允许有一个ZigBee协调器;路由器节点:支撑网络链路结构,完成数据包的转发,ZigBee网状或树型网络可以有多个ZigBee路由器,星型网络不支持ZigBee路由器;终
21、端节点:是网络的感知者和执行者,负责数据采集和可执行的网络动作,它通过ZigBee协调点或者ZigBee路由节点连接到网络,但不允许其他任何节点通过它加入网络,ZigBee终端节点能够以非常低的功率运行5。Zigbee网络拓扑结构如图2.6所示:图2.6 Zigbee网络拓扑结构本系统是模拟风电场监控系统,由于硬件资源以及条件限制,因此本系统使用了少量的Zigbee模块,其组网结果为星型拓扑结构。若实际应用时需监控多个区域,可进行网络拓扑结构改变以适应实际情况下的风电场监控6。2.2.3 Zigbee的声光报警当考虑到风电场监控的可视化,本系统设计了声光报警模块。风速风向数据采集后经Zigbe
22、e网络上传至上位机程序。上位机可设置当前时间与当前区域的风速报警值并自动判断是否产生报警信息。当上位机产生报警信息时,发送继电器命令至Zigbee节点,此时继电器闭合,报警灯点亮。继电器使用huike4100F,其参数指标为3A,220V,可有效实现市电系统的可控制化。图2.7 继电器控制3 系统软件设计3.1 单片机模块软件设计开始初始化,开中断发送连接命令连接成功判断运行位判断测试位发送运行命令运行成功发送测试命令上传至zigbee液晶显示485接收中断接收数据判断数据命令中断返回是是否是是否否否是否否是判断连接位图3.1 单片机主程序与中断处理服务流程图 软件程序#define MAIN
23、_GLOBAL#define Pos_GLOBAL#includeIncludes.hsbit LED=P22;unsigned char UART_Buffer30;unsigned char UART_Buffer_Size = 0; unsigned char UART_Input_First = 0;unsigned char UART_Output_First = 0;unsigned int open_flag,connect_flag,test_flag;static char Byte;unsigned char code open13=0x02,0x10,0x10,0x02,
24、0x00,0x02,0x04,0x00,0x01,0x00,0x01,0x20,0xF2;/打开仪器命令unsigned char code connect8=0x02,0x06,0x10,0x03,0x00,0x00,0x7D,0x39;/连接仪器命令unsigned char code test8=0x02,0x04,0x10,0x04,0x00,0x08,0xB4,0xFE;/返回风速命令unsigned char send_buff12;/与zigbee通信的unsigned int display_flag;unsigned char a10;float windspeed,wind
25、dirtect;char string110,string210;void delay(unsigned int z) unsigned x,y; for(x=0;xz;x+) for(y=0;y121;y+); void open_sensor() unsigned i; for(i=0;i13;i+) SFRPAGE = UART0_PAGE;SBUF0=openi;while(!TI0);TI0=0; void connect_sensor() unsigned int i; for(i=0;i8;i+) SFRPAGE = UART0_PAGE;SBUF0=connecti;while
26、(!TI0);TI0=0; void test_sensor() unsigned i; for(i=0;i8;i+) SFRPAGE = UART0_PAGE;SBUF0=testi;while(!TI0);TI0=0; void com_zigbee() unsigned int i; for(i=0;i126) num2=num2-126; flag=1; else num2=126-num2; flag=0; sum=1;if(num20)for(i=0;inum2;i+) sum=sum*2; else sum=1; if(flag) num=num1*sum; if(!flag)
27、num=num1/sum; return num;void main ()unsigned int m_c_Loop;unsigned int ttnumber;open_flag=0;connect_flag=0;test_flag=0;display_flag=0;WDTCN =0xDE;WDTCN =0xAD;SYSCLK_Init();PORT_Init();UART1_Init();UART0_Init();delay(1500); ClrRST delay(1000); SetRST delay(1000); for(m_c_Loop=0;m_c_Loop30;m_c_Loop+)
28、 delay(500); inti_lcd(); SFRPAGE = CONFIG_PAGE; full_screen_picture_display(); for(m_c_Loop=0;m_c_Loop6;m_c_Loop+) delay(1000); open_sensor(); while(1)/液晶显示测试清空 if (display_flag=0)& (test_flag) SFRPAGE = CONFIG_PAGE; full_screen_Clear(); display_hz(2,0*16,0); /基 display_hz(2,0*16,0); /基 display_hz(4
29、,0*16,1); /于 display_ascii_string(6,0*16,GIS); display_hz(9,0*16,2); /的 display_hz(11,0*16,3); /无 display_hz(13,0*16,4); /线 display_hz(15,0*16,5); /网 display_hz(17,0*16,6); /络 display_hz(19,0*16,7); /测 display_hz(21,0*16,8); /控 display_hz(23,0*16,9); /系 display_hz(25,0*16,10); /统 display_hz(2,2*16,1
30、1); /当 display_hz(4,2*16,12); /前 display_hz(6,2*16,13); /风 display_hz(8,2*16,14); /速 display_ascii_string(18,2*16,m/s); display_hz(2,4*16,11); /当display_hz(4,4*16,12); /前display_hz(6,4*16,13); /风display_hz(8,4*16,15); /向display_hz(18,4*16,22); /度 display_hz(2,6*16,18); /连display_hz(4,6*16,19); /接dis
31、play_hz(6,6*16,20); /正display_hz(8,6*16,21); /常display_hz(12,6*16,16); /通display_hz(14,6*16,17); /信display_hz(16,6*16,20); /正display_hz(18,6*16,21); /常 display_flag=1; for(m_c_Loop=0;m_c_Loop45530) ttnumber=0; /接收处使用中断进行处理 void UART0_Interrupt(void) interrupt 4unsigned int i;unsigned char m_test4; S
32、FRPAGE = UART0_PAGE; if (RI0 = 1) LED=0; if( UART_Buffer_Size = 0) UART_Input_First = 0; RI0 = 0; / Clear interrupt flag Byte = SBUF0; / Read a character from UART if (UART_Buffer_Size UART_BUFFERSIZE) UART_BufferUART_Input_First = Byte; / Store in array UART_Buffer_Size+; / Update arrays size UART_
33、Input_First+; / Update counter if (UART_Buffer1=0x10)&(UART_Buffer7=0xfb)&(UART_Buffer_Size=8) UART_Input_First=0; UART_Buffer_Size=0; LED=0; LED=1; open_flag=1; if (UART_Buffer1=0x06)&(UART_Buffer7=0x39)&(UART_Buffer_Size=8) UART_Input_First=0; UART_Buffer_Size=0; LED=0; LED=1; connect_flag=1; if(U
34、ART_Buffer1=0x04)&(UART_Buffer2=0x10)&(UART_Buffer_Size=21) UART_Input_First=0; UART_Buffer_Size=0; LED=0; for(i=0;i12;i+) send_buffi= UART_Bufferi+3; /解析风速数据m_test0=UART_Buffer5;m_test1=UART_Buffer6;m_test2=UART_Buffer3;m_test3=UART_Buffer4;windspeed = *(float *)m_test);sprintf(string1,%.2f0,windsp
35、eed);m_test0=UART_Buffer9;m_test1=UART_Buffer10;m_test2=UART_Buffer7;m_test3=UART_Buffer8;winddirtect = *(float *)m_test); sprintf(string2,%.2f0,winddirtect);LED=1; test_flag=1; 单片机上电工作后,首先设置单片机的时钟源并使能PLL,倍频后设置为系统时钟源,各端口进行初始化,软件设置端口输出模式;由于C8051系列的悬浮端口,因此需进行交叉开关配置,决定UART0、UART1的端口位置并分别设置其通信格式,包括波特率,数
36、据位,停止位,校验位;对液晶T6963C进行初始化,显示欢迎界面。正常工作后,单片机发送连接命令以连接超声测风仪,同时开启中断等待测风仪响应,中断处理程序中判断测风仪当前状态,通过连接状态标志位,运行状态标志位和测试状态标志位决定当前的单片机工作状态。当处于测试状态标志位时,测风仪开始测风,此时单片机与风速仪进行循环通信,且将风速数据,风向数据传输至Zigbee模块以进行无线组网通信,并时刻更新液晶显示器,显示当前时间的风速和风向测量值7。3.2 Zigbee模块软件设计Zigbee模块系统协议栈采用Z-Stack,定义风速仪的通信格式为38400.8.n.1,Zigbee的通信格式定义为19
37、200.8.n.1,8表示数据位数,n表示无校验位,1是结束标志位。软件设计分为两部分,有协调器节点流程和路由器/终端节点流程。协调器节点流程图和路由器/终端节点流程图分别如图3.2和3.3所示 。开始初始化,新建网络串口数据到达判断命令串口数据事件无线数据到达串口输出网络结构显示网络ID串口输出命令格式有效无线发送数据是是否否图3.2 协调器节点流程图上电后协调器节点先进行初始化,初始化主要包括:硬件初始化,配置UART、电压检举等;任务初始化,有设置任务ID号与任务函数等。然后检测串口数据和无线数据是否到达。若串口数据到达,此时进入串口数据处理函数,若上位机命令符合格式,则进行组内命令发送
38、,发送模式为针对已知地址。若有网络数据到达,此时判断数据格式,若格式符合要求,则认定此为风速风向数据或网络结构数据,此时将数据回送至串口。图3.3 路由/终端节点流程图上电后路由/终端节点先进行初始化,然后申请加入网络,等待协调器命令。当接收到一次读取的命令,节点开始读取串口数据,然后启动无线发送;当接受到定时读取命令,节点开始定时读取串口数据,然后启动无线发送;当没有接收到任何命令时,节点处于等待协调器发送命令的状态。3.3 上位机软件设计上位机软件系统主要由地理信息模块,实时数据处理模块,历史数据处理模块等三部分组成。其框图主要如图3.4所示:图3.4 上位机系统框架地理信息主要实现节电定
39、位,地图操作,以及位置信息等功能。其中可通过节点定位实现各节点位置的可视化以及当前节点分布状况。地图操作中本地图模拟google地图,百度地图等功能,通过按钮,鼠标等实现地图的漫游,放大,缩小等等功能,位置信息主要依靠地图信息的回调函数进行实现,可监控当前位置所处的经纬度信息或当前的视野地图信息。实时数据主要依靠串口编程实现,其通过串口所返回的网内信息实现了网内多个节点的风速,风向信息的采集,此时程序加载风速,风向信息,并将各信息与节点进行关联。参照风电场监控的实际情况,本文设计了实时报警界面,其可通过设置调整当前的报警状态,以保证风机运行正常。历史数据主要通过数据库操作进行实现,利用数据库中
40、存储的各项数据进行分析与汇总。最终通过本系统实现风电场监控各点的数据采集,数据存储,数据分析等功能。上位机系统开发所使用的主要技术包括以下几点:(1)OLE技术连接地理信息系统OLE技术是一个服务可控制、结构可扩展、基于对象集成构件的、同一的服务环境,是应用程序共享对象的工业标准。其实质为在某一应用程序中嵌入其他程序提供的对象和数据,从而获得特定功能的程序设计方法,即预先定义一组接口,这些接口是应用程序调用被此通信的标准化集合,每个接口分别处理具体的一种通信。地理信息系统是60年代发展起来的对空间信息进行分析与研究的一门新技术,是测绘学、地图学、地理学、遥感技术、卫星定位技术、现代通讯技术、专
41、家系统技术等多学科和技术集成的基础平台,是多学科交叉的产物。目前,已被广泛地应用于区域规划、环境保护、减灾防灾、资源评价、公安消防、市场分析等领域。利用OLE技术连接地理信息系统进行软件的开发可有效的实现zigbee模块监控地区的定位与可视。因此,本文选择使用地理信息系统进行上位机开发。综合考虑多个地理信息系统软件,本文选择使用MapinfoProfesional作为地理信息系统软件,该软件为当今比较流行的地理信息系统软件之一,具有功能强大,全面直观等特点,本系统将Mapinfo的地图窗口集成到用VB编程语言开发的应用程序中,利用VB进行程序开发时界面设计简单友好,同时Mapinfo可以发挥自
42、己对地图管理的优势。这种集成技术实际上是Mapinfo系统在后台运行,生成的结果通过VB做的界面显示出来。(2)ADO技术连接SQL SEVER 2005技术。风电场的运行产生大量的风速数据,以及各种运行状态信息,风速报警信息等等。为实现风电场信息的有效监控,以及为了进一步数据处理的便捷性,本文选择使用了SQL SEVER 2005作为系统数据库软件,它实现了数据的有效存储,回调、分析等等。利用VB软件进行数据库开发常用技术有DAO技术以及ADO技术.其中DAO技术是是Microsoft Jet数据库引擎的第一个面向对象的接口,允许VB开发者直接链接到数据表,并且可以通过ODBC用于其他数据库
43、。而ADO技术为DAO技术的集成者,其为一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。本程序选择使用ADO技术进行数据库的开发。其操作流程为,添加ADO技术引用,利用Connection对象连接数据库,利用建立好的connection对象,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集并进行查询、处理,结果记录集使用完毕后关闭连接释放对象。(3)MSComm串口通信编程串口通讯被广泛地应用于PC间的通讯以及PC和单片机之间的通讯之中
44、。在本系统选择使用相关ActiveX控件实现串口通讯。本文中串口通信主要依靠VB中名为MSComm的通讯控件来实现。其实现流程主要包括以下步骤:串口的初始化,包括串口号设置,串口通信格式设置,应与网关协议设置相同,接收和发送模式选择等;串口的使能,设置打开串口,并进行数据相关操作;使用完毕后,关闭串口,防止系统下次启动出现串口占用。由于串口编程为基础编程,本文不做过多讲述。1据的高效利用。 4系统测试与分析4.1硬件系统测试分析为验证本文系统的运行准确性和可靠性。本系统选择使用了高性能风扇进行系统的测试分析,硬件电路连接如下,其主要包括,超声风速仪,24V开关电源,5V开关电源,C8051F1
45、20系统版,T6963C液晶,以及多组Zigbee模块。具体电路连接如图4.1所示,此时确保各线连接正确。图4.1 系统硬件电路连接实物图系统上电后,单片机进行风速仪连接测试,此时液晶显示初始欢迎界面,开启中断后等待传感器响应。风速数据的测量需要经过连接传感器,运行传感器以及测试传感器三个步骤。当测试数据正常后,单片机会进行实时数据的显示。液晶状态图如下所示,其中图4.2表示单片机初始化时的欢迎界面,图4.3表示风速数据的实时显示。图4.2 液晶显示初始界面 图4.3 风速风向数据的实时显示由于本系统只有一个超声传感器,因此本系统只使用了一个Zigbee模块进行数据通信,单片机数据采集成功后,
46、会不断更新当前风速风向数组。此时,Zigbee网络内各模块等待协调器命令,若收到协调器命令,Zigbee模块将进行数据发送,数据经过多跳网络,最终到达网关。4.2软件系统测试分析软件测试分析主要包括上位机软件的测试分析。上位机软件运行后具备多项功能选择,其中主界面负责风速风向数据与地理信息显示,点击按钮可分别实现数据分析、汇总、报警等功能。4.2.1 软件主界面显示上位机软件运行后,显示初始主界面,并且加载地图数据,以主界面窗口作为地图数据的主窗口。用户登录后,可选择多项功能,若选择发现网络,网关会将组内节点的数据进行反馈,此事系统会将所有节点信息添加至下拉菜单,以供用户进行选择,其数据格式为
47、个节点出厂设置的64位物理地址,具有全球唯一性。用户可根据节点信息定位节点位置,同样若在地图中发现节点数据,可点击获取节点的物理地址信息。用户可根据当前的节点进行风速风向信息获取,可选择一次读取数据或循环进行风速仪的数据读取,此时系统界面将根据风速仪状态进行数据显示和动画加载风向信息。此时运行状态如图4.4所示。图4.4 系统运行状态图用户可自主选择地图使用工具,本系统所使用地图为Mapinfo所支持的wor文件,其可实现良好的交互性和可视化。4.2.2 风速数据统计本系统将风电场中的各项数据进行了存储,以方便系统的后期处理,系统运行后,用户可通过数据查询获取所测风速的记录信息,系统默认查询为
48、当日数据,其查询结果通过报表显示,用户可连接打印机实现当前报表的打印,其显示格式如图4.5所示。图4.5 风电场数据记录4.2.3报警信息统计为做到风电场的安全监控,本系统进行了报警信息统计和实时报警设置,程序运行后,用户可根据当前的风机状态设置各个监控节点的风速报警值,此时系统自动检测各监控节点的风速数据,若节点风速数据超过报警线,此时程序进行报警,程序加载报警图片,以提示用户风机运行存在危险。用户同样可根据时间或节点号码进行报警信息查询,报警信息显示与查询如图4.6所示。图4.6 实时报警与历史报警信息4.2.4 用户使用记录为做到系统的安全监控,本系统使用数据库记录各项操作记录以确保系统
49、的安全操作,如图4.7左所示,管理员可根据多项条件进行系统使用记录查询,其包括操作用户查询,操作时间查询,操作类型查询。5总结本系统设计完成了基于Zigbee的风电场超声侧风系统,系统硬件设备采用高性能单片机C8051F120作为采集和控制核心,利用超声传感器进行风速数据和风向数据的采集,通过Zigbee自组网实现风电场数据的无线远程传输。在系统测试过程中,系统运行稳定,单片机采集数据准确快速;Zigbee网络组网快速,网络稳定,当出现干扰或断电后各节点基本可实现自组网,数据的接收和发送稳定,在测试过程中,由于时间限制,本文只进行了最远50m的测试,结果证明,数据传输尚可;上位机软件具备良好的人机交互性与数据操作便捷性,其可实现风电场数据的全面监控与安全存储。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南工程学院《税务会计与纳税筹划》2022-2023学年第一学期期末试卷
- 房颤围手术期抗凝
- 夏季中医药健康养生
- 肿瘤内科护理发展介绍
- 暑假营业员打工实习报告(3篇)
- 考试自我总结(27篇)
- 电视家软件测试培训
- 心源性护理困难的护理
- 水稻联合收割机培训
- 择期手术麻醉
- 上海市虹口中学2025届高三压轴卷数学试卷含解析
- 九年级全套课件教学课件教学课件教学
- 长春工程学院《西方文明史》2023-2024学年第一学期期末试卷
- 北京市五十六中学2024-2025学年七年级上学期期中数学试题
- 8.1 国家好 大家才会好(教学课件)-八年级道德与法治上册同步备课系列(统编版)
- 管理学基础知识考试题库(附含答案)
- 2024年辅警招考时事政治考题及答案(168题)
- 2024年“国际档案日”档案知识竞赛题目和答案
- 2023-2024学年广东省深圳市福田区八年级(上)期末英语试卷
- 河南省安阳市林州市湘豫名校联考2024-2025学年高三上学期11月一轮诊断考试 英语 含解析
- 2024-2030年中国保理行业深度调研及发展战略建议报告
评论
0/150
提交评论