论文研究-基于Zigbee技术的信号双向传递系统 .pdf

所需积分/C币:5 2019-08-22 11:16:50 1.04MB .PDF

基于Zigbee技术的信号双向传递系统,靳婉婷,刘玺瑞,动物机器人以其特有的灵活性和对环境的适应性,在很多领域都有着很重要的现实意义。本文介绍了
山国武花论文在丝 PC端单片机通过串∏与PC机相连以接收控制参数,其中包括向左或者向右的命令,施 加电压的幅值、频率、持续时间、占空比等。PC端将控制命令通过无线传输传送给大鼠端, 大鼠端在接收到命令后控制电压发生器对大鼠脑区实现特定刺激,其后Mpυu6050进行大鼠运 动信号的采集并通过杜邦线传送给大鼠端,大鼠端将运动信号通过无线传输给PC端,PC端 通过串口传输显示在屏幕上 在此过稈中,PC端和人鼠端周期性切换角色,在数据接收端和发送端之间相互切换。 硬件设计 本实现所需的硬件设备 实验所需的开发板选择的是 Texas instrument公司的CC2530实验板,它完仝支持 Zigbee2007协议并且支持Z- Stack协议栈的开发,故可以很好的完成本实验。 检测小鼠运动状态的模块选择的是Ⅶυ6050芯片,它的体积小、质量轻、功耗低、开发 应用简单,且可以很好的检测到运动物体的ⅹ、y、z三个方向的加速度与角加速度,故可以 满足实验要求 为了配合CC2530的开发与使用,我们还需要usb线、 ccDebugger下载器以及天线。 为了配合Wp6050模块的开发与利用,我们还需杜邦线3-5根。 综上所述,实验所需的硬件设备有:PC机、CC2530开发板2块、Mυu6050模块、usb 线、 deBugger下载器、天线两根、杜邦线3-5根, 模块— ZigBee是一种新兴的短距离、低速率无线网终技术,是基于IE802.15.4无线标准研 制开发的,关」组网、安全和应用软件的技术标准。其突出优点是应用简单,工作频段灵活, 低功耗,低成夲,髙可靠性,具有自组网和自恢复能力等。本文采用TⅠ公司最新的第二代 片上系统CC2530,相比以前的产品,C2530具有更卓越的RF性能,可编程的256KB闪存,更 小的封装尺寸和IR产生电路,支持多种协议如 ZigBee PRO、 ZigBee ri4CE等,所设计的 传感器节点在视野好的空旷室外传输距离可达400m以上。本实验中采用两块CC2530单 片机,实现点对点的双向传输。CC2530通信模块结构图如图3所示。系统板采用5V直流 供电,经电源芯片转换成3.3V为CC2530芯片和 Watch dog看门狗电路供电,P2.1和P2.2 口为系统 debug口,方便芯片在线调试。 5V|N5V->3.3VLDo3.3 3.3V 2530 RST IN Watch Dog RESET- Syster +Deb Debug DEBUG卡 .1&P2.2 EXTIN EXT OUT 图 通信模块结构示意图 山国武花论文在丝 模块 产品简介 Mpu6050集成了3轴MEMS陀螺仪,3轴MEMS加速度计,并且可以通过IC接口输 出一共6个数字信号εMpu6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的 模拟量转化为可输岀的欻宇量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用 可控的,陀螺仪可测范围为±250,±500,±1000,±2000°/秒(dps),加速度计可 测范围为土2,±4,士8,土16g。 元件介绍 VCC:3.3-5V稳压 GND:接地 SCL:作为从机时的时钟线 SDA:作为从机时的数据线 XCL:作为主机时的时钟线 XDA:作为主机时的数据线 ADO:IIC地址的最低位 INI:中断 图4为Mpυu6050接冂电路 3.3v AUX OL OLKOUT 4.7K 47K REGOUT KESY 世IT FSYNC GND MPU- CCSO 133V 图4Mu6050接口电路 表1ⅦP6050模块与开发板的连接 MPU6050 ZigBee节点(底板) GND GND P07 XDA 空 XCL 穴 ADO 空 INT 山国武花论文在丝 软件设计 读取数据并通过上位机仿真 编程环境配置 本实验所安装的为 版本,编程仗用C语言,需要使用 下载器将编辑好的程序下载到单片机中,根据PC机的参数配置好IAR相关的文 件即可使用TAR开发环境。本实验中需要将数据通过串口显示到PC机上,但一般PC机没有 串口接口,故使用USB转串口接口来完成实验,仅需安装相应驱动即可使用 采集数据 芯片正常工作时,陀螺仪和加速度计分别采集ⅹ轴y轴和z轴的电压值,然后通过AD 转换成数宇信号,最后通过IC总线传送到控制芯片,但此时得到的值并不是实际的角度和 角速度值,还必须经过一定的比例关系进行转换,才能得到实际的角度和角速度值 Mlpu6050采集数据的程序流程如图5 上电复位 设置系统时钟源 串口初始化 lC初始化 检验是否连接 否亚小MDu6050检 测矢败 Mpu6U5O初始化 结束 检验是舌连接 到N 读取Mpu6050数据 数标准化 通过串口显示在桌 由上 图5Mpu6050采集数据的工作过程 采集到的数据修正 由于Mpu6050内部有16位的ADC,所以我们得到的原始加速度数据和原始角速度数捷 都需要进行灵敏度修正。在木次实验中由于实际的大鼠在3个方向上均不会产生超过2g的 较大加速度,所以我们将量程选为±2g,因此对应的灵敏度应为16384LSB/g。为了求得三 铀加速度的真实值,我们对于3个原始数据都除以了16384.00(应当注意表示真实值得变 量应该定义为 float型)。 同理,我们将角这度的量程选为±250°/s,对应的灵敏度约为13LLSB/(°/s),真 实值变量同样定义为 float型 山国武技论文在丝 运动数据通过串口显示 我们可以将CC2530通过串口与电脑连接,再借助串口调试助手将测量结果实时显示在 窗口上,结果如图6所示。 「弗囗调试助于 SComAceie-ant2 For WINSX/NT/2000 回 口⑦M3 玻特率15x 松监位M配 数语位 情请空 送f符锅 并油关手动益送 厂白动送5后选 毫秒选怪发送文件厂还没有选择文仁发送交件 T: cOMorE:「RB23「T0投零 帮功 图6通过中口显示结果 运动数据通过上位机模拟姿态 将CC2530通过串口与电脑相连,将数据传回电脑,将测得的x,y,z三轴的加速度通 过几何运算计算出运动物体的俯仰角、横滚角、航向角,使用与上位机软件匹配的传输函数 将数据传输至 Miniimu ahrs测试软什中,可以将运动数据图表化并且通过3D显示实时模 拟出运动物体的姿态,使大鼠的行为信息变得更加直观,测试结果如图7、图8所示。 7 MinaR tp / hilali 一e区 序运出 口开人 昵随最 Pitch.5R 皮;2.5度 喻万层三素轻二颗/m彐鶉 导示 口三去团 正打1Dn 口打十成 图7应用 MiniIMu ahrs测试软件将运动数据以图表形式显示出来 山国武技论文在丝 口己打 图8利用3D显示实时模拟出运动物体的姿态 将运动数据通过无线传输从大鼠端传输到端 协议栈 Basic r由!公司提供,它包含了IEE802.15.4标准的数据包的收发。这个协议 只是用来演示无线设备是如何进行数据传输的,不包含完整功能的协议。但是它采用了与 802.15.4MAC兼容的数据包结构及ACK包结构,还提供安全通信所使用的CM64身份验 证和数据加密,为双向无线通信提供一个安全、稳定的协议。如图9所示为 Basic re的软 件设计图 图9基于 Basic re的CC2530软件设计框图 无线点灯实验的改进 数据的无线传输主要基」 Basic re的无线点灯例程进行改进实现,无线点灯 实验主要包括两个主要函数 ()和 ()两个函数,发送端和接收端分别 称为点灯端和亮灲端ε例程最终实现效果为在点灲端按下按键1,亮灯端的灯1被点亮。点 灯端和亮灯端的工作过程如图10、图11所示 山国武技论文在丝 上电复位 上电复位 定义该端为发射端 定义该端为接收端 定义发射的命令为使灯反转 的命令 定义该端地址 定义该端地址 打开接收 接收关闭 判断是否准备好接收 数据 按键被触发 是 将数据包发送出去 判断接收到的数据是 否不为空 关闭中断 是 接收到的命令是否为 进入睡眠模式 灯反转命令 打开中新 灯亮 图10点灯端函数 图11亮灯端函数 我们通过修改 )和 ()函数的内容,将无线点灯实验和 数据的采集结合起来,点灯端发送的数据修改为mpυu6050采集到的运动参数,亮灯端接收数 据后将其通过串凵显示在屏幕上,便可实现数据的双向传输。需要注意的是,由于 输出数据的速度大于数据无线传输的速度,枚直接实现会在一段时间后岀现数据叠加混乱的 情况,故我们采取计数变量,每采集一个数据,+1,当=100时,发送一个数 据,以此降低 发送数据的频率,进而可以在PC端观察到惚定的数据。 控制参数和运动数据的双向传递 在实现数据的单向传输后,我们进步研究控制参数和运动数据的刈向传输。·个单片 机只能宄成接收或发送一个功能,故无法同时进行数据的双向传输,必须在恰当的时候使其 进行功能的切换。 大鼠端存在于大鼠背上的背包中,无法通过外部触发使其改变功能,当大鼠端处于发送 状态时,如果PC端想发送控制命令,此时人鼠端无法得知要改变功能的行为来实现数据的 接收,故我们需要确定一个协议使其同时转换功能,才能正常实现功能。 协议的设计 我们可以通过统一时间和统一数据传输次数两种方法来确定交换功能的时机。如果采 取统一工作时间的方案,则由」两个廾发板的上电时间可能不同,需要在两廾发板之间做时 间的同步,这样的方法较为复杂,不易实现,故我们采取统数据的传输次数的方法来使两 个开发板同时转变功能。我们采用计数变量,设定当发射端发送个数据和接收端接 收一个数据时,两个开发板上的同时加1,当达到30时,两个板子同时结束当 山国武花论文在丝 前的状态,转变为接收或发送状态。 函数的设计 我们设计使端和大鼠端周期性切换功能实现双向传递。将 函数作为 数,将 数作为 函数,同时模拟其形式写出 和 函数。开始时,端执行 函数,实验人员通过串口输入搾制参数并将命令 传递给端,端作为发送端将控制命令发送给人鼠端,人鼠端执行 数接 收控制参数并显示在串口上。其后,大鼠端执行 函数,采集 运动数据并 发送出去,端执行 函数,接收运动数据并显示在串口上,当传送和接收数据 达到个时,端和大鼠端再次切换功能回到最初状态,等符机发出控制命令,实现 周期性数据的刈向传输。综上,端循环执行 函数和 函数,大鼠端循 环执行 和 函数,各函数的工作流程图如图、图、图、图所 上电复位 上电复位 确定为接收端 确定为发送端 确定地址 确定地址 接收打开 接收关闭 初始化串口 初始化串口 接收是否准备结 否 接收从串口输入的命令 接收是否不为空 将命令发出 闪灯,将数据显示出 来 结束 结束 图12 PCSend函数 图13 RatReceive函数 山国武技论文在丝 上电复位 上电复位 定义该端为发射端 定义该端力接收端 定义地址 定义地址 接收关闭 CouO C初蛤化, count=0 接 收打开 MPU6050初始化,num-0 叨始化丰二 MpU6050是否读到 结束 读取数据,标准化,num++ <接收是否准备好> 接收是否不力0> 闪灯,num=0, count+ 接受到的数据显示 在窗口上 结束 图14 函数 图15 函数 实验结果 最终实验结果如图16所示,PC端先发送控尙参数,大鼠端接收到控制参数后廾始向PC 端发送Mpυ6050运动数据,PC端接收数据并显示在窗∏上。 胃口调试助手 SComAssistant22 TOr Win9/NT/200 关门书厂 保存示数据更改 清空重真送的 开始时,端 功友送 证离关所 发送运动参数 HA FTATG: CONs

...展开详情
img

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