ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:658.46KB ,
资源ID:4893444      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4893444.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ZigBee的磁场系统.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于ZigBee的磁场系统.docx

1、基于ZigBee的磁场系统计算机科学与技术学院zigbee无线网络原理课程设计报告 设计题目:基于zigbee磁场检测系统的设计 设计人员:学号:学号:学号:学号:学号:指导教师: 年 月目录摘要 IAbstract II1 设计目的 12 设计内容 22.1 磁场检测系统的工作原理 22.2 设计方案 23 实验器材 24 实验电路图 35相关模块的性能参数 66 软件程序功能实现模块 66.1应用层代码 66.2显屏程序 87 实物展示 148 小组分工 159 设计总结 1510实验小组成员评分 16参考文献 17摘要随着社会的发展,无线网络发展的越来越快,作为无线网络中的zigbee也

2、是大受关注。本课题研究的是基于ZigBee技术,设计和实现了一种无线传输检测磁场新的解决方案。设计以电脑控制端、ZigBee技术、霍尔传感器模块等硬件模块组成的检测系统。实现当有磁场靠近传感器时指示灯亮并且上位机有提示的功能。使得磁场检测变得方便简洁。关键字:ZigBee;干簧管传感器;磁场检测AbstractWith the rise of the Internet of things, ZigBee technology with its unique advantage is to provide us with more high quality convenient technolo

3、gical achievements. This topic research is based on ZigBee technology, designed and implemented a new wireless transmission test magnetic field solution. Design with computer control end, ZigBee technology, hall sensor module of hardware module testing system. Implementation when there is a magnetic

4、 field sensor near the indicator and the upper machine has the function of the tip. Make the magnetic field detection becomes convenient and concise.key words ZigBee Misensor Magnetic field detection1 设计目的 本次设计要求实现一个PC端可以接收到下位机传来的数据并判断周围是否有强烈磁场的功能。PC端控制软件可以用VB语言,对VB串口控件要熟悉的掌握。同时要求学生对CC2530芯片编程和zigbe

5、e协议栈有相当程度的理解以及熟练的应用,熟悉ZigBee串口以及中断的使用,会基本的C语言熟练掌握IAR FOR 8051软件的使用与程序下载以及手机软件开发环境。2 设计内容 2.1 磁场检测系统的工作原理我们运用干簧管传感器采集到的信号传输给系统处理核心单片机CC2530。当出现磁场时时,磁场会使干簧管传感器中密封于一装填有高纯度的惰性气体玻璃管中的端点处分隔的距离仅约几个微米两片簧片端点位置附近产生不同的极性, 结果两片不同极性的簧片将互相吸引并闭合,电路由高电平变成低电平。 2.2 设计方案(1)了解干簧管传感器工作原理,根据原理画好PCB原理图。(2)根据PCB原理图自制PCB板电路

6、,将液晶屏,干簧管,CC2530单片机等相关元件设备进行集成。(3)测试PCB电路,检查相关电路能否正常工作,以及核心板的能否正常调试。(4)在完成电路调试后,用jlink下载器下载调试程序成功完成程序对相关元件的驱动。(5)实验完成后做好相应的实验总结。3 实验器材此处用CC2530芯片用作接收信息和控制芯片,实现无线遥控,单跳控制距离可以达到100米以上,L298N驱动模块(驱动电机)(1) 干簧管传感器(2) 磁铁(3) 电脑和ZigBee核心板和JLINK下载模块及其相关的驱动(4) 杜邦线若干,电池若干(最好是可以充电的)4 实验电路图图3.1 干簧管传感器接口电路 图3.2 终端电

7、路图图3.3 协调器电路图图3.4 终端PCB图图3.5 协调器PCB图5相关模块的性能参数 干簧管传感器性能参数1、采用进口常开型干簧管2、比较器输出,信号干净,波形好,驱动能力强,超过15mA。3、工作电压3.3V-5V4、输出形式 :数字开关量输出(0和1)5、设有固定螺栓孔,方便安装6、小板PCB尺寸:3.2cm x 1.4cm7、使用宽电压LM393比较器 8、干簧管需要和磁铁配合使用,在感应到有一定的磁力的时候,会呈导通状态,模块输出低电平,无磁力时,呈断开状态,输出高电平,干簧管与磁铁的感应距离在1.5cm之内,超出不灵敏或会无触发现象。9、模块DO输出端可以与单片机I/O口直接

