




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 2011 2012 德州仪器 C2000 及 MCU 创新设计大赛 项目报告 题 目 智能井下预警及求救系统 学校 云南大学 指导教师 王威廉 组别 专业组 应用类别 仪器仪表类 平台 Cortex M3 LM3S9B92 参赛队成员名单 含每人的邮箱地址 用于建立人才库 唐荣斌 trbbadboy 魏静文 1073295732 张 娜 1176579412 视频文件观看地址 若未拍摄 请注明 邮寄地址和收件人联系方式 快递发送 请不要使用邮政信箱地址 云南省昆明市呈贡新区大学城东外环南路云南大学校区楠苑五幢 A304 唐荣斌 手机2 题 目 智能井下预警及求救系统 1 摘要 1 关键字Cortex M3 ZigBee 井下环境监测 1 1 引言 2 立题背景及目的 2 目前完成的主要工作 2 2 系统方案 3 系统方案概述 3 系统方案框图 4 系统示意图 5 3 系统硬件设计 5 MCU 主控芯片的选择 5 地下有线通信方式的选择 5 地下无线通信方式的选择 6 SPI 总线转 CAN 总线模块 6 传感器及报警电路 7 气体浓度检测电路 7 温度测试电路 8 光照强度测试电路 8 报警电路 8 4 系统软件设计 9 MCU 主控机程序设计 9 PC 端监控程序设计 10 帧结构规范 12 均值滤波器设计 13 ZigBee 系统事件 14 系统按键事件的处理 16 固定工人 ID 号方法 16 MCU 主控机上的 Shell 外壳 17 5 系统创新 17 本系统创新之处包含以下几个方面 17 6 评测与结论 18 系统测试方法和达到的指标 18 参考文献 18 附录 19 1 题 目 智能井下预警及求救系统智能井下预警及求救系统 摘要摘要 本文从我国矿难事故频发的背景出发 提出了以 Cortex M3 为开发平台的 基于 ZigBee 和 CAN 总线技术的智能井下预警及求救系统 该系统可以实时监 测和记录井下工人所在位置的各种环境参数值 在瓦斯浓度超过设定值时向工 人及井上监控中心发出警报信号 同时 当发生突发事故时工人可以发出报警 信号 告知附近的工人和井上监测人员 此外 监测人员可根据本系统标识并 定位该工人 关键字关键字 Cortex M3 ZigBee CAN 总线 井下环境监测总线 井下环境监测 Abstract This article is set out against the background of the high frequency of China s mining accidents smart underground warning and help system is proposed according to the Cortex M3 development platform based on ZigBee and CAN bus The system can monitor and record the various environment factors in workers location in real time and it can send an alarm signal to workers and ground monitoring center when mashgas concentration exceeds the set value Meanwhile workers can send alarm signal to inform monitors on the ground and nearby workers when an unexpected accident occurs in addition monitors can identify and locate the workers based on the system Keywords Cortex M3 ZigBee Can bus Environmental monitoring underground 2 1 引言引言 立题背景及目的立题背景及目的 近几年 国内矿难事故频发 每一起事故的发生都是那么的触目惊心 煤 矿安全事故问题存在很久了 已经造成太多人员的伤亡 根据国家安全生产监 督管理总局的统计 2010 年 全国发生煤矿安全事故 1403 起 死亡 2433 人 2011 年 全国发生煤矿安全事故 1201 起 死亡 1973 人 我国矿难的死亡人数 占全球矿难死亡人数的 80 左右 据以上数据 可以较清楚的看到一直以来频 发的矿难是困扰我国安全生产的重大问题 对于作为大学生的我们 应该加强 这方面的科技研究 煤矿安全事故中 瓦斯爆炸占了很大的一部分 瓦斯突出 问题在我国至今没有得到根本解决 往往是出了事故 处理完了就完了 并没 有真正分析事故原因 防止类似事故重复发生 为了工人的生命安全 降低死亡率 我们针对瓦斯爆炸做了具体的分析 找出瓦斯爆炸的原因 分析这些原因 从而得到具体的方案 瓦斯 是一种有毒的混合气体 主要含有甲烷和一氧化碳两种气体 常 产生在矿井之中 如遇明火 即可燃烧 发生 瓦斯 爆炸 瓦斯爆炸产生的 高温高压 促使爆源附近的气体以极大的速度向外冲击 造成人员伤亡 破坏 巷道和器材设施 扬起大量煤尘并使之参与爆炸 产生更大的破坏力 另外 爆炸后生成大量的有害气体 造成人员中毒 直接威胁着矿工的生命安全 通过对矿井下环境的监测 可以预测到瓦斯爆炸 进而让工人提早退出矿 井 对矿井中的瓦斯气体进行疏通 从而避免惨剧的发生 另外 我们发现当矿难发生时 搜救人员很难确定遇难工人的位置 他们 要花很长的时间确认工人的位置 然后再进行搜救 当矿难发生时 对于工人 及其家属 时间就是金钱 可能就是这几分钟确定位置的时间 对工人却是生 死关头 因此 我们要求系统具有能够大致确定井下工人位置的功能 除了发 生事故时 在平时的日常生产工作中工人可能会遇到某些突发情况 如摔伤 如果工人能够在遇到突发情况向地上检测中心发出求救信号 并且能够通知在 周围工作的工人前来救助 那么这些突发情况就能尽快的解决 因此我们在这 个系统中还增加了智能求助的功能 目前完成的主要工作目前完成的主要工作 我们在基本完成整个系统过程中主要的工作包括以下几个方面 1 在比赛的初期 我们查阅了大量的相关资料 确定了我们的研究的主题和方 向 2 明确方向后组员之间进行分工 然后各自学习相关的理论知识 比如 矿难 产生的原因 嵌入式系统研发 各种应用软件 计算机语言等等 3 参加各种有关 Cortex M3 ZigBee 无线传感器网络学术的讲座 同时 向 老师 同学沟通和请教 4 利用 TI 公司的 Z Stack 协议栈 各种 ZigBee 书籍 熟悉 ZigBee 开发平台及其 应用 5 通过分析瓦斯爆炸的原因及井下的环境 选择甲烷 一氧化碳 烟雾 温度 3 光照五个环境参数 并确定系统方案 在此基础上设计系统电路 制作电路 板 并与 ZigBee 节点相连构成无线传感器节点 6 对传感器节点进行编程 使之具有数据采集 处理 发送及预警求助功能 7 利用 C 语言将 ZigBee 操作系统扩展到自己工程中 然后结合 Z Stack 协议栈 编写自己的工程 包括任务初始化 事件定义 接口配置 信号采集 节点 绑定与通信等 使 ZigBee 协调器作为一个转发器完成数据帧转发功能 8 熟悉 TI 公司的 LM3S9B92 芯片以及 Stellaris 驱动库的使用 编写 MCU 主控 机程序 使之能够与 CAN 总线和转发器通信 并能够通过串口或者以太网 与 PC 机进行通信 9 开发 PC 机端的监控程序 使之具有监控和预警功能 10 对整套系统进行综合测试 完成文档 拍摄视频和照片 已达到预期目的 整个系统已全部调通 正在做进一步完善 可以演示 2 系统方案系统方案 系统方案概述系统方案概述 本系统是一个集预警求助于一身的智能型系统 主要用于检测井下作业人 员所在点的环境情况 甲烷 一氧化碳 烟雾 温度 光照等五个环境参数 并能够实时的将各测量值发送到地上监控中心的电脑上进行显示和记录 当出 现有测量值超过预设值时能够发出报警信号通知作业人员提高警惕 同时报警 信号也会在地上监控中心的电脑上发出以方便地面上尽快做出紧急预案部署 不幸发生事故之后只要在井下有线通信线 CAN 总线 不中断的情况下能够和 地面上进行简单的通信并大致的定位底下人员的所在位置 为营救方案提供参 考 该系统以预防为主 防治结合 从而减少矿难的发生率 在矿难发生的情 况下减少死亡率 我们为每个在井下作业的工人配备一个无线传感器节点 传感器的供电是 通过工人所带的电瓶进行供电 在工人所经过的路线上会沿路放置一些转发器 即 ZigBee 协调器 特别是拐角的地方 工人在移动的过程中身上携带的传 感器节点能够自动和不同的转发器进行通信 把监测到的数据发送出去 转发器和工人所携带的无线传感器节点都有唯一的一个 ID 号 一个工人对 应进一个节点 ID 号 发送到电脑上的数据帧包中除了包含所测量得到的环境 参数外 还有传感器节点的 ID 和转发器的 ID 由于转发器的位置是固定的 而 Zigbee 无线通信的距离是有一定范围的 因此 地面监控中心收到数据之后 除了知道环境状况之外 还能够知道无线传感器节点 工人 目前所处的大致 位置 这也为发生矿难之后的营救工作提供了一定的参考依据 井下作业人员随身携带的无线传感器节点与距离它最近的固定的转发器之 间能够组成一个临时的传感器网络 传感器节点周期性的将需要进行测量的各 个环境参数模拟量通过 A D 转换变成数字量 并判断是否超过了所设置的上限 或下限 如果超过了就通过蜂鸣器进行报警以通知工人提高警惕 同时 传感 器节点会将它所得到的测量值和它自身的 ID 组成一个无线数据帧通过 Zigbee 方式发送到距离它最近的转发器上 转发器收到传感器节点发来的数据帧之后 4 会在数据帧前面加上转发器的 ID 组成一个新的适合在 CAN 总线上进行传送的 数据帧发送到 CAN 总线上 和 CAN 总线相连的 MCU 主控机收到 CAN 总线 上传来的数据帧之后将该数据帧转换成能够通过串口或者以太网方式传送的串 口帧或者以太帧向地上监控中心的监控电脑发送 监控中心的电脑收到从 MCU 发送来的数据帧之后 串口或者以太网方式 将更新监控界面上对应传感器节点 工人 上的对应的测量值 当环境参数值超过极限值时 监测中心的电脑也 会发出报警声 监测中心的电脑将记录任意时刻收到的数据 为发生事故之后 对事故原因分析提供依据 另外 当意外事故发生时 如工人摔伤 工人可以按下其携带的传感器 节点上的求救按钮 此时传感器节点和监测中心都会发出报警信号 传感器节 点发出报警声时 四周的工人将过来援助 监测中心发出报警声时 可以根据 转发器和传感器的 ID 号来确定其位置和身份 系统方案框图系统方案框图 图 1 系统方案框图 5 系统示意图系统示意图 图 2 系统示意图 3 系统硬件设计系统硬件设计 MCU 主控芯片的选择主控芯片的选择 选择 LM3S9B92 作为主控芯片主要基于以下几个方面的综合考虑 LM3S9B92 支持 CAN2 0 协议 通信速率最高可达 1Mbps 支持 32 个拥有 独立标识的消息对象 完全能够满足 CAN 总线上数据的收发 支持串口通信 方便与 PC 机近距离通信和维护 支持以太网 方便与 PC 机远距离通信和维护 可以使用 Stellaris 驱动库可以加快程序的开发速度 地下有线通信方式的选择地下有线通信方式的选择 控制器局域网 CAN 为一种串行通信协议 能够有效的支持具有很高安全等 级的分布实时控制 CAN 的应用范围很广 从高速的网络到低价位的多路接线 都可以使用 CAN 尤其是在汽车电子行业里 CAN 总线被普遍使用 如使用 CAN 连接发动机控制单元 传感器 防刹车系统等等 其传输速率可达 1Mbps 在本系统中 地下有线信道我们之所以选择 CAN 总线主要是基于以下 几个方面的综合考虑 CAN 总线通信线相对便宜 并且其铺设容易 可以随着采矿的不断深入而 6 逐渐往前铺设 CAN 总线通信距离远 在 5Kbps 的传输速率情况下可以长达 10Km 通过中 继和转发的方式能够再扩大其通信范围 从而可以提高该系统的使用范围 从 小型矿井到大中型矿井均能适用 CAN 总线使用差分电压通信 抗干扰性能强 特别适合井下这种环境恶劣 的条件下使用 在 CAN 总线上添加或者删除节点十分方便 方便 Zigbee 转发器的添加和删 除 标准的 CAN 总线使用 11 位作为节点标识 能够支持 2048 个节点 而扩展 格式时使用 29 位作为节点标识 大大的增加了能够支持节点数目 地下无线通信方式的选择地下无线通信方式的选择 ZigBee 是一种新兴的短距离 低速率 低功耗无线网络技术 它是一种介 于无线标记技术和蓝牙之间的技术提案 ZigBee 此前被称作 HomeRF Lite 或 FireFly 无线技术 主要用于近距离无线连接 它有自己的无线电标准 在 数千个微小的传感器之间相互协调实现通信 这些传感器只需要很低的功耗 以接力的方式通过无线电波将数据从一个传感器传到另一个传感器 因此它们 的通信效率非常高 最后 这些数据就可以进入计算机用于分析或者被另外一 种无线技术如 WiMax 收集 ZigBee 的目标市场主要有 PC 外设 鼠标 键盘 游 戏操控杆 消费类电子设备 TV VCR CD VCD DVD 等设备上的遥控装置 家庭内智能控制 照明 煤气计量控制及报警等 玩具 电子宠物 医护 监视器 和传感器 工控 监视器 传感器和自动控制设备 等非常广阔的领域 井下作业人员不可能一直呆在一个地方 他可能从一个网络进入下一个网 络 此时 ZigBee 的自组织功能能够自动断开已建的网络切换到新的网络 从 而便于工人从一个转发器网络切换到另一个转发器网络 此外 ZigBee 节点的主 控芯片为 CC2530 可完成 A D 采样而无需增加其它的 A D 采样芯片 这可以缩 小传感器节点的大小 ZigBee 的低功耗可以大大延长传感器节点电源的使用时 间 SPI 总线转总线转 CAN 总线模块总线模块 由于 Zigbee 转发器模块没有 CAN 接口不能够直接挂到 CAN 总线上 因此 需要在 Zigbee 转发器模块与 CAN 总线之间添加一个转换模块 目前市面上的 CAN 接口芯片比较多 我们选择 MCP2515 和 TJA1050 相结合的方案 MCP2515 是一款独立 CAN 控制器 可简化需要与 CAN 总线连接的应用 其内部包含了 CAN 协议引擎 验收滤波器寄存器 验收屏蔽寄存器 发送和接 收缓冲 可以以 SPI 的通信方式与 Zigbee 转发器模块进行通信 TJA1050 是控制器区域网络 CAN 协议控制器和物理总线之间的接口芯片 它能够将 MCP2515 提供的逻辑电平转换为 CAN 总线专用的差分电平 7 传感器及报警电路传感器及报警电路 在本系统中 井下作业人员携带的传感器网络节点包括了环境参数采集的 电路和报警电路 由于瓦斯的主要成分包括甲烷 一氧化碳 有必 4 CHCO 要对这二种气体的浓度进行检测 一旦这二种参数到达预定值 报警系统就会 给出警告 另外 为了对井下环境更为了解 我们对烟雾浓度 光照强度 温 度三个参数也进行的采集 监测中心的电脑可以随时显示任意工人所处环境的 这五个参数 如表 1 所示 为传感器的网络信息 其中 参数类型包含了所要采集的五 类环境参数 器件类型是各个参数类型所采用的传感器器件 传输数据类型是 在整个系统中传递数据时 用它来代表参数类型 比如传输数据类型为 3 则 代表此时传输的是一氧化碳浓度的数据 ZigBee 节点对应引脚为井下作业人员 携带的 ZigBee 终端节点与环境参数采集电路连接时所使用的引脚 表 1 传感器网络信息 参数类型器件类型传输数据类型ZigBee 节点对应引脚 温度 LM351P0 2 光照光敏电阻 2P0 3 一氧化碳 MQ 73P0 4 甲烷 MQ 54P0 5 烟雾 MQ 25P0 7 气体浓度检测电路气体浓度检测电路 如图 3 所示为甲烷 一氧化碳 烟雾传感器的基本测试电路 这三个环境 参数采集电路的原理基本相同 传感器需要施加 2 个电压 加热器电压 VH 和测试电压 Vc 其中 VH用于为传感器提供特定的工作温度 Vc 则是用于测 定与传感器串联的负载电阻 RL 上的电压 Vout 这种传感器具有轻微的极性 Vc 需用直流电源 在本系统中 Vc 取 3 3v 电压 VH取值 5v 为了更好利用传 感器的性能 需要选择恰当的 RL值 经计算对于不同的传感器 其 RL值是不同 的 如表 2 所示 8 图 3 部分传感器原理图 表 2 RL 的取值 器件类型RL MQ 2 12K MQ 5 22K MQ 7 7 5K 温度测试电路温度测试电路 温度环境参数采集的电路采用的核心部件是 LM35 LM35 是集成电路温度 传感器系列产品之一 它具有很高的工作精度和较宽的线性工作范围 该器件 输出电压与摄氏温度线性成比例 LM35 无需外部校准或微调 可以提供 1 4 的常用的室温精度 本系统中 LM35 的供电电压是 5V 光照强度测试电路光照强度测试电路 光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而 改变的电阻器 入射光强 电阻减小 入射光弱 电阻增大 本系统中 光敏 电阻是用于光电转换 将光的变化转换为电的变化 如图 4 所示 其中 Vcc 取值为 3 3V RL为 12K 图 4 光照强度测试电路 报警电路报警电路 为了在瓦斯浓度过高时使工人有所警觉 在井下作业人员携带的传感器网 Vout GNDGND RL Vcc 9 络节点中增加了报警电路 如图 5 所示 在该报警电路中 Bell 是蜂鸣器 Vcc 为 5V R0是 12K Q 是三极管 8050 当传感器网络中的环境参数超过了 极限值 Vin可通过程序被置为高电平 此时 蜂鸣器将发出声响 即有预警作 用 图 5 报警电路 4 系统软件设计系统软件设计 MCU 主控机程序设计主控机程序设计 通过对 MCU 主控机需求的分析 可大致得到 MCU 需要完成的任务主要有 以下几个 接收 CAN 总线上的数据帧 并把其转换成在串口或者以太网上传输的数据 帧格式 根据传输设置 将数据通过串口或者以太网的方式传输到 PC 机上 接收通过串口或者以太网上从 PC 发出的测量请求 并将其转换成适合在 CAN 总线上传输的数据帧 Shell 部分负责接收从串口或者以太网传来的调试命令的解释和执行 并返 回执行结果 基于以上任务不是很多 可以通过任务轮流调度和中断的方式来解决 于 是在初级阶段就取消了操作系统在 MCU 主控机上的使用 随着后阶段系统任务 量的增加会考虑向 MCU 主控机移植一个嵌入式操作系统 CAN 总线和串口的收发采用了中断的方式 其中 LM3S9B92 的 CAN 总线数 据帧可以配置成 0 到 8 个长度 足以完成发送帧和接收帧的配置 而串口部分 由于每次只能发送一个字节 因此采用了一个起始帧作为帧起始标志 从而为 上位机提取数据帧提供了依据 从串口或者以太网中接收从监控中心发来数据 时需要在接收的时候每次收到帧起始标志时便开始接收 之后收到的数据先发 到接收缓冲区并计数 当接收的数据字节数为一个帧长时就把缓冲区中的数据 R0 Q VccVcc Vin 10 当作一个请求帧进行处理 CAN 总线通信和串口通信程序的开发使用了 TI 公司的 Stellaris 驱动库 这 极大的缩短了开发周期 而以太网部分使用了 Keil 的 RL 库 Real Time Library 中 的 TCPnet 我们使用将 MCU 主控机与远程 PC 机之间建立稳定的 TCP 连接 收 发数据都是通过嵌套字 socket 完成 从而保证传输的实时性和可靠性 由于 TCP 底层会根据数据帧的大小和发送速度对数据帧进行重组 为了让 PC 机接收 端能够区分数据帧的起始 因此和串口发送方式一样需在数据帧前面添加一个 帧起始标志 CAN 传来的数据速率不稳定 如果直接对每个 CAN 传来的数据帧 进行发送 那么 TCP 数据帧常会出现丢帧的情况 为了有效的解决这一问题 我们采用了根据 CAN 传来的帧速来确定每个 TCP 帧中应该包含的数据帧个数 即 CAN 总线上的帧速越快则是每个 TCP 帧就包含越多的数据帧 通过这一方法 巧妙的解决了 TCP 传输时出现的丢帧情况 该算法的伪代码如下 void Send DataFrame 先将DataFrame存放到缓冲区 此时缓冲区中数据的长度为L 修改缓冲区指针指向为下一次数据帧的存放做好准备 根据当前CAN总线上发来的帧速FrameRate确定TCP帧的长度Len if L Len 通过TCP连接将数据发送出去 修改缓冲区指针的指向 让它指向缓冲区的开头 PC 端监控程序设计端监控程序设计 通过对 PC 机需求的分析 可大致得到 PC 需要完成的任务主要有以下几个 方面 根据监控人员需要通过串口或者以太网方式连接到 MCU 主控机 允许监控人员根据实际情况添加或删除工人节点 并为各个工人节点设置 允许的测量值 这主要是考虑到不同的工人其工作范围不同 因此需要进行测 量的值也就有可能不同 监控人员可以设置各个工人节点的各测量值的上限和下限 当测量值超过 其上限或者下限时通过报警通知监控人员 在收到工人的求救信号之后通过报警通知监控人员 记录所有接收到的测量值 方便以后查看研究分析 后阶段可能会根据需要增加绘制各测量值的波形图谱功能以方便研究分析 为了方便监控人员的操作 需提供配置文档的保存和加载功能 基于以上分析 我们的 PC 机软件选择了在 NET2 0 平台下进行 开发工具 为 Microsoft Visual Studio 2010 使用 C 语言进行编程 软件的操作方式采用了 Windows 平台下惯用的菜单驱动方式 11 从串口或者以太网传来的数据中得到数据帧的思路和 MCU 中接收控制中心 电脑发出的请求帧的方法类似 但由于从串口或者以太网传输来的数据帧不稳 定 有时帧速很高 如果每来一帧就立即更新显示的话 CPU 的占用率会很高 严重的时候电脑直接卡住 为了解决这一问题 我们采用了双缓冲的办法 我 们定义了两个存放数据帧的缓冲器 所有传来的数据不直接更新显示 而是先 放到接收缓冲器 然后使用一个定时器周期的从接收缓冲器中读取数据帧并更 新显示 为了不影响定时器更新显示的时候对数据帧的接收 我们在更新数据 的时候用另一个缓冲器作为接收缓冲器 而把的那个接收缓冲器作为更新缓冲 器 通过接收缓冲器和更新缓冲器的交替变换完成数据的接收和显示 该算法 的伪代码描述如下 PC端双缓冲接收伪代码 缓冲器A BufferA 缓冲器B BufferB void FrameArrive DataArrive if BufferA正在用作接收缓冲器 Buffer BufferA else Buffer BufferB Buffer Add DataArrive 12 定时器更新显示伪代码 void RefreshNode if BufferA正在用作接收缓冲器 Buffer BufferB else Buffer BufferA 对于Buffer中的每个待更新数据data 将data更新到对应节点的对应测量上 并刷新节点显示 清空Buffer 将Buffer作为接收缓冲器 帧结构规范帧结构规范 由于数据帧在传送过程中经历了三种不同的信道传输方式 无线的 ZigBee 方式 有线的 CAN 总线方式 有线的串口或者以太网方式 在不同的信道中数 据帧的格式的格式是不完全相同的 因此需要对在不同信道中传递的数据帧进 行格式的规定 初步规定如图 6 数据帧结构规范所示 图 7 所示是对数据类型 的规定 图 6 数据帧结构规范 13 图 7 数据类型规定 均值滤波器设计均值滤波器设计 由于传感器在测量周围相关环境值的时候会受到周围的一些突发因素的影 响 比如工人突然的对传感器呼气 也有可能因为器件自身的一些缺陷而导致 测量到的数据中会有一些噪点 如果直接使用这些数据 可能会导致系统误报 警 为了避免这种情况出现 有必要对收到的数据进行一下滤波 考虑到效果 和实现上的难易程度 目前我们采用的是一维的均值滤波的方法 考虑到硬件实现滤波器的调试和修改不容易 因此我们采用软件的方式来 实现滤波 每次 AD 转换之后先把得到是值传给滤波函数进行滤波之后得到一 个滤波后的数据 之后的一系列的处理都是针对滤波后的数据进行 通过 Matlab 仿真 图 8 展示了数据通过滤波器之后的效果 050100150200250300350 220 240 260 280 300 320 340 360 380 400 值 值 值 值 值 值 值 值 值 值 值 值 值 图 8 滤波效果 从图中可以看出通过滤波器之后数据变得比较平滑 大部分噪点都被滤去 14 滤波器的实现代码如下 typedef unsigned long t Value 值类型 define FILTER LEN10 滤波器长度 define VALUE COUNT5 需要的值个数 t Value filter buf VALUE COUNT FILTER LEN 滤波器缓存 int filter index VALUE COUNT t Value filter int id t Value val int i t Value sum 0 i filter index id FILTER LEN filter buf id i val if filter index id FILTER LEN filter index id filter index id 1 for i 0 i filter index id i sum filter buf id i return sum i else filter index id filter index id 1 FILTER LEN FILTER LEN for i 0 i FILTER LEN i sum filter buf id i return sum i ZigBee 系统事件系统事件 在 ZigBee 系统事件中 分时启动了 6 个事件 每隔 2 秒钟启动一次 分别 用来报告温度 光照强度 一氧化碳浓度 甲烷浓度 烟雾浓度和报警信号事 件 程序中定义的事件类型如表 3 所示 表 3 事件类型定义 事件编号事件类型 0 x0002温度 0 x0004光照强度 0 x0010一氧化碳 0 x0020甲烷 0 x0040烟雾 0 x0080报警信号 15 数据采集过程中 我们规定 用相应的数值表示相应的数据类型 如表 4 所示 程序中定义数据类型如下 表 4 数据类型定义 数据类型对应类型值 求救信号0 x00 温度0 x01 光照强度0 x02 一氧化碳0 x03 甲烷0 x04 烟雾0 x05 传感器网络节点采集到数据并将数据组成帧进行发送 发送前 必须对数 据进行了相应处理 数据帧中规定了数据的格式 从起始帧到结束帧依次规定 为 工人 ID 号 占 12 位 2 字节表示 数据的类型 表示发送的数据是何种 数据 占 8 位 1 字节表示 数据值的大小 占 16 位 最高位表示数据的正 负 接下来 7 位表示数值的整数部分 低 7 位表示数值的小数部分 具体见图 6 数据帧结构规范 为了方便对数据采集处理 定义了一个 t Measure 类型的变量 如下 t Measure measures VALUE COUNT 最小最大下限上限 xx xx 值 1000 2800 0 4000 0 MQ2 700 2500 0 4000 0 MQ5 1000 2800 0 4000 0 MQ7 0 1500 0 4000 0 温度 0 3300 0 7000 0 光照 其中 t Measure 是一个结构体类型的变量 定义如下 typedef struct t Value min t Value max t Value minlimit t Value maxlimit t Value value t Measure 测量值类型 measures 是一个结构体数组 包含了要测量的数据的最大最小值 根据实 际多次测量的数据进行整合出来的 即测量数据参数的上限和下限 即如果是 气体 则表示所占百分比浓度 如果是温度 则表示摄氏度 如果是光照 则 表示光照强度 它可以用来测量数据类型的当前值 通过 A D 采样 量化 编码将模拟的数据转换为数字数据 在采集完数据 后 我们还要将得到的数据进行相应转换 经软件编程计算 将这些数字数据 转换为相应的浓度 0 100 00 或者温度 0 100 00 当前值大于或小于 数据参数对应的上限或者下限时 工人携带的节点上的报警器就会发出报警声 在本系统中 ZigBee 网络结构是星形的 所有的转发器通过 CAN 总线将数据 16 传输到 Cortex M3 上 在后期阶段 我们可以将 ZigBee 网络结构扩展为树型 数据就可以沿树型传送给 Cortex M3 即可再开辟一条无线路径进行数据传输 系统按键事件的处理系统按键事件的处理 按键事件中 添加了求救信号的处理 当工人按下按键时 工人携带的传 感器会发送一个数据 标记对应的数据类型为 0 并停止对数据的采集 然后 启动求救 报警 的事件 报警装置开始报警 以通知周围工人 同时监测中 心的电脑接收到相应的求救信息后 也会发出求救的报警声音 通知监视人员 进行相应的处理 固定工人固定工人 ID 号方法号方法 在本系统中 为了能够达到求救的功能 在第一时间内确定受伤工人的位 置 转发器和工人所携带的无线传感器网络节点的 ID 号都必须是唯一的 由于每个井下作业人员均会携带一个无线传感器节点 因此 可以用工人 所携带的无线传感器网络节点的 ID 号来标识工人的身份 我们可以采用固定每 个节点的 IEEE 地址的方式来固定每个工人的 ID 即在网络中不使用全球唯一 64 位 IEEE 地址 而是通过修改每个节点的 IEEE 地址来区分每个工人 修改节点 IEEE 地址方法如下 打开 SmartRF Flash Programmer 软件 将调试器连上 PC 将看到如图 9 所 示界面 图 9 修改 IEEE 地址 在图 9 中的红线框中的 Location 中选择 Secondary 在 IEEE 的输入框 17 中输入 00 00 00 00 00 00 0 x xx 再点击按钮 Write IEEE 并选中 Retain IEEE address when reprogramming 点击 Perform action 下载到节点中 这样 就可以将节点的 IEEE 地址修改为自定义的形式 我们定义的工人 ID 号是 12 位 的数据 所以只需要将 IEEE 的输入框的后 3 位改为工人 ID 我们就以用修改后 的 IEEE 地址来标识工人的 ID 号 MCU 主控机上的主控机上的 Shell 外壳外壳 Shell 是在调试过程中因为感到传统的调试方式不是很方便而添加进去的一 个功能 它能够在不中断程序运行的情况下完成一些简单调试功能 比如查看 MCU 主控机的网络连接状况 CAN 总线上的数据帧速率 传输出错情况等等 同样 为了方便 Shell 允许使用串口或者以太网的方式登陆 在以后的改进方案中可能会去掉 shell 功能 而选择为 MCU 主控机加上一 个触摸显示屏的方式完成调试 5 系统创新系统创新 本系统创新之处包含以下几个方面本系统创新之处包含以下几个方面 1 矿井下使用有线通信 CAN 总线 和无线通信 ZigBee 两种方式相结合 克 服了单纯的有线通信时可移动性能差以及单纯的无线通信时通信距离受限并容 易产生多径干扰的缺点 同时使用有线和无线相结合的方式保证了在发生坍塌 事故时只要 CAN 总线未被完全压断并且工人周围有可用的转发器时依然能够和 地上监控中心取得联系 2 很好的应用了 ZigBee 能够自组织网网络的优点 方便了工人在行走过 程中从一个网络漫游到另一个网络 3 使用了基于 ZigBee 无线通信进行粗略定位 节省了通过其他定位方式 所需的成本 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026西北电力建设第三工程有限公司招聘(18人)备考考试题库附答案解析
- 2025中国重汽集团泰安五岳专用汽车有限公司招聘工作人员备考考试题库附答案解析
- 2025浙江台州市温岭市城市发展投资集团有限公司招聘备考考试题库附答案解析
- 四川师范大学附属青台山中学2025年教师招聘备考考试题库附答案解析
- 2025浙江温州市现代服务业发展集团有限公司第一批招聘工作人员32人备考练习题库及答案解析
- 2025贵州遵义市湄潭县城镇公益性岗位第三期招聘17人备考考试题库附答案解析
- 检验科健康科普知识宣教
- 有机化学世界探秘
- 游戏行业的探索与创新
- 教学资源智能化管理-洞察及研究
- 分期贷款利息计算表
- 两篇古典英文版成语故事塞翁失马
- 名著阅读《朝花夕拾 狗猫鼠》课件-部编版语文七年级上册
- 燃气轮机介绍课件
- 如何理解欧盟MDR临床评价要求
- 2022年国家公务员考试申论真题及答案解析(地市级)
- 名师成长的路径与修炼(教师版)课件
- 案外人执行异议之诉课件
- 西方经济学导论全套课件
- “基础教育精品课”PPT课件模板
- 第8部分消防设施标识可视化
评论
0/150
提交评论