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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于 zigbee 的无线测温实验.docx

1、基于 zigbee 的无线测温实验基于ZigBee的无线测温系统摘要:本实验采用TI公司的cc2430作为核心,利用了该芯片上丰富的资源,实现小车的zigbee无线控制和实时测量温度。Zigbee 是 IEEE 802.15.4 协议的代名词,主要适合用于自动控制和远程控制领域,可以嵌入各种设备,是一种便宜的,低功耗的近距离无线组网通讯技术。本实验中,打开 IAR 开发环境,打开程序工程,接上仿真器,并把仿真电缆连到 CC2430 模块上,把程序下载到两个模块上,两个模块之间通过 PC 机串口发送命令到另一个模块,另一个模块的 zigbee 放在小车上,可以驱动小车按照预定的轨迹前进,并实时测

2、量温度值,显示到电脑界面上。关键词:无线通信,实时测量显示目录1 引言32 功能概述及方案设定32.1 功能概述32.2 具体方案设定42.2.1 小车控制模块设计52.2.2 无线通信模块设计72.2.3 测温模块设计123 总结141 引言当今社会,科学技术日新月异,时代前进的步伐越迈越宽,应用自动化设备,计算机处理,现代化通讯,数字化信息,现代化显示设备等高新技术而建立的现代化智能,监控等系统已经得到充分的发展与应用,智能通信也就应运而生。同时,在建设以人为本的和谐社会的过程中,智能通信能够完成考古发掘,海底揭密,宇宙探索等危险作业,以保证人身安全。凭借参加本次课外实验机会,我们能够对嵌

3、入式系统的开发有进一步的学习和理解。CC2430是一颗真正的系统芯片(SoC)CMOS解决方案。这种解决方案能够提高性能并满足以ZigBee为基础的2.4GHz ISM波段应用对低成本,低功耗的要求。它结合一个高性能2.4GHz DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器。CC2430包含一个DMA控制器,集成了4个振荡器用于系统时钟和定时操作,也集成了用于用户自定义应用的外设,CC2430内集成的其他外设有: 实时时钟;上电复位;8通道,814位ADC;可编程看门狗;两个可编程USART,用于主/从SPI或UART操作。为了更好的处理网络和应用操作的带宽,CC

4、2430集成了大多数对定时要求严格的一系列IEEE802.15.4 MAC协议,以减轻微控制器的负担。 我们的系统主要分为控制小车模块、无线通信模块、测温模块。前一模块主要是用到控制IO口和定时器,后一模块主要用到SPI总线和串口。2 功能概述与方案设定 2.1 功能概述我们设计的“基于ZigBee的无线小车测温系统”主要是让小车从预定的位置按一定路线行走,并实时测量温度,传输给电脑显示。系统主要分为控制小车模块、无线通信模块、测温模块。前一模块主要是用到控制IO口和定时器,后一模块主要用到SPI总线和串口。另外,无线通信模块还具有自动组网的功能,在多台小车之间也可以通信,这样,多台小车就可以

5、很大程度上提高工作效率。其效果图如下:图2-1 通信示意图2.2 具体方案设定 我们将系统分为小车控制模块、无线通信模块、测温模块这三个大模块。其中小车控制模块包括小车以及稳压电路设计模块;无线通信又包括小车这一端和与电脑相连的一端;测温模块主要用到了DS18B20及相应的外围电路设计。 图2-2 小车端系统框图2.2.1 小车控制模块设计稳压模块采用9V电池为直流电机供电,将9V电压降压、稳压到5V,为外围芯片供电,再降压稳压到3.3V给CC2430芯片供电,我们利用lm7805这块芯片将9V的电池降压到5V,LM117芯片将5v降压到3.3v。图2-3 稳压模块1图2-4 稳压模块2电机驱

6、动模块采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。小车控制模块是由专用芯片L298N来完成的,我们用四个IO口来控制小车的运动,其中两个IO口是产生PWM波,控制电机的速度;另外两个IO口又分成两组,分别控制两个电机的正反转,来实现小车的变速前进、转弯等动作。相应程序代码如下:void t1init(void) EA=1; /开总中断 T1IE=1; /开T1中断 OVFIM=1; /开T1溢出中断 T1CC0L=0xD4;

7、 /溢出值低8位 0x30d4=12500 T1CC0H=0x30; /溢出值高8位 中断一次50ms /t1计数中断子程序HAL_ISR_FUNCTION(T1_ISR,T1_VECTOR) EA=0; /关中断 m2-; EA=1; /开中断 T1CTL &= 0x10; /清中断标志 /向前和向后走时将距离转化为时间/待调uint8 zhuanhuan1(uint8 lt) lt=lt*3; return lt;/向左和向右拐时将角度转化为时间、待调uint8 zhuanhuan2(uint8 jt) jt=jt/9; return jt;2.2.2 无线通信模块设计无线通信模块的作用非