8、相连,通过单片机可以检测干簧管的触发状态。10.模块DO输出端与继电器IN端相连,组成大功率干簧管开关,直接控制高电压。6 软件程序功能实现模块6.1应用层代码/定义IO#define LED P1_5 /LED提醒#define senor P0_6 /传感器检测口/*干簧管传感器电路初始化*/ P0SEL &= 0X40; /设置P0.6为普通IO口 P0DIR &= 0X40; / 在P0.6口,设置为输入模式 P0INP &= 0x40; /打开P0.6上拉电阻/传感器的判断:if ( events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT ) /周期性发送函

9、数 if(senor=1)/正常 SampleApp_SendPeriodicMessage1();/正常,无磁场 else if(senor=0) /有磁力 SampleApp_SendPeriodicMessage2();/有磁场!21/接收数据函数void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )/接收一个信息包 uint16 flashTime; switch ( pkt-clusterId )/簇id case SAMPLEAPP_CHENYUJIAO_ID:/默认接收接收ID为自定义广播传输编号 HalUARTWrit

10、e(0,&pkt-cmd.Data0,5); /打印串口收到数据 HalUARTWrite(0,n,1);/回车换行 break; case SAMPLEAPP_FLASH_CLUSTERID: flashTime = BUILD_UINT16(pkt-cmd.Data1, pkt-cmd.Data2 ); HalLedBlink( HAL_LED_4, 4, 50, (flashTime / 4) );/小灯闪烁 break; /发送数据函数:void SampleApp_SendPeriodicMessage1( void ) /正常,无磁场 uint8 L5; L0=1; L1=1; L

11、2= ; L3=1; L4=2; if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc, SAMPLEAPP_CHENYUJIAO_ID, 5, L, &SampleApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) = afStatus_SUCCESS ) else / Error occurred in request to send. void SampleApp_SendPeriodicMessage2( void ) /有磁场!21 uint8 L5; L0

12、=1; L1=1; L2= ; L3=2; L4=1; /LED=1; if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc, SAMPLEAPP_CHENYUJIAO_ID, 5, L, &SampleApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) = afStatus_SUCCESS ) else / Error occurred in request to send. 6.2显屏程序#include5110LCD.hvoid delay_ms(int t)

13、int i,j; for(i=t;i0;i-) for(j=110;j0;j-); /-GPIO口设置- void GPIO_Configuration_LCD(void) GPIO_InitTypeDef GPIO_InitStructure; GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); / 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8| GPIO_Pin_10; G

14、PIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin= GPIO_Pin_14| GPIO_Pin_15| GPIO_Pin_13; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50M

