免费预览已结束,剩余74页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 学号 年级 本科毕业论文本科毕业论文 基于基于 WiFiWiFi 的多功能搜救机器人软件设计的多功能搜救机器人软件设计 专专 业业自动化 姓姓 名名 指导教师指导教师 评评 阅阅 人人 年年 月月 II BACHELORS DEGREE THESIS OF HOHAIUNIVERSITY Multi function of search and rescue robot based on WiFi software design College : Subject : Name : Directed by : III 摘摘 要要 当灾害发生后,受灾地区环境十分复杂,潜在的危险极大,例如地震后的危 楼,火灾现场等等,一些狭小区域的救援工作更是难上加难。复杂环境下,温度, 湿度,空气中氧气和有毒气体的含量都是被困人员能否生存下来的决定性因素, 也是救援人员制定救援计划的关键信息。另外在搜救过程中人手十分有限,危险 或狭窄地区的作业更需要机器人来完成,这样才能有效地保证救援人员的安全和 救援任务的顺利进行。 本文描述的基于 WiFi 的多功能搜救机器人搭载具有开源 OpenWrt 的 Linux 操 作系统的无线路由器,通过 Mjpg-Streamer 图像压缩技术和 Ser2net 的网络串口协 议,辅以 STC89S52 单片机可以将网络摄像头拍摄的实时视频和传感器采集的环 境变量参数传回控制端。控制端由 Visual Studio C#编写的 PC 上位机和 JavaScript 编写的移动控制端组成,可以显示图像并记录数据,通过方便的图形化界面,救 援人员可以轻松的连接路由器的 WiFi 局域网,获取各种数据,并使用上位机发 送命令控制机器人的行动,这可以极大降低救援工作的危险性,提高救援的成功 率,为被困人员带来生的希望。 关键词:关键词:搜救机器人;WiFi 技术;OpenWrt 系统;视频传输;数据传输; IV ABSTRACT After the disaster, the affected area is more complex, the latent danger, for example the ruins after the earthquake, the scene of the fire and so on, some rescue work of small area is even more difficult. Under the complex environment, temperature, humidity, content of oxygen and toxic gases in the air are the decisive factors which decide whether trapped personnel can survive or not and also the key information to make plans for the rescue workers. In addition , rescue workers isnt enough in the rescuing process, its so necessary of robot to do the rescuing in dangerous or narrow area , so as to ensure the safety and complete rescue task smoothly. This paper describes a search and rescue robot based on WiFi ,which equipped with a wireless router with the Linux operating system of open source OpenWrt . Through the Mjpg-Streamer image compression technology, the Ser2net network protocol, and the Stc89S52 microcontroller, the robot can take real-time video of the network camera and variable parameters of environment of sensors to control terminal. The control terminal which consists of PC control terminal made by Visual Studio C# and mobile control terminal designed by JavaScript can show the image and record the data. Through the convenient graphical interface, rescue personnel can easily connect to the WiFi LAN of router, access to a variety of data and use the host computer to send commands to control the robots actions, which can reduce the danger of the rescue work and improve the rate of success , it also bring the trapped personnel with the hope of life. Key words: Search and rescue robot; WiFi technology; OpenWrt system; Video transmission; Data transmission; V 目录目录 摘摘 要要 I I ABSTRACT IIII 目目 录录 IIIIII 第第 1 1 章章 绪论绪论 1 1 1.1 引言 .1 1.2 课题研究背景和意义 .1 1.3 国内外搜救机器人发展现状与趋势 .2 1.4 本文的研究内容及章节安排4 第第 2 2 章章 搜救机器人系统设计综述搜救机器人系统设计综述 6 6 2.1 框架结构整体设计6 2.2 WiFi 机器人基本原理介绍8 2.3 整体设计方案的模块化分析10 2.4 系统方案论证13 第第 3 3 章章 系统硬件设计系统硬件设计 1616 3.1 下位机硬件系统总览16 3.2 主控芯片的最小系统17 3.3 电源模块电路设计19 3.4 蜂鸣器电路20 3.5 传感器和舵机模块接口设计21 第第 4 4 章章 上位机编程与实现上位机编程与实现 2323 4.1 Mjpg-Streamer 程序设计23 4.2 Mjpg-Streamer 的安装和使用25 4.3 V4L2 接口.28 4.4 Socket 编程.29 4.5 多线程编程.36 4.6 Ser2net 原理及应用36 VI 4.7 Visual Studio 2010 C# 平台.37 4.8 上位机分层设计.37 第第 5 5 章章 下位机程序与系统调试下位机程序与系统调试 4343 5.1 下位机编程环境介绍43 5.2 上下位机通信协议43 5.3 下位机分层程序设计43 5.4 系统调试50 5.5 本章小结53 参考文献参考文献 5555 致致 谢谢 5858 附附 录录 5959 附一 系统整体原理图.59 附二 系统整体 PCB 图59 附三 上位机程序.60 毕业设计(英文翻译)毕业设计(英文翻译) 6363 河海大学本科毕业论文 1 第第 1 1 章章 绪论绪论 本章简单介绍了课题的研究背景、研究现状和研究意义,并给出了本文实际 研究的内容、方法和结果,简要介绍了每章的研究重点和所采用的方法、顺序, 并以一定层次结构介绍了论文的整体脉络。 1.1 引言引言 机器人(Robot)是根据程序设定自动执行特定工作的机器装置1。它可以根 据控制器内部预先设定的程序进行动作也可以按照人的指令执行某些特定任务。 机器人的任务是协助或代替人类的工作,诸如生产行业、建筑行业,或极端恶劣 和具有危险性的工作。 在广泛的意义里面,智能机器人是可以自主行动,并能智能地对外部信息作 出反应的机体。其实,这个可以完成自动控制的机体的主要构成部件并没有像真 正的人体结构一般精妙而复杂。 智能机器人携带有各种各样的环境感测装置,可以检测光,电,压力,温度, 气味等不同的信息。除了具有多种感受传感器外,它还具有一些效应器,可作为 作用于周遭环境的手段。这就好比筋肉,或称为整步电动机,它们能使手、脚、 等官能部分动起来。由此可知,真正意义上的智能机器人至少需要满足三个要素: 感受要素,思考要素和反应要素2。 机器人技术的发展极大方便了现如今的工业生产和人们的日常生活,对于军 工行业的发展也提供了强大的助推力3。工厂中不停不休的机械手和装配机器人 可以精确地组装零配件,医疗看护机器人可以照看病人,把病人的信息及时准确 地记录并传给主治医生,无人飞行器机器人可以在战场上探测敌人,并把精确的 坐标方位发送回主控中心,消防灭火机器人也能在火灾现场检测生还者的生命信 息。智能机器人将成为人类的福音,在不久的将来为人类生产生活发挥更大的作 用。 1.2 课题研究背景和意义课题研究背景和意义 世界上很多地方每天都会遭遇自然灾害,例如地震多发的国家日本,境内共 有大大小小活火山 83 座,占世界活火山总数的十分之一。据资料显示,日本国 河海大学本科毕业论文 2 内尚有约 1/4 的国土面积淹没在火山灰中。1792 年,日本境内发生火山爆发,致 使 1.5 万人丧生;1923 年日本关东遭遇大地震,地震夺走了 13 万人的生命,国 家损失惨重4。 在中国,每年也有不计其数的自然灾害或人为造成的灾难。这些 灾难给我们造成了沉重的伤害,同样也为灾情预警和紧急救援机制的完善敲响了 警钟。每当危情发生后,最紧要的工作就是搜救那些被困废墟残骸中的幸存者, 危机关头,分秒必争,即便这样,危险而复杂的灾害现场却给救援工作者以及幸 存者带来了巨大的阻碍,导致救援工作的开展收到了影响。鉴于此,国外特种搜 救机器人小组成立并开展了相关研究工作。据实验显示,在灾难救援任务中使用 新型的搜救机器人应该具有以下 3 个优点:可以连续执行艰难的搜索救援任务, 如几天几夜在高温高压或者极其严苛的环境中执行搜救任务,而不会像人一样感 到疲倦;可以进入救援人员和搜救犬无法进入的危险地带,且几乎不会引起建 筑物的二次坍塌;不会受到火焰、烟雾等危险因素的干扰5。 最近几年,为了提高救援的成功率,完善搜救和灾后应急的不足,中外许多 科研部门都开展了大量丰富的研究工作,研制出了能适应不同地形的变形机器人 和飞行类空中机器人。在实用价值方面,国内外研制的新型搜救机器人结构新颖、 设计独特,采用领先的能源管理技术,将动态电源管理超时算法运用到电源管理 系统中进行控制,有效地减少了功耗,增加了续航时间,进而有利于扩大搜救的 范围;功能模块丰富、集成度高,而且可进行扩展或裁剪;操作简单、可靠性高。 以上这些特点保证了新型的特种搜救机器人可有效地投入使用,迅速高效地完成 搜救任务。 最新式的救援机器人已经将仿生技术,微控制技术,传感器检测技术和灾难 营救等相关领域的知识有机地结合起来了,开辟了一个现代机器人研究的新兴领 域。 新式的搜救人将会极大地提高救援工作的成功率,并能有效地降低救援工作中人 为的失误,具有广阔的市场和应用价值。此外,研究搜救机器人所涉及的先进技 术和理念对后来的研究具有非常好的借鉴价值。从以上的分析可以看出,搜救机 器人必将在今后的灾难搜救中发挥不可替代的作用。 1.3 国内外国内外搜救机器人发展现状与趋势搜救机器人发展现状与趋势 20 世纪 80 年代,已经有人对将机器人应用于救援工作中进行探讨,但救援 河海大学本科毕业论文 3 机器人技术的正式研究始于 1995 年的日本神户-大阪大地震,并在 2001 年的美国 911 事件中,救援机器人正式投入应用6。但需要引起注意的是:救援机器人 目前在操控形式,远距离数据传输,水下作业和生命探测等方面都显示出了很多 的不足。近年来机器人在理论和实际应用上都取得了很大的进步。2011 年 3 月 11 日,日本 9.0 级大地震及海啸引起的核污染灾害再次使机器人引起了全球的注 意,救援机器人的研制势在必行7。在计算机等新技术的发展推动下,机器人的 应用领域迅速扩大。按种类划分,机器人也具有多种不同的形式;例如可以进行 医疗作业的医用机器人,可以协助残障人士的助残机器人,可以打扫卫生的服务 类机器人和军事用途的作战机器人,排雷机器人等等,从转移方式上划分又可以 分为车轮式,链条式,多关节式等类型8,从搭载的平台上划分也可以分为车载 平台,仿生平台,飞行平台等等。近年来,世界各国对机器人的研究工作都投入 了大量的人力和物力,并取得了一定的成绩。 1.3.1 国外研究现状国外研究现状 日本是一个多核能和地震的国家,因此日本很早就开始了搜救机器人的设计 和研发工作,自 1995 年阪神地震发生后近 10 年的时间内,日本在搜救和灾难预 警方面已经形成了完备的国家体系9。 在日本,东京大学的广濑教授很早就开始了救援机器人的研究工作,并自主 创办了研究工作室,他的团队致力于从仿生和机械的角度来研制多功能的救援机 器人,先后研制出了 ACM,GENBU 等等一批不同系列的搜救机器人,他的研究 工作也在仿生设计和灾难研究领域做出了很大的贡献10-12。 灾害现场救援中最核心的是确定受害者的具体方位,所以需要依靠能在类似 瓦砾的凹凸而狭长的区域中平稳移动的机器人,为此广濑的团队专门研制出了 SOURYUI 和 SOURYUII 型机器人,针对火灾现场,需要进行输水软管的搬 运和被困人员生命的信息的探测等作业,为此他们又研制出了水压驱动型多车轮 机器人 GENBUI、GENBUII 和 GENBIII,这种机器人以消防高压水为驱动 源,进行放水和驱动。 日本东京工业大学的 KAMEGAWA 等研究人员提出了一种新型的搜救机器人 平台方案。该机器人机身由多节履带车连接而成,由电机驱动滚轮履带进行移动, 每节机器人均相对独立,能够进入狭小空间并完成困难的搜救工作,由于履带的 河海大学本科毕业论文 4 辅助作用,地势适应能力和抗倾覆能力也得到了极大的加强13-15。 美国对救援机器人的研究开展得比较早,且发展速度也非常的迅速。例如南 佛罗里达州立大学灾难应急防控中心的 MURPHY 研究团队就已经开发出了携带 医用传感器的应急救援机器人16,它还拥有轮式链条车体,具有强大的运动能力, 并能进行一定范围内的侦测,它内置的生命信息监测仪器还能很方便的获知幸存 者的生命信息和环境变量参数,并可以通过无线进行远距离传输17。 明尼苏达州大学 STOETER 等研制成功了一种特殊的机器人 SCOUT,该机器 人可用于多机器人并发采集数据和信息交互,并具有简单的传感器模块、运动模 块和专业救援工具,该机器人外部的弹性防护轮可以提供牢靠的保护;同一所大 学的 LARSON 和其团队还研制出了一种既可以进行搜救作业又具有很强的运动 能力的双臂探测机器人 TerminatorBot,它的肢体关节设计非常巧妙,此外南加利 福尼亚大学的 SHEN 等人还研制出了一种可模块化重构的搜救机器人 CON,它 可以根据身处的不同环境重新组合变身成为蛇形和六足形态18-20。 1.3.2 国内研究现状国内研究现状 在国内,一些专家学者和研究机构已经逐步意识到了灾难救援机器人研制的 重要性,众多高校和研究所在海滩救援机器人、自主救援无人机和地面移动特种 作业机器人等救援机器人技术方面都开展了大量的研究。 我国对搜救机器人的研究工作虽然开展较慢,但也取得了许多可喜的成绩, 自从国家 863 项目开始,国防部和科研院校就已经开始了很多密切的合作,两千 零二年六月,上海消防部门连通上海交大和上海消防总局共同研制成功了履带式 消防机器人,并成功通过国家验收。同时废墟索引辅助救援机器人课题的研究也 取得了重大突破,无人空对地搜救机器人,洞穴自主爬行搜救机器人,地面辅助 搜救车及智能机器手摇臂机器人也已研制完成21。在 863 计划的大力支持下,各 大研究机构在水下探测机器人,服务机器人,微控制机器人和仿生机器人研究方 面也相继取得了众多的进展,在拥有这些自豪成绩的同时,我国也培育出了相当 一批专业型人才队伍,某些关键技术也成功跻身世界先进水平22。但从总体上而 言,与国际发达国家相比差距还较大,并且没有形成规模化的产业,自主知识产 权的研究成果还较少,对特种机器人等基本科学问题的技术性研究尚且不足,跟 踪研究偏多,自主创新点较少还是现阶段存在的突出问题。 河海大学本科毕业论文 5 1.4 本文的研究内容及章节安排本文的研究内容及章节安排 本文主要针对以下内容开展研究: (1)在参考国内外众多设计的基础上,提出了本系统的总体方案,完成了 系统的设计。 (2)完成系统整体硬件模块的分析和设计,进行模块化分析和论证,通过 比较选取合适的模块设计方案。 (3)熟练掌握 Altium Designer 6.9 的使用,并能绘制硬件电路原理图和 PCB 图,进行简单的电路仿真训练,测试系统硬件模拟功能能否实现。 (4)了解 Linux 操作系统下 Mjpg-Streamer 软件和 Ser2net 软件的使用方法 和工作原理,并学习 Socket 编程和多线程编程的相关知识。 (5)完成系统各个模块间的连接以及系统整体功能的调试。 全文总共可以分为六章,每个章节的安排如下: 第一章为绪论。本章首先把机器人的研究作为引子,引出搜机器人的发展过 程,接着对本文的重点-基于 WIFI 技术的搜救机器人技术在国内外研究的状况进 行了简要的介绍,最后对本文的主要工作和安排进行了介绍。 第二章为搜救机器人系统设计综述。本章主要介绍了系统框架结构的整体设 计,并给出了框架设计图,介绍了 WIFI 机器人工作的基本原理以及系统的主要 组成部分,路由器使用的 Linux 操作系统,单片机系统,驱动电路,上位机等, 并对各个模块的选用进行了介绍和比较论证。 第三章为系统硬件设计。本章主要介绍刷 Linux 操作系统使用的各种开发和 调试工具,路由器刷 OpenWrt 操作系统的方法,并给出了下位机硬件部分的设计 总览以及每个模块设计的原理图。 第四章为上位机编程与实现。本章主要介绍了 Mjpg-Streamer 的原理,安装 和使用方法以及程序设计流程,Socket 原理以及编程方法,对上位机编程环境, 编程语言也做了详细的描述,并给出了每个上位机各模块的设计方法。 第五章为下位机程序与系统调试。本章介绍了下位机的编程环境,数据通信 协议,并按模块化对下位机实现的功能函数进行了设计,最后附上了 PCB 图和运 行实物图。 河海大学本科毕业论文 6 第第 2 2 章章 搜救机器人系统设计综述搜救机器人系统设计综述 本章主要对搜救机器人整体框架的设计进行了简要的介绍,包括机器人工作 原理的介绍,模块化设计与分析和模块方案选择的介绍,通过以上介绍,对搜救 机器人的整体设计有了大概的了解和初步的认识,为后期的集成化设计和功能的 完善打下了基础。 2.1 框架结构整体设计框架结构整体设计 2.1.1 系统整体功能设计系统整体功能设计 WIFI 搜救机器人需要采集视频信息和环境变量信息,并将数据通过无线发回 PC 上位机或移动终端,在设计初需要考虑 WIFI 信号的热点问题,也就是要选用 什么设备作为 WIFI 热点发射无线,可选的设备主要是 WIFI 模块或者路由器。 采集视频信息可以用的设备有很多,需要根据不同的 WIFI 模块和需要的视 频分辨率精度以及视频处理程序进行相应的选择,一般的摄像头从发送数据上分 主要是数字摄像头和模拟摄像头,从网络适配功能上又有网络摄像头和非网络摄 像头之分。 对于下位机控制终端设计,最先考虑的主要是功能实现性问题,对于采集信 息复杂,信息量大或者对 MCU 主频也就是系统时钟频率要求较高的情况下需要 选择高主频或可倍频的 MCU 作为主控制器;接下来是设计 WIFI 机器人的行动 模块和数据采集模块,对于行动模块考虑电机驱动,可选电机主要可分为直流电 机和步进式电机,驱动电机需要根据电机驱动电流和所能承受的最大电流和电压 配备电机驱动,电机驱动芯片的选择上也是以经济适用,稳定高效的完成相应功 能作为选择的出发点,另外考虑到行动模块当中摄像头能够拍摄到多角度的图像, 需要再辅以 2 个自由度的舵机云台模块,该模块将可以自由调节上下左右的转动 角度,实现多角度拍摄,选择标准需要根据云台舵机的驱动电流大小和尺寸大小 灵活选择,在保证能够完成指定功能的前提下,尽量做到体积小,重量轻,易于 安装和调试。传感器选择上,出于测试方便的需要,拟采用温度传感器和烟雾传 感器,单片机可以收集温度数据和空气中有毒有害气体的含量,并发送回上位机 河海大学本科毕业论文 7 控制端。电源部分的设计,机器人供电拟采用 7.2V 锂电池供电,再设计稳压模 块将 7.2V 电压通过稳压电路稳压到 5.0V 为单片机和其它功能模块电路供电,同 时电机模块采用 7.2V 直接供电。 最后上位机的设计可以采用 Visual Studio 2010 C# 编写 PC 上位机的控制端, 移动手持式终端可以采用 JavaScript 编写,最终设计根据自己需要需要选择其中 一种设计完成。 2.1.2 系统框架设计图系统框架设计图 根据任务书的设计要求,整理出如图 2-1 所示的系统整体设计框图。 PC/手机 上位机 WIFI模 块 WiFi通道 TTL串口 单片机系统 电机驱 动模块 直流电机 摄像头 模块 温度传 感器 烟雾传 感器 舵机云台 视频流 电源模 块 串口数据 图 2-1 系统总体功能架构设计 系统需要具备视频显示和串口无线控制功能,摄像头通过 USB 接线与路由 器相连,单片机系统通过串口线路与路由器相连,同时单片机可以通过 IO 口对 河海大学本科毕业论文 8 温度传感器进行配置,并读取温度,也可以读取烟雾传感器返回的电压数字量, 还能控制舵机云台的转动和电机驱动模块。 上位机控制端可以与 WIFI 模块通过无线进行连接,并向下位机发送串口数 据,该数据可以通过单片机解析,从而控制相应的系统动作。 2.2 WIFI机器人基本原理介绍机器人基本原理介绍 2.2.1 开源的开源的 Openwrt 操作系统操作系统 无线路由器通过刷入开源的 Openwrt 操作系统,便成为了一个运行 Linux 系 统的微型电脑。这里首先介绍一下什么是 OpenWrt 操作系统。 OpenWrt 系统是一个开源的 Linux 发行版,可以通过框架结构来搭建应用, 而并不需要完整硬件的支持。对于开发者而言,这意味着其拥有完全自主定制的 能力,可以用从未有过的方式使用该设备23-25。 随着 Linksys 释放了 WRT54G/GS 的源码,互联网中便开始流行了许多与其 相关的固件,大多数版本的固件百分之九十九都是基于原版发行的代码,众多功 能中也只有百分之一是开发者自行补充的,任何一种固件版本都是针对某些特定 市场而开发的,所以固件本身的延展性和兼容性都比较有限,这样的一种市场环 境使得其离 Linux 正式版的诞生越来越远26。 直到后来 OpenWrt 系统的开发,它同样是采用 Linksys 的源码,但采取的开 发手段却大不相同,OpenWrt 坚持从底层开始向上生长将功能一点一点加入最初 的源码当中,这样做的好处使得它更能接近于 Linksys 原版固件的功能,OpenWrt 中所有的文件系统都可以擦写,开发修改程序之后可以重启系统直接运行,因此 它便成为了一个小型的 Linux 操作系统,对于加快开发进度也很有帮助27-28。 通俗地讲,通过安装 OpenWrt 系统的固件之后,传统的路由器便拥有了新的 生命,它不再只是具有上网的功能那么简单,而是可以在系统内安装任意需要的 软件成为一个集成化的控制平台,可以安装驱动程序和应用软件,进而自由地安 装网络摄像头,声卡和网卡之类的设备。 OpenWrt 系统中可以安装一款 Mjpg-Streamer 的软件,该软件的作用为压缩并 传输图像数据,可对 USB 摄像头采集的数据进行压缩编码,并使用路由器的 WIFI 功能发送出去,通过 PC 或移动控制端来显示搜救机器人拍摄到的视频画面。 河海大学本科毕业论文 9 同时普通路由器上一般都会外留有 TTL 串口,该串口的作用主要为系统刷机 和串口信号转发,通过在路由器中安装 Ser2net 软件就能够实现网口到串口的转 发,进而实现上位机与下位机之间的远程通信与控制。 2.2.2 单片机系统与下位机单片机系统与下位机 单片机系统是一个最为简单的迷你电脑系统,它的工作频率很低,不适合进 行大量数据的运算,其主要功能是通过控制输出引脚(IO 口)的电平高低来实现 各种逻辑功能的控制,例如可以驱动电机正反转和使舵机转动特定的角度值。 单片机系统中运行的程序称之为下位机程序,该程序的作用主要是接收来自 上位机发送的数据包,然后进行解码分析,解析用户发出的是什么动作指令,最 后对单片机芯片上的指定引脚进行高低电平的赋值,这个指令的上一级发送单位 是 WIFI 模块,即无线路由器,再往上一级是 PC 或手机等控制端,即上位机终端。 接下来介绍一下 TTL 串口,TTL 串口是一种通用串行接口,一般是三根数据 线:TX 发送数据口,RX 接收数据口和 GND 地线。TTL 电平一般在 5V 及以下, 目前常见的路由器和单片机使用的串口都是采用 TTL 电平的,只有同类电平的控 制器才能进行通信,否则不仅不能通信,而且可能会烧毁电路。除 TTL 串口外, 还有一种称为 RS232 电平的串口,即通用 9 针串口,这种串口在一般的通用台式 机后面都有,其电平不是 TTL 的,所以在调试时不能直接使用这种串口和各种模 块进行通信,必须另加一个 232 转 TTL 的电平转换器。 2.2.3 电机驱动电路电机驱动电路 单片机可以对上位机发送来的指令进行解析,然后通过判断,控制某个引脚 输出高电平或低电平,但是单片机的引脚的输出电流较小,可以用来点亮 LED 灯,但是驱动大功率直流电机就不行了,大电流输出同时也会拉低单片机工作电 压并有可能造成系统宕机,所以大功率电机一般需要配置一块驱动芯片,也就是 说,单片机用引脚电平来控制驱动模块,再由驱动芯片输出大电流给电机,比如, 单片机的引脚 P1.0-P1.3 为控制口,输出电平为 1010 时,驱动模块就输出两路前 进电压,车子就前进,反之,如果输出电平为 0101 时,车子就倒退。 普通的电机驱动芯片均采用桥式大电流驱动,足以满足机器人上电机运转所 需的功率输出,进而成功控制实现机器人前后左右的移动。 2.2.4 上位机系统上位机系统 河海大学本科毕业论文 10 系统中的上位机软件作用为向下位机发送控制命令,该命令可经由 WIFI 无 线信道发送到路由器上,并通过 Ser2net 软件的转换将无线信号转换为单片机可 以识别的串口信号,进而实现上位机与下位机的通信。与此同时,路由器中的 Mjpg-Streamer 软件能够将 USB 摄像头采集的视频画面进行压缩编码并发送回上 位机,上位机通过套接字的方式发送视频请求便可接收到该视频。 上位机的编写要涉及到高级语言编程,通常采用面向对象语言进行编程,例 如 C+语言,C#语言,Python 语言,MATLAB 语言等等,都是不错的面向对象 的开发语言,都可以进行上位机的编写,上位机的编写其实就是通过 TCP/UDP 等通信方式,用 Socket(套接字)连接并把数据发送到路由端,在这里,上位机 需要设置为 Client 模式,路由端是服务器模式,这样就不需要做任何转发操作, 直接连接 WIFI 搜救机器人的路由器 IP 就可以用上位机进行远程操控了。 2.3 整体设计方案的模块化分析整体设计方案的模块化分析 WIFI 搜救机器人系统按功能可分为以下模块:单片机系统模块,路由器模块, 稳压电源模块,电机驱动模块,舵机云台模块,温度传感器模块,烟雾传感器模 块,上位机模块。 2.3.1 单片机系统模块单片机系统模块 单片机最小系统采用增强型 STC89C52 单片机为控制器核心,它的功耗很低, 是 8 位的控制器,且具有 8K 的静态存储空间。STC89C52 沿用了经典的 MCS-51 内核架构,但做了很多有效的改进使得芯片具有了传统 51 单片机所不具备的特 殊功能。因为 STC89C52 拥有较为完善的功能,且程序的编写和烧录都非常便捷, 所以它已经成为大多数嵌入式系统开发中 MCU 的首选方案。 2.3.2 路由器模块路由器模块 WIFI 信号的发生源拟选用 GL-iNet 迷你无线路由器,该路由器拥有 150M 的 无线传输速率,迷你外观,便于安装和携带。采用双网口设计,对有线和无线都 能完美支持。它能够支持通用 USB 接口型的摄像头,进而搭建无线的视频监控 网络,视频可以通过手机及电脑上的 APP 进行访问,简单快捷。它还拥有 64M 内存,8M Flash,支持 OPENWRT 系统刷机,自带刷不死 Uboot,并预留 3 个 UART 串行接口,另预留 5 个 GPIO 接口,能充分满足 DIY 爱好者的需求。其它 接口型号:1 个 WAN 口、1 个 Lan 口、1 个 USB2.0、1 个 MicroUSB(电源接口) 河海大学本科毕业论文 11 ,无线开关/复位按键。完全可以满足作为 WIFI 热点传输视频流数据和上下位机 通信的功能需求29。 2.3.3 稳压电源模块稳压电源模块 搜救机器人自带 7.2V 锂电池,可以直接为机器人小车电机供电,但是单片机 和其它电路模块都是标准 5V 供电的,所以需要将 7.2V 电压稳压到 5V,进而为 单片机和其它单元模块供电。 稳压电源模块采用 LM2940 稳压模块,该模块采用低压差的三端接口设计, 输出电压为 5V;输出电流为 1A;当输出电流为 1A 时,最小输入输出电压差小 于 0.8V;最大输入电压值为 26V;工作温度为-40+125;内置了过电流和欠 电流的保护电路,完全可以对电流进行限制,防止元件损坏,并对电源反接也可 以起到相应的保护作用。使用该稳压模块还具有电路设计简便的特点30-31。 2.3.4 电机驱动模块电机驱动模块 电机驱动模块采用 L298N 驱动芯片,该芯片可以耐受极高的电压,驱动电流 也相当大。 该芯片为 15 脚封装。工作电压高,最大耐压值为 46V;驱动电流也很大, 最大电流能达到 3A,长时工作状态驱动电流均值为 2A,满载功率为 25W。驱动 原理为 H 桥高压大电流桥式电路,能够产生很强的驱动力,可通过该芯片驱动两 台直流电机和一台两相或四相步进电机。与此同时,它还可以驱动继电器等感性 元件。LM298N 的控制非常简单,采用 PWM 调制脉宽波进行平滑调速,控制信 号为逻辑电平信号,包含四个信号输入口,两个使能控制口和两个 OUT 输出口, 使能信号可以禁止或开启驱动芯片的所有输出,此时驱动电流不受控制信号控制, 它也可以外接参考电阻对驱动电路进行电压反馈,从而实现闭环控制32。 2.3.5 舵机云台模块舵机云台模块 舵机云台模块采用辉盛公司的一对 SG90 舵机,云台的水平旋转角度约为 175,垂直旋转角度约为 150,额定工作电压为 DC 4.8V,环境温度在 0+55,舵机反应速度:0.17s/60(4.8V),舵机扭矩为 1.6kg/cm(4.8V),动作死 区为 10us,该型号舵机有三根线,分别为暗灰:GND,红色:VCC 4.8-7.2V 和橙 黄线:PWM 脉冲输入口33。 舵机控制需要在信号线端输入 PWM 脉冲波,根据舵机编程标准,PWM 脉 河海大学本科毕业论文 12 冲的周期应为 20ms,并且高电平时间需要保持在 0.5 到 2.5ms 的范围内,否则舵 机将不能响应,对于驱动舵机在 0到 180间转动。 2.3.6 温度传感器模块温度传感器模块 温度传感器模块选用 DS18B20 的数字温度传感器,该传感器提供 9 至 12 位 (可编程设备温度读数)。DS18B20 整体设计采用单总线架构,写入芯片配置以 及读取温度值均通过一条总线完成,同时,电路电源插口集成在一起,所以直接 插入普通三端插口,就可以为芯片供电,非常方便。 每个 DS18B20 芯片内部都包含一个特定的标识码,所以每个温度传感器都是 独立的,这样设计有一个好处,当多个温度传感器被放置于多个位置时,可通过 其内部这种编码机制,很容易的查询到需要读取温度的传感器 ID 号,于是它们 就可以实现分时复用。它的用途非常广泛,包括搭建大棚环境监控系统,空调内 部的温度检测器等等。但在其使用时需要一个问题:由于其工作采用单总线模式, 每次启动都需要重新设定 ROM,否则芯片记忆功能无法使用。 2.3.7 烟雾传感器模块烟雾传感器模块 本设计中采用的烟雾感测模块为 MQ-2 烟雾传感器,它的主要功能是检测空 气中有害气体,例如甲烷,丁烷,酒精,烟雾等气体的存在,其灵敏度可通过深 蓝色数字电位器进行调节。在以 5V 电压工作之前,至少需要加电预热 2 3 分钟 以上,传感器会稍稍发热,这属于正常现象;传感器另外自带两个输出口,一个 模拟电压输出口 A0,还有一个数字开关量(0 和 1)输出口 D0。该传感器在空 气中检测到不含有以上气体或气体含量浓度低于芯片设定的阀值时,数字量输出 口 D0 保持高电平,模拟量输出口 A0 输出电压维持基准电压 0V,若空气中气体 含量高于设定值,D0 口输出变为低电平,并且 A0 模拟输出口会根据检测到的气 体浓度的大小做相应的变化,反映范围为 0V 到参考电压(一般为 5V),通过将 传感器 A0 口接入 AD 模块便可以将气体浓度值进行量化,得到浓度值转换的数 字量。 2.3.8 上位机模块上位机模块 上位机模块采用 Visual Studio C# 平台设计,编写 CommandEngine.dll 操控引 擎应用程序,集成机器人连接,发送,数据回传等等功能的底层库函数,并留有 用户 API 接口,方便进行二次开发以及在此基础上扩展功能等等。 采用 WinForm 进行窗体设计,主要界面包含 MainFrm 界面和 Config 系统设 河海大学本科毕业论文 13 置界面,在用户主界面中可以调用视频读取函数,读取视频信息,同时调用 SOCKET 连接函数,实现无线网络中主机间的数据发送和接收。 上位机发送的数据通过下位机程序的处理,提取关键控制信息,实现控制机 器人的移动和动作,下位机也可以将传感器采集的数据通过固定数据包发回上位 机,并在上位机上进行显示。 2.4 系统方案论证系统方案论证 2.4.1 主控芯片选择的方案比较主控芯片选择的方案比较 在整个设计方案中,主控芯片是下位机的核心,上位机发送的无线指令都要 通过下位机来实现具体的动作,它就相当于搜救机器人的大脑,对于我们的系统 来说,需要单片机处理的工作主要是三个方面: UART 串口数据的发送和接收,对接收的数据进行解码,并根据码值使机 器人按命令行动。 定时器产生 PWM 方波信号,控制舵机云台转动相应的角度值。 像电机驱动芯片发送高低电平信号和 PWM 波,控制直流电机的转动。 通过 IIC 协议读取 DS18B20 温度传感器的数据值,并通过串口发挥上位机 终端。 方案一: 使用 MSP430F149 单片机,该款单片机具有如下特点:低电压、超低 功耗。工作电压为 3.6V1.8V,正常工作电流为 280A,主频 1MHz,2.2V,待 机模式下电流为 1.6A,RAM 数据保存的掉电模式下电流为 0.1A,采用五级节 电模式;能够快速唤醒,从待机模式下启动,只要不到 6S 时间;并采用 16 位 精简指令集 MCU,命令周期为 125nS;拥有 12 位 ADC,且具有内部参考电压源, 并且具有采样、保持、自动扫描等功能;具有 12 位的模数转换器可以得到更高 的精度, 2 个 16 位计数器;具有捕获和门限功能34。内置双串口,操作简单方 便,并具有自动 PWM 发生装置,可以通过设定寄存器直接获取 PWM 波形输出。 430 单片机功能强大,超低功耗,足够完成系统设计的需求,考虑到成本和 所需功能的问题,采用 430 单片机相对冗余,很多功能用不上,所以放弃该方案。 方案二:使用 STC89S52 单片机作为核心控制芯片。此种方案设计,优点在 河海大学本科毕业论文 14 于 STC 公司的增强型 51 系列单片机,非常的普及化、大众化,并且稳定性也比 传统的 AT 系列 51 单片机高得多。 T0,T1,T2 三个定时器可以满足产生波特率,并作为中断定时装置的需求, 独立的 UART 串口通过 TXD,RXD,GND 三个接口就能和单片机进行通信,再 通过 IO 口模拟时序逻辑电平进行读写,可以很容易的读取温度传感器内部数据 寄存器的数值,进而完成传感器数据的获取。鉴于系统所需实现的功能, STC89S52 单片机拥有 40 个引脚足以满足设计要求,且成本相对较低,所以采取 该方案。 2.4.2 WIFI 无线模块选择的方案比较无线模块选择的方案比较 无线模块是连接上下位机的中转站,上位机通过无线发送的控制命令首先被 WIFI 模块接收,通过转换变成 TTL 串口信号再发送给单片机,它同时需要把摄 像头采集的视频信号进行编码并发送回上位机终端,单片机读取的传感器的数据 也需要通过 WIFI 模块发送回上位机终端。 方案一:使用 ESP8266 型号的 WIFI 无线模块,它的作用好比完整的 WIFI 网络数据传输的解决方案,可以完全自主的运行,不依靠其它设备,也能够客户 端连接到其它主机上工作。该模块具有很强的芯片运算能力和数据存储能力,同 时作为特殊用途,它还可以通过 GPIO 口外接其它传感器,实现消耗最少系统资 源的前提下又能降低开发成本。它的功能非常丰富,控制器内核采用 LWIP 协议, 可支持三种连接模式:AP(无线连接模式),STA 和 AP+STA 模式,模块可以 通过简单的 AT 指令进行设置,因此开发变得方便快捷35。 由于 WIFI 模块具有远程无线传输,信号强,且运行网络协议传输稳定的优 点,常被用于多点局域网的搭建,流水线无线监控,连接网络摄像头和无线定位 系统等领域。 它是一种相对简单高效的 WIFI 模块,但对于系统所要实现的视频传输,串 口通信等功能而言它有点大材小用,使用时需要扩展的模块较多,调试周期可能 较长,难度也相对较大,所以放弃这种方案。 方案二:采用 GL-iNet 无线路由器,该路由器的数据交互速率能够达到 50M/s,且外形小巧轻便,非常易于安装,适用于装载空间有限的地方。双网口 设计,有线和无线连接都能完美支持。支持连接 USB 摄像头做为高清(HD)无线 河海大学本科毕业论文 15 网络监控设备。支持连接 U 盘或 USB 移动硬盘,作为远程下载使用。内置有 DDNS,可为每位用户免费提供独立访问的域名,不需要再额外申请。 GL-iNet 还配置 64M 内存,8M Flash,支持 OPENWRT 系统刷机,自带刷不 死 Uboot 和 Uart 接口,另还预留 5 个 GPIO 接口,完全可以满足用户 DIY 的需求。 鉴于系统需求,视频传输占用内存较大,且稳定性要求较高,采用无线路由器作 为无线信号源和数据传输枢纽将会更好的满足性能指标,同时有利于以后的功能 扩展,所以采用该方案。 2.4.3 电机驱动选择的方案比较电机驱动选择的方案比较 电机是机器人进行移动的动力来源,驱动则是电机的中枢神经,驱动芯片的 选择主要根据电机类型,承受的最大电压,峰值电流等等限制因素,在输入电压 的范围内,电压越高电机的扭力越大和转速越快。 方案一:采用大功率放大电流型驱动芯片 BTS7960 作为电机驱动,BTS7960 是非常稳定的高效驱动器,它内含一个 P 沟道强电势的晶体管,一个 N 沟道低电 势的晶体管以及驱动晶片,使得整个系统成为一个完整的半桥驱动结构。所有三 个芯片需要安装在同一个引线框中,利用芯片对芯片技术。电源开关采用垂直场 效应管技术来确保达到最佳的阻态36。BTS7960 可结合其他的 BTS7960 形成全 桥和三相驱动结构。它带有一个 P 沟道的高边 MOSFET、一个 N 沟道的低边 MOSFET 和一个驱动 IC。通过高度集成的驱动芯片便可进行控制信号输入,电 流采样检测,驱动电流增长曲线斜率调节以及温度,压力,电流过流和短路的保 护等等,BTS7960 通态电阻典型值为 16MQ,驱动电流可达 43A。该款驱动芯片 驱动电流很大,性能卓越,不足之处是价格较贵,实现成本较高,对于本系统设 计,驱动需求并不需要如此高的配置,所以放弃这种方案。 方案二:采用 LM298N 电机驱动,L298N 是稳压桥式驱动芯片,最大电流值为 2A,芯片共有 15 个引脚,芯片内部包含 4 路逻辑电平输入电路。能够轻易的驱 动两台直流电动机,同时也可驱动一台两相或四相步进电机。 L298N 芯片驱动采用标准的 TTL 逻辑电压,电压范围为 4.5V7 V。4 脚 VS 接电源电压,VS 电压范围 VIH 为2.5V46 V。输出电流可达到 2.5 A,可驱动 电感性负载。芯片 1 脚和 15 脚均可外接采样电阻来检测电流,从而获取电流反 馈信号。它能够一次驱动 2 个直流电动机,四个电平输出口处可分别外接电机的 河海大学本科毕业论文 16 正负接线端,例如在本设计使用 LM298N 来驱动两台直流电机。芯片的 5 脚,7 脚,10 脚,12 脚四个引脚分别为信号输入端,通过控制信号的输入便可实现对 电机的控制。ENA,ENB 为接使能端,可控制电机的停转37。 LM298N 性价比较高,芯片输出也比较稳定,驱动电流对于普通小型直流电 机完全够用,鉴于搜救机器人电机的工作电压为 7.2V,驱动电流需求也并非特别 大,选用该款芯片已足够满足设计需要,所以确定选用该方案。 第第 3 3 章章 系统硬件设计系统硬件设计 本章详细的介绍了整个下位机硬件系统的具体设计流程和思路,并附上了各 个模块的设计 PCB 图,交代了各部分的功能作用,为接下来章节的程序编写和调 试做好了准备。 河海大学本科毕业论文 17 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论