8、常重要,它为小车的行走指明了方向,也拓展了小车的其他功能。当小车行走时,每隔一定时间将数据譬如速度、温度信息传送给PC机,当小车行走到终点,小车该如何走呢?如果PC可以实时和小车通信,从而控制小车的行动,则小车就可以选择另外一条路进行探测了。我们的无线模块是Zigbee的,有了此无线通信模块,我们的小车系统就可以不是一辆小车而是多辆小车共同测量目标了。成品图如下:图2-5 成品图1图2-6 成品图2硬件方面我们的射频芯片采用德州公司的CC2430芯片,用于数据的无线收发,它有64字节RX和TX数据FIFO;SPI用于MCU与射频芯片CC2430之间的通信;直流电源及电源保护电路是必不可少的部分

9、;RS232串口及电平转换提供主芯片与PC机的接口。CC2430的主要特性: 图2-7 CC2430芯片工作频率: 2.4GHz2.5GHz ISM 微波段 识别距离: 有效识别距离可达1500m 环境温度: 在-40-85 抗干扰性: 使用频道隔离技术,多个设备互不干扰 通信接口: RS232/RS485/RJ45 电 源: 5V/9V/12V-3A DC电源 无线通信模块主要由射频芯片CC2430构成,而我们采用的是它的典型电路,电路图如下:图2-8 CC2430通信电路 它与CC2430的通信是通过SPI总线来实现的,它的接口主要有SI、SCLK、SO、GDO0、GDO2、CSn。其中S

10、I、SCLK、SO即为利用SPI总线通信的几个接口,另外GDO0的作用是当接受到报文的时候由低置为高,GDO2的作用是当开始发送一个报文时由低置为高,这两个接口给MCU提示报文的接受与发送是否完成。CSn用来作片选。相应程序代码如下:void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) /收到后回复提醒 uint8 i; p1 = &pkt-cmd.Data0; for(i=2;icmd.Datai=pkt-cmd.Datai-48;/将串口输入的字符型数据还原 p = &pkt-cmd.Data1; /数据处理 if(*p=q|*

11、p=h|*p=z|*p=y)/如果为路径数据,则存入lujing数组中 lujingj+=*p; if(*p1=3) *(p+1)=*(p+1)*10+*(p+2); else if(*p1=4) *(p+1)=*(p+1)*100+*(p+2)*10+*(p+3); lujingj+=*(p+1);/jj; shoudaotixing(); else if(*p=k) /如果为开始信号,则小车开始读取lujing中的数据,并开始运行 lujingj=*p; /先将字符 k 存至lujing中 xiaocheyunxing(); j=0; else if(*p=w) /如果为开始传递温度的信号

12、,则子节点开始向coordinator发送温度数据 kt=!kt; shoudaotixing(); else if(*p=d) i=*(p+1); zkb=dwi; shoudaotixing(); 2.2.3 测温模块设计DS18B20 是美国DALLAS 半导体公司继DS1820 之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912 位的数字值读数方式。可以分别在93.75 ms 和750 ms 内完成9 位和12 位的数字量,并且从DS18B20 读出的信息或写入DS18B20 的信息仅需要一根口线(单线接口)读

13、写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20 供电,而无需额外电源。因而使用DS18B20 可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820 有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。此处可以直接和核心芯片相接测温。相应程序代码如下:void read_data(void)uint8 temh,teml;init_1820(); /复位18b20write_1820(0xcc); / 发出转换命令 搜索器件write_1820(0x44); /启动Delay_nus(500);init_1820();wr

14、ite_1820(0xcc);write_1820(0xbe);teml=read_1820(); /读数据temh=read_1820();sensor_data_value0=teml;sensor_data_value1=temh;/处理数据部分/uint16 DataChange(void)uint8 temh,teml;uint16 num;read_data();teml=sensor_data_value0;temh=sensor_data_value1;num= temh;/将两个字节整合到一个unsigned int中num=8;num |= teml;num=num*0.0

15、625*100;return(num);/返回值void wendushuzhi(void) uint8 n; unsigned int m=0; unsigned int T; init_1820(); while(m0;n-) temperaturen=temperaturen-1; temperature0=7;3 总结我们所完成的工作是对硬件的设计并作了些验证性试验,对于稳压模块,我们搭起了电路,但是效果不是很好,还有待改进;对于无线通信模块我们是用CC2430来实现通信的,效果不错,所以在我们的小车系统里,为节约成本,连接在PC端的射频模块我们就采用与CC2430连接,通过串口与PC机通信;对于小车控制模块,我们能够正常的控制小车的运动和转弯;对于软件部分,我们只是做了大概的设计,还有待我们具体设计。

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

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