15、Hz; GPIO_Init(GPIOB, &GPIO_InitStructure); /-配置各端口的高低电平-/ /-英文字符库-/ 6 x 8 font/ 1 pixel space at left and bottom/ 位置 = (ASCII - 32)*6/-/*/ 英文字符大小/*#define WIDTH 6#define HEIGHT 8/*/ 中文字符大小/*#define WIDTH_CN 13#define HEIGHT_CN 16 unsigned char lcd_display=0123456789; /*/ 写一字节/*void LCD_WriteByte(uns

16、igned char dt, unsigned char command) unsigned char i; sce0; /使能LCD if(command=0) /传送命令 dc0; else dc1; /传送数据 for(i=0;i8;i+) if(dt&0x80) sdin1; else sdin0; dt=dt1; sclk0; sclk1; dc1; sce1;/关闭LCD sdin1;/*/ LCD初始化/*void LCD_Init(void) sce1; res0;/产生一个让LCD复位的低电平脉冲 delay_ms(10); res1; delay_ms(100); LCD_

17、WriteByte(0x21,0);/使用水平寻址,进入拓展指令 LCD_WriteByte(0x13, 0);/定液晶偏置系统 1:48 LCD_WriteByte(0xbb,0);/设定设置Vop,相当于亮度 LCD_WriteByte(0x20,0);/芯片活动 使用基本指令并且水平寻址 LCD_WriteByte(0x0c,0);/设定显示模式,正常显示 LCD_Clear();/-/名称: 设置坐标函数/参数:X:083 Y:05/作者:huoenlai /- void LCD_Set_XY(unsigned char X, unsigned char Y) Y|=0x40; X|=

18、0x80; LCD_WriteByte(Y, 0);/ 列 LCD_WriteByte(X, 0);/ 行 sce1; /*/ LCD清屏/*void LCD_Clear(void) unsigned char t,k; LCD_Set_XY(0,0); for(t=0;t6;t+) for(k=0;k84;k+) LCD_WriteByte(0x00,1); /*/ 写一个字符/*void LCD_WriteChar(unsigned char X,unsigned char Y,unsigned char c) unsigned char i,j ; const unsigned char

19、 *map = &font00; c -= 32; /变换 map += c *( HEIGHT/8*WIDTH); for(i=0;iHEIGHT/8;i+) LCD_Set_XY(X, Y+i); for(j=0;j=(84/WIDTH) X=0; Y+=HEIGHT; i=0; j+; if(j=(48/HEIGHT) return ; /*/ 写一个任意数字/*void LCD_WriteNumber(unsigned char x,unsigned char y, unsigned long number) unsigned char num10=,i,j,k; if(number=

20、0) /number 0 时候 LCD_WriteChar(x, y,0); else for(i=0;number0;i+) numi=lcd_displaynumber%10;/每位以字符表示 number/=10; for(j=0;ji/2;j+)k=numj;numj=numi-1-j;numi-1-j=k; LCD_WriteString_en(x,y,num); /*/ 写一个汉字/*void LCD_Write_cn(unsigned char row, unsigned char page,unsigned char c) /row:列 page:页 dd:字符 unsigne

21、d char i; LCD_Set_XY(row, page);/ 列,页 for(i=0; i12;i+) LCD_WriteByte(chinese1c*24+i,1); LCD_Set_XY(row, page+1);/ 列,页 for(i=12; i24;i+) LCD_WriteByte(chinese1c*24+i,1); 7 实物展示8 小组分工负责分配任务,编写程序,督促组员认真完成各自的任务负责画PCD图制作电路板,根据原理图焊接实物元器件上位机控制端的美工查找相关资料文献,总结完成实践报告9 设计总结经过这一段时间的课程实践,我们收获颇多。在老师的帮助与指点下,我们从对Zi

22、gBee几乎一无所知到画底板原理图、PCB图,制板焊接等,到写程序、下载程序、调试程序的过程中,我们遇到了很多困难,但最后都在自己的努力和同学的帮助下顺利完成了课程实践。我们不仅学会了有些实用的东西,就像画电路图、制板、焊接、用j-link下载程序等各种技巧与方式,还明白了团结的力量是巨大的,收获了友谊。分工合作让我们的工作变得更简单,同时也大大提高了工作效率。不管我们做出来的东西是好是坏,最起码我们从中学到了知识、技巧,我们学到的才是属于我们的。这次课程实践是给们留下了深刻的印象,感谢老师和同学在实践过程中给予的帮助,我们受益匪浅!10实验小组成员评分嵌入式综合实践成绩单学号姓名成绩签名 指

23、导老师签名: 年 月 日参考文献1无线龙,zigbee无线网络原理M,北京:冶金工业出版社.2Yu Chengbo.Liu Yanfei.Wang Cheng Research on ZigBee wireless work based on Modbus protocol 20092.3许洪华.刘科基于Modbus协议的ZigBee工业以太网网关设计期刊论文-微计算机信息 2009.4刘桂臣.阳宪惠 Modbus报文有线/无线混合传输的实现 2008.5涂煊.彭瑜.周怡颋 Modbus通信协议的紫蜂无线传输网络的研究期刊论文-自动化仪表 2007.6Zig,Bee Alliance ZigBee-specification 2005.7Willig A.M

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

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