仿生水母机器人设计毕业论文.docx_第1页
仿生水母机器人设计毕业论文.docx_第2页
仿生水母机器人设计毕业论文.docx_第3页
仿生水母机器人设计毕业论文.docx_第4页
仿生水母机器人设计毕业论文.docx_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分类号 密级 UDC 本 科 毕 业 论 文仿生水母机器人学生姓名 学号 指导教师 院、系、中心 工程学院机电工程系 专业年级 2011级机械设计制造及其自动化 论文答辩日期 2015年 6 月 4 日 中 国 海 洋 大 学仿生水母机器人 完成日期: 指导教师签字: 答辩小组成员签字: 摘 要 仿生水母机器人摘 要本文在继承和改进Jellyfish G和Jellyfish S水母机器人方案的基础上设计出了Jellyfish B水母机器人方案,它继承了前者的柔性体腔运动系统,同时融合了水下滑翔机的浮力驱动运动方案。它在长距离运动过程中采用浮力驱动方式,在水下纵剖面内实现锯齿滑翔运动,通过控制浮力大小、浮心位置和柔性体腔四个方向上骨架的张角来调节滑翔姿态。其中浮心位置和浮力大小是关联的,而四个骨架的张角可分别独立控制。水下滑翔机这种运动方式是目前水下航行器长距离航行最高效节能的方式。但目前的水下滑翔机的一个普遍弱点是机动性不足,转弯半径较大,不够灵活;而Jellyfish B通过其继承下来的柔性体腔运动系统很好的克服了这一弱点,在小范围类能实现很好的灵活机动。这两种运动方式的结合使得Jellyfish B拥有了既相对节能又不失机动性的运动方式,为长期执行水下观察监测任务提供了保障。另外,Jellyfish B还拥有一套太阳能充电系统,当机器人电能不足时,浮力驱动器就会自动调节到最大浮力位置并利用电动推杆的自锁特性,不耗能地锁定在该位置,使水母机器人以头部朝上的姿态漂浮在水面上,直到获得足够电能,再潜入水中继续工作。关键词:仿生水母机器人;浮力驱动器;柔性体腔运动系统;高效节能IIAbstract Biomimetic Jellyfish Robot AbstractBased on the inheritance and improvement of Jellyfish G and Jellyfish S ,the thesis designed the biomimetic jellyfish robot which is named Jellyfish B . It inherits the flexible body movement of the former system, at the same time combines the underwater glider buoyancy driven movement scheme. It is driven by buoyancy in the process of long distance movement way, within the profile of sawtooth underwater gliding movement, by controlling the size of buoyancy, buoyancy location and flexible body cavity skeleton opening Angle to adjustment in the four directions gliding posture. Buoyancy of the position and size of buoyancy is associated, and four skeleton opening Angle can be controlled individually. Underwater glider this way of sports is the long-distance voyage underwater vehicles high efficiency and energy saving way. But the current of the underwater glider a common weakness is lack of maneuverability, turning radius is bigger, inflexible; Jellyfish B inherited through its flexible body cavity movement overcomes the weakness of the system well in such a small scale to achieve very good flexibility. The combination of the two movements makes Jellyfish B have relative movement way of energy saving and mobility, provides the guarantee for the long-term monitoring underwater observation mission. In addition, Jellyfish B owns a solar charging system, when the robot electricity shortage, buoyancy drive will automatically adjust to the largest buoyancy position and using self-locking feature of electric draw stem, no energy to lock in this position, make jellies to head up the attitude of the floating on the surface of the water, until get enough power, into the water again continue to work.Keywords: Biomimetic Jellyfish Robot ; Buoyancy Drives; Flexible body cavity movement system; High efficiency and energy saving目 录 目 录摘 要IAbstractII1绪论11.1选题背景11.1.1国外研究现状11.1.2国内研究现状31.1.3本文所设计的机器水母的功能概述和创新点51.2本文内容概述62机械结构设计72.1总体设计72.2浮力驱动器的设计72.2.1浮力驱动器概述72.2.2设计条件82.2.3设计过程82.3密封舱的设计92.3.1设计条件 :92.3.2设计过程92.4柔性体腔运动系统的设计92.4.1防水舵机基本参数介绍92.5膜骨架设计103硬件电路设计113.1.1总体设计113.1.2电源板123.1.3电池123.1.4电源变换133.1.5H桥143.1.6检测和保护153.1.7主控电路板163.1.8主控单片机173.1.9传感器173.1.10通信183.1.11摇杆控制器194软件设计204.1总体设计204.2下位机程序214.2.1基础功能的实现214.2.2数据的收和发送224.2.3舵机控制244.2.4电机控制254.2.5数据采集264.3上位机程序274.3.1Qt介绍274.3.2上位机界面介绍274.3.3WIFI数据的接收和发送284.3.4摄像头视频的接收284.3.5蓝牙数据的接收295总结与致谢30参考文献31附录32水母仿生机器人1 绪论1.1 选题背景海洋中蕴藏着丰富的矿产资源、生物资源和能源。占地球表面积49的海洋是国际海底区域,该区域内的资源不属于任何国家,而属于全人类。如今,海洋已成为国际上战略竞争的焦点,也是高技术研究的重要领域。水下机器人作为人类探索海洋的重要的工具之一,被人们普遍的关注,在人类进军海洋的征程中起着至关重要的作用,发展水下机器人的意义是重要且深远的。水母仿生机器人作为仿生机器人和水下机器人两大科研热点的结合,具有较高的科研价值和广阔的应用前景。目前,全世界的水母机器人可分为两大类,一类依靠高分子智能材料、形状记忆合金等“人造肌肉”驱动,另一类依靠电机和传统机构驱动。1.1.1 国外研究现状国外水母机器人的研究以德国费斯通公司和美国弗吉尼亚理工学院为代表。德国费斯通公司研制的AquaJelly机器水母如图1-1所示,它的身体是一个用激光烧结而成的球形密封舱。图1-1 AquaJelly水母机器人图1-2 RoboJelly水母机器人它的8根触须的结构依据鱼鳍设计。根据“鳍条效应”,每根触须有一根软硬适度的“主骨”,骨外面连着柔性的表面,表面分成两个腔,压力可以分别调整,使整个触须向某个方向弯曲。每根触须的顶端都有小鳍,受触须带动,小鳍像鱼尾那样划水,推动机器人水母前进。当机器水母需要改变方向时,一个由伺服马达驱动的斜盘便会转动相应的角度,改变水母的重心,使之倾斜,从而改变水母的游动方向。美国弗吉尼亚理工学院的科研人员研制的名为RoboJelly的水母机器人如图1-2所示,它的材质为碳纳米管和智能材料。它的外观和运动方式与真水母非常接近。RoboJelly可以像真正的水母一样在水里游动。目前还处于初级阶段,这种机器人最终将可应用于水下营救作业。图1-3 Cyro 水母机器人RoboJelly无需使用外部电源或者更换电池进行驱动,其以氢作为燃料,从理论上讲,它的能量将取之不尽用之不竭,完全自给自足。水中的氧和氢以及表面的铂之间的化学反应所产生的热量,将传递到机械水母的“人造肌肉”上,使其达到伸缩变形的目的。如图1-3所示,美国弗吉尼亚理工学院肖申克普利亚团队研发了一款仿生水母机器人。这台代号为“Cyro”的机器人全长约5.58英尺,净重170磅,其具体仿制对象是霞水母(Cyanea),其原型机是RoboJelly机器水母。它的内部有一个碗状刚性支架,刚性支架上安装了直流电动机,可以控制刚性支架外部包裹的人造硅胶层进行有规律摆动,以此来产生动力,其运动方式与真正的水母很相似。此外,机器人内部的直流电动机以及信息处理系统由安装在刚性支架上的镍氢电池来驱动,可以收集、分析、处理以及传送所感应到的数据信息。1.1.2 国内研究现状便近几年国内也开始出现仿生机器水母的研究热潮。主要参与者有科研院所和高等院校两大群体。图1-4 基于多连杆机构的仿生机器水母中国科学院自动化研究所的肖俊东和喻俊志研制出了一款基于多连杆机构的仿生机器水母如图1-4所示。该机器人由一个刚性的流线型头部密封舱和4组对称布置的六连杆传动机构组成。头部密封舱里安装有重心调节装置、电源模块、控制模块、通信模块和舵机。执行机构杆上粘有弹性橡胶膜,能随着执行杆的摆动形成一个容积随之变化的弹性腔体,有节律地喷射出水流,推动水母机器人游动。通过控制该水母机器人4组六连杆机构的运动和重心调节机构,实现其在水中的前进和转向。水母机器人的壳体采用ABS塑料制成,其他非受力部件采用硬铝合金加工而成,受力部件采用40Cr合金钢加工而成;静连接密封采用O型橡胶密封圈,动密封采用内包骨架唇形密封圈。图1-5 哈尔滨工程大学水母机器人我国各高等院校的机器水母作品已经在全国各类竞赛中崭露头角,其中比较有代表性的是哈尔滨工程大学和中国海洋大学的作品。 哈尔滨工程大学学生研制出了“仿生水母式水下机器人” 如图1-5所示,在黑龙江省第二届“知识产权杯”高校发明创新竞赛中首次亮相。该机器人由三个舱段组成,分别是位于头部的压载水舱,中部的摄像头舱及后舱段的动力推进系统。头部的压载水舱用于控制机器人的浮态,中部的摄像头用于水下观测,后部的动力推进舱内安装有控制器、舵机、蓄电池和大扭矩低转速电机。中国海洋大学学生研制出了Jellyfish G和Jellyfish S两款机器水母如图1-6所示,分别在2014年国际水中机器人大赛和第三届全国海洋航行器设计与制作大赛首次亮相。Jellyfish G拥有小巧的外形,密封舱体为半球形,运动部分由8根刚性骨架连接弹性硅胶薄膜构成。8根骨架分为4组,每组由一个减速电机提供动力。通过尼龙材质的圆柱直齿轮冠齿轮机构实现正交轴传动,再通过柔性尼龙轴实现互成45角的两相邻骨架的同步摆动。通过控制4组骨架的同步运动或某一组单独运动,理论上可以实现水母机器人的前进和转向。这个设计的优点是方案简单,成本低廉;缺点是传递的扭矩小,尼龙齿轮易磨损,开式的传动设计不可靠,易发生故障。Jellyfish S是前者的改进型,它使用了8个伺服舵机独立控制8根刚性骨架,使机器水母的运动性能明显改善,游动起来十分有力。内部的大容量铅酸蓄电池作为一个大惯量的转子,利用陀螺的定轴性,在匀速旋转时能有效稳定水母机器人的姿态,抵抗外界扰动;在加速或减速旋转是又能使水母机器人发生明显的自旋姿态角变化,增加了其运动自由度。其半球外壳内装有一个球幕全彩led显示屏,能发出绚丽的光芒,也能显示出丰富的信息。但这个设计也存在一些缺点:一是结构复杂,组装和维护非常困难;二是结构设计不合理,重量集中在头部,且各部件位置相对固定,难以有效调整质量分布;三是自身重达18公斤,运动惯性大,且没有浮力调节功能,对水密度变化适应性较差。(a) Jellyfish G(b) Jellyfish S图1-6 中国海洋大学水母机器人1.1.3本文所设计的机器水母的功能概述和创新点图1-7 HZ_0613型防水舵机本文所设计的机器水母继承并改进了上文所述Jellyfish S的柔性体腔运动系统,同时融合了水下滑翔机的浮力驱动运动方案,因此命名为Jellyfish B。它在长距离运动过程中采用浮力驱动方式,在水下纵剖面内实现锯齿滑翔运动,通过控制浮力大小、浮心位置和柔性体腔四个方向上骨架的张角来调节滑翔姿态。其中浮心位置和浮力大小是关联的,而四个骨架的张角可分别独立控制。水下滑翔机这种运动方式是目前水下航行器长距离航行最高效节能的方式。但目前的水下滑翔机的一个普遍弱点是机动性不足,转弯半径较大,不够灵活;而Jellyfish B通过其继承下来的柔性体腔运动系统很好的克服了这一弱点,在小范围类能实现很好的灵活机动。如图1-7所示,Jellyfish B的柔性体腔运动系统设计采用HZ_0613型防水舵机为其提供动力,如图1-7所示,它能耐150米水压且工作性能稳定,拆装更换方便。图1-7 CH_6090_D型防水舵机这两种运动方式的结合使得Jellyfish B拥有了既相对节能又不失机动性的运动方式,为长期执行水下观察监测任务提供了保障。另外,Jellyfish B还拥有一套太阳能充电系统,当机器人电能不足时,浮力驱动器就会自动调节到最大浮力位置并利用电动推杆的自锁特性,不耗能地锁定在该位置,使水母机器人以头部朝上的姿态漂浮在水面上,直到获得足够电能,再潜入水中继续工作。1.2 本文内容概述仿生水下机器人和水下滑翔机的运动控制理论较常规水下机器人更为复杂,由于笔者知识水平和能力有限,故本文仅设计仿生水母机器人基本的简单运动控制,不做仿生水母机器人的水动力学建模及水中运动状态下的受力分析。本文的设计目标是:1、仿生水母机器人工作在极限水深时密封壳体不泄露,不损坏,且浮力驱动器能正常运作;2、当柔性体腔推进系统的伺服舵机输出最大扭矩时,传动链上的每个零件都在强度极限之内,且较充足的裕量。3、浮力驱动器和柔性体腔运动系统能有效改变仿生水母机器人的运动状态和运动姿态。4、设计一套用于测试该仿生水母机器人各项性能指标的电路和控制系统。本文拟设计一种能在20米以内水下长时间工作的仿生水母机器人,可搭载摄像头或其他水下传感器进行观测。本文将重点论述以下三部分:1、机械结构设计;2、硬件电路设计;3、软件设计。2 机械结构设计2.1 总体设计水母机器人Jellyfish B的总体外形如图2-1所示。Jellyfish B的结构主要由密封舱、浮力驱动器和柔性体腔运动系统构成。定义沿水母机器人轴线由其尾部指向其头部的向量为水母机器人的空间特征向量a。它与水平面所成的夹角为水母机器人的运动姿态角。它在水平面上的投影a与正北方向的夹角为水母机器人的运动方向角。图2-1 Jellyfish B外形效果图密封舱是亚克力材质的薄壁圆筒,内部装有机器人的控制系统、电力系统和摄像头等其他附加功能模块。浮力驱动器由电动推杆和弹性伸缩囊组成。其中电动推杆位于密封舱体内,行程100mm,自带限位开关和行程位置反馈;弹性伸缩囊位于水母机器人的头部,其内部与密封舱相连通,它与电动推杆的杆顶相连接,其体积可通过电动推杆来调节。2.2 浮力驱动器的设计2.2.1 浮力驱动器概述浮力驱动是一种高效节能的水下运动方式,它一般通过改变排水体积从而改变浮力大小来实现。当浮力大于重力时,航行器上浮;当浮力小于重力时,航行器下潜;当浮力接近重力是,航行器处于近似悬浮状态。水下滑翔机就是浮力驱动运用最典型的例子,配合相应的姿态控制。水下滑翔机能以极低的能耗,在水下做长距离的滑翔运动。本设计借鉴了水下滑翔机的这一特点,并将其与水母机器人的结构特点相融合。深海滑翔机一般通过液压伺服系统给舱外油囊充油来调节浮力,由于本方案水母机器人的工作深度仅为20米,水压较小。因此本方案采用电动推杆直接带动弹性伸缩囊的方式来改变浮力大小。由于弹性伸缩囊的变化体积占总排水体积的比重很大,因此浮力调节的过程中,浮心位置也有较明显的变化。通过设计合理的结构,将这两者的变化正向关联起来,就实现了浮力大小和运动姿态的同步调整。2.2.2 设计条件最大工作水深h=20m弹性伸缩囊直径:d=100mm弹性伸缩囊长度:50mm至150mm,结构耐压:50m。电动推杆推力F_0=2000N2.2.3 设计过程如图2-1所示,浮力驱动器由电动推杆驱动弹性伸缩囊做往复伸缩运动构成。动推杆底部固定在密封舱体结构上,推杆顶部与弹性伸缩囊相连接。弹性伸缩囊外部壳体为保护罩,其与弹性伸缩囊之间的空间为透水舱。设最大工作水深下压强为Pm,取=1000kg/m3,g=10m/s2 则:Pm=gh=0.2MPa设最大工作水深下推动弹性伸缩囊所需的推力为Fm,则:Fm=PmS其中S为压力作用面积,S=d24,代入解得:Fm=1570.8NF0因此电动推杆可以驱动弹性伸缩囊在最大工作水深下正常工作。电动推杆行程L应该小于或等于弹性伸缩囊的长度变化范围,即: LL因此取L=L=100mm。2.3 密封舱的设计2.3.1 设计条件 :图2-2 电动推杆尺寸2.3.2 设计过程密封舱整体为薄壁圆柱形,透明亚克力材质。它的上端与弹性伸缩囊的根部相连接,下端与一个圆形密封端盖相连接。端盖采用O型圈密封方式与密封舱端面实现密封,端盖上有若干5个水密插座,其中4个为水下舵机接口,另一个为充电、调试、下载、天线多功能接口。密封舱内部需容纳电动推杆,且电动推杆的轴线与圆柱形密封舱的轴线重合。因此密封舱的最小内部直径d=120mm,选取密封舱的壁厚为5mm,则密封舱的外径D=130mm。考虑到整体外观比例,密封舱的长度要比电动推杆略长,因此取密封舱长度L=250mm。2.4 柔性体腔运动系统的设计2.4.1 防水舵机基本参数介绍产品型号:CH_6090_D产品重量:160g死区设定:4微秒最大角度行程:60工作扭距:70 Kgfcm.at6.0v75 Kgfcm.at7.2v速度:0.18sec/12at6v0.16sec/12at7.2v空载电流:500MA工作电压:4.8-7.2V2.5 膜骨架设计如图2-3所示,每一个水下舵机分别独立驱动一个摆臂,4个摆臂在一个环状支架上绕机器人轴线均匀对称分部。每个摆臂上有两个互成45度的刚性骨架,骨架间覆有厚度为0.1mm的柔性硅胶膜,相邻两摆臂间的骨架上不覆膜,摆臂的摆动角度行程为60,依靠张紧的硅胶膜推水。摆臂选用8mm厚度的透明亚克力板材通过激光切割成型,其形状和尺寸比例仿照水母轮廓曲线。厚度方向上使用电钻打孔,并攻M4螺纹,硅胶模盖板上相应位置加工4通孔。图2-33 硬件电路设计3.1.1 总体设计整体硬件电路如Error! Reference source not found.所示,总共分成三个部分,左边为控制板,右边为电源板,控制器是为了方便控制水母运动而增加的额外器件,与另外两部分没有直接联系。图31 硬件电路总体结构图电源板为整个系统供电,主要实现以下三个功能:1) 负责为系统提供需要的电平电源变换,其中控制板需要5V电平,舵机需要7V电平,电机直接使用电池电平;2) 提供总电流检测,电池电压检测,电池过流保护,舵机和电机电流检测以及舵机和电机过流保护;3) 将控制板的控制线路和舵机及电机电源整合,提供舵机和电机接入接口。控制板以主控机为核心,实现以下四个主要功能:1) 舵机和电机的控制;2) 传感器数据的采集,包括温湿度数据,深度传感器数据,电源板的电压电流数据,姿态角数据等;3) 与上位机通信,接收上位机的控制命令,将传感器数据发送给上位机;4) 数据存储。电源板和控制板存在交互,电源板给控制板供电,电源板的电流电压信息通过排线传递给控制板,控制板的控制信息通过排线传递到电源板。实现控制板和电源板的分离,可以减弱两者的耦合关系,出现问题时调试方便,也利于功能的扩展。为了更好的控制水母机器人运动,水母机器人的电子系统增加了基于电位器摇杆的控制器,但此部分与控制板和电源板没有直接联系,控制器的内容将在后面进行介绍。3.1.2 电源板电源板详细结构如图12所示,电池接口接入电池,电源主要分成三条支路,一路是电机电源,一路是舵机电源,一路是控制板电源。电机电源没有经过电平变换,直接使用电池的电平作为输入,电机接口电源由控制接口线路通过H桥控制其通断。电池电平经DC-DC电平变换后得到7V电平,为舵机供电电源,舵机电源和控制接口线路合并为舵机提供接入接口。控制板电源由电池电平先经过DC-DC7V电平转换,再经5V稳压所得,为控制板供电。总电源、舵机电源和电机电源都有保险丝保护,控制板电源DC-DC变换芯片有过流保护。图32 电源板结构3.1.3 电池目前市面上主要使用三种电池,分别是锂电池,镍氢电池,铅酸电池。其中锂电池能量密度最大,相同容量的电池,锂电池可以做的很小,但是考虑到锂电池的不安全性,水下航行器中很少看到锂电池的使用,另外锂电池成本是几种电池中最高的,不推荐使用。镍氢电池相比锂电池,安全性高,寿命长,成本低,并且还有大功率冲放的优势,水下航行器多使用这种电池,但是镍氢电池能量密度相对较低,且每节电池只有1.2V,如果需要比较高的电平,将需要很多节锂电池拼接。铅酸蓄电池与其它电源相比具有技术成熟、安全性高、循环再生利用率高、适用温带宽、电压稳定、组合一致性好及价格低廉等优势,缺点是比较笨重。考虑水母机器人中正好需要比较大的配重,因此选择一个12V,容量36Ah,重7.1Kg的铅酸电池作为整个系统的供电来源,同时电池作为转子在内部运动时,利于保持水母机器人本体姿态的稳定。3.1.4 电源变换电源板有两路DC-DC电平变换,一是舵机电源的电平变换,另外一路是控制板供电的电平变换。舵机电源的电平变换使用了开关电源芯片XL4016,此芯片内部集成了震荡电路,反馈电路,功率MOS管,最大可以通过8A的电流,最高转换效率可以达到93%,满足系统应用需求。XL4016为标准TO220-5L封装,集成度高,外围器件少,应用灵活,其电平变换电路如图13所示,其中FB引脚为反馈引脚,输出电压依反馈电压决定,计算公式为,其中Vout为输出电压。选择图13中D3二极管时需要选择大电流的肖特基二极管,这里选择的是STPS2045,可以通过20A电流。同时为了减少输出的文波,输出电容采用三个470uF电解电容和一个100nf陶瓷电容并联。另外当Duoji_En为高电平(大于3.3V时)时,芯片停止电平转换即关闭功率MOS管,单片机可以通过这种方式控制舵机电源通断。 图33 XL4016电平变换电路控制板电源需要5V电平,对电源质量要求高,要求纹波比较小。电池电压为12V,如果直接使用线性电源芯片如7805,将有7V的压降消耗在稳压器上,一方面造成电池电量的浪费,另一方面会导致稳压器发热,因此不直接使用线性稳压器进行电平变换,而是采用开关电源变换加线性电源变换方案进行DC-DC变换。先使用开关电源芯片将电平变换到7V左右,再使用线性电源芯片进行电平变换,开关电源芯片采用MP1584,稳压芯片采用7805,其中MP1584最大可提供3A的电流,配上简单的外围电路即可实现电平转换,变换电路如图14所示,原理基本同XL4016,只是输出电流最大只有3A,相应的外围器件要求减小,另外此芯片还提供了过流保护功能,过流芯片自动停止变换,直到故障排除。MP1584输出电压计算公式如公式(2-1),图14中二极管D5使用的是SS34,最大电流为3A。 图34 MP1584电平变换电路线性电源稳压器如图15所示,为了让输出更稳定,输入电容和输出电容可以取值大一点。图35 7805稳压电路3.1.5 H桥H桥的作用是通过控制电源的通断来控制电机是否工作,单片机通过H桥可以实现电机调速或者位置控制。H桥原理如图16所示,四个开关管组成四个桥臂,当S1和S4开启而S2和S4关闭时,电机正转,当S1和S4关闭而S2和S4开启时,电机反转,四个开关管都关闭时电机不转。图36 H桥原理大功率的电机需要大功率的H桥,而大功率的H桥一般需要独立的功率MOS管及MOS管驱动芯片构成,为了降低系统复杂性,这里直接使用芯片BTS7970,最大可通过68A的电流。BTS7970是一个半桥芯片,相当于左边或右边的桥臂,此芯片控制电平兼容TTL电平,可以直接使用单片机IO引脚控制桥臂的通断。H桥电路如图17所示,Motor_En控制H桥通断,Motor_PWM1和Motor_PWM2控制电机的正反转。图37 BTS7970 H桥电路3.1.6 检测和保护在系统工作时,总电源,舵机电源,电机电源需要被过流保护,对应的也需要对其进行电流检测。而控制板开关电源芯片本身具有过流保护功能,因此可以不需要电流保护。电源板总共输出四路检测数据,分别为总电流数据,舵机总电流数据,电机电流数据及电池电压(可以通过电压计算电量)。其中电流检测采用电流检测芯片ACS712,此芯片提供多个电流版本,内部采用霍尔传感器检测,输出电压直接对应电流值的大小,当电流为0时,输出为2.5V。电源总电流检测使用的是20A版本,舵机电流和电机电流使用的是5A的版本,典型应用电路如图18所示。电池电压检测使用基准电源芯片MC1403提供2.5V基准源,电池电压经电阻分压后的电压和2.5基准源电压通过LM358差分放大电路输出单片机可以采集的电压,电路如图19所示。图38 ACS712电流检测电路图39 电池电压检测电路3.1.7 主控电路板控制板详细结构如图110所示,通过控制接口和电流电压检测接口与电源板通信,主控机的AD除了采集电流电压数据以外,还单独引出两路供扩展时使用,比如深度传感器,位置传感器等。温湿度传感器使用DHT22,该传感器为数字传感器可以直接使用IO口读取数据。AHRS姿态角模块通过UART口输出数据,单片机使用UART口接收姿态角数据。WiFi模块和单片机之间也使用UART通信,而摄像头为USB摄像头,直接通过WIFi传送到上位机,不需要单片机参与运算。存储有TF卡和E2PROM可以选择,当需要存储大量数据时可以使用TF卡,存储参数时,可以使用E2PROM。除此之外,单片机还引出一些IO口,可以实现功能扩展。图310 控制板结构3.1.8 主控单片机主控机使用的是STM32F103VET6,此单片机为ARM Cortex-M3内核,最高主频为72M,有100个引脚,外设丰富,具有三个12位AD,18个AD通道,可以采集更多传感器数据,还具有5个UART,2个I2C,2个SPI,利于模块化设计,SDIO直接驱动SD卡。另外此单片机提供底层库,不需要深入了解寄存器就可以编写程序,可以实现工程的快速开发,此单片机还具有性价比高,资料齐全等优点。3.1.9 传感器水母机器人本体搭载的传感器分为两类,一类是数字传感器,有AHRS姿态角模块、DHT22温湿度传感器,直接输出数字信号。另外一类是模拟传感器如深度传感器,电流检测ACS712等。模拟传感器在采集时需要进行一定的滤波,而数字传感器可以直接使用通信外设进行读取,这里主要介绍DHT22温湿度传感器和AHRS姿态角模块。DHT22实物如图111所示,与单片机的连接如图112所示,单片机只需要1个IO引脚即可实现温湿度数据的读取。图311 DHT22图312 DHT22与单片机连接示意AHRS姿态角模块外形如图113所示,外形小巧,只有一元硬币大小,使用UART口输出,单片机可通过UART口接收AHRS姿态角模块输出的姿态数据。图313 AHRS姿态角模块3.1.10 通信水母本体和上位机通过WiFi传输数据。对单片机来说,WiFi模块相当于一个UART设备,需要往上位机发送数据,只需要通过串口发送出去,而上位机发送的数据也是通过UART接收,单片机只需要对发送的数据进行编码,而对接收到的数据进行解码。这样的设计可实现数据传输方式模块化,使用方便,利于扩展。另外WiFi模块还可以外接USB摄像头,直接传输摄像头视频,摄像头数据不经单片机处理,直接通过WiFi发送到上位机显示。3.1.11 摇杆控制器为了很好的实现对水母本体的控制,水母机器人电子系统中增加了一个基于电位器摇杆的控制器,控制器的制作比较简单,内部结构如图114所示。其中每个摇杆总共输出三路电压值,分别对应上下偏移,左右偏移,旋转大小,单片机使用AD对电压值进行采集。单片机将采集到的数据转换成标准值0-100,通过串口将信息发送到蓝牙模块,而蓝牙将信息再发送给上位机。摇杆信息交由上位机处理,实物图片如图115所示。图314 摇杆内部结构图315 摇杆控制器实物图片4 软件设计4.1 总体设计整体软件结构如图21所示,分成五个部分,分别为下位机软件,WiFi模块软件,摄像头软件,上位机软件,控制器软件,其中上位机软件运行在个人PC中。WiFi模块使用的成品模块,内部运行openWrt操作系统,运行ser2net服务和MJPEG服务,其中ser2net服务可以实现网络和UART数据的转换,即网络收到的数据通过串口发出,在串口接收到的数据通过网络发出,通过这个服务可以实现单片机和上位机通过WiFi交换数据。MJPEG服务可以将接收的MJPEG图像通过网络发送给网络上的客户端,所以这里需要选择输出为MJPEG图像的摄像头,即摄像头已经实现图像MJPEG压缩。软件结构图中只需要实现上位机软件和下位机软件。图41 整体软件结构图下位机程序主要实现功能如下:1) 数据的发送和接收,包括编码和解码;2) 传感器数据采集;3) 数据存储;4) 舵机和电机控制;5) 对传感器采集数据的处理和控制信息的的处理。上位机程序主要实现以下功能:1) 数据的发送和接收,主要是编码和解码;2) 数据处理,包括上位机的串口数据,控制器的数据,摄像头的数据;3) (2)中数据的显示;4) 对上位机交互事件的处理;5) UI界面的生成。4.2 下位机程序下位机程序的层级关系如Error! Reference source not found.所示,其中STM32底层库主要实现对寄存器操作的函数封装,使用底层库时无需关心具体往寄存器写入什么值,只需要将宏定义或者枚举类型和结构体作为函数的输入参数即可实现对寄存器的配置,STM32底层库由STM公司提供。图42 上位机程序层级关系器件驱动在底层库的基础上实现,有两方面的内容,一是使用底层库实现对单片机外设的配置,二是实现器件的驱动逻辑,比如WiFi通信的驱动,配置串口相应时钟、波特率、使用引脚、是否使能等操作属于外设配置,而实现数据发送和接收的编码和解码,就是WiFi驱动的驱动逻辑。最高层为主函数和中断处理,在功能上模拟操作系统任务调度逻辑,各个任务模块独立运行,又让优先级高的任务优先执行,如舵机和电机控制任务优先级高,而传感器数据发送到上位机的任务优先级低,因此控制任务可以中断数据发送任务。下位机程序主要是舵机和电机控制程序,数据采集程序,数据接收和发送程序三方面的内容,下面主要是围绕这三方面作介绍。4.2.1 基础功能的实现下位机基础功能是实现数据的发送和接收,舵机和电机的控制,实现内容如下:1) 配置外设,实现PWM的产生,UART数据的接收和发送,定时中断;2) 对接收的数据进行解码,发送的数据进行编码;3) 定义变量存储舵机和电机的控制数据4) 定时器中断中根据控制数据改变控制引脚的PWM值舵机和电机控制数据存储结构定义如程序清单2.1所示,对接收到的数据进行解码后可得到舵机各个方向上的PWM占空比和电机转速的占空比。定时器中断处理时,根据这些值定时改变控制引脚的PWM值。程序清单4.1 舵机和电机控制数据存储变量定义/* 舵机和电机控制数据定义 */vu8 Engine_upData=50;/* 上面舵机的PWM占比 */vu8 Engine_downData=50;/* 下面舵机的PWM占比 */vu8 Engine_leftData=50;/* 左边舵机的PWM占比 */vu8 Engine_rightData=50;/* 右边舵机的PWM占比 */vu8 Engine_9Data=50;/* 电机的PWM占比 */4.2.2 数据的收和发送下位机和上位机通信编码结构如图23所示,通信以数据帧为单位,有帧头、帧尾、帧长度、帧描述、数据和校验和组成。其中帧头由两个字节构成,固定为0xA5和0x5A。数据帧的长度为一个字节,表示这一帧数据后面还有多少数据,所以每一帧最大的数据长度为255个字节。帧描述字节表示这个这帧数据的作用,校验和字节表示为从帧长度开始到校验和前面一个数据的求和。图43 通信数据编码结构编码程序需要做三部分的工作:1) 将需要发送的数据复制数据帧内存结构中;2) 根据发送的内容,填充数据帧描述字节;3) 对要发送的数据进行求和计算,填充校验和字节。数据接收流程图如图24所示,对接收到的每个数据都进行流程图所展示的判断,具体代码参考程序清单2.2。当提取到一帧完整的数据时,可根据帧描述字节进行数据的提取,帧描述定义见附录所示。图44 数据接收流程图程序清单4.2 WiFi通信数据的接收/*函数名称:wifi_ReceiveHandle(u8 data)描 述:WiFi模块接收数据处理输入参数:收到的8位数据输 出:无*/void wifi_ReceiveHandle(u8 data)if(data=0xa5) wifi_RC_Flag|=wifi_head_flag; wifi_receive_bufferwifi_wr_index+=data; else if(data=0x5a) if(wifi_RC_Flag&wifi_head_flag) wifi_wr_index=0;wifi_RC_Flag&=wifi_over_flag; elsewifi_receive_bufferwifi_wr_index+=data; wifi_RC_Flag&=wifi_head_flag;elsewifi_receive_bufferwifi_wr_index+=data; wifi_RC_Flag&=wifi_head_flag; if(wifi_wr_index=wifi_receive_buffer0) wifi_RC_Flag|=wifi_over_flag; wifi_Rec_checkCompleted(); if(wifi_wr_index=WIFI_BUFFER_SIZE)wifi_wr_index-;4.2.3 舵机控制在定时器中断处理中,定时改变舵机控制引脚的PWM就可以控制舵机运动。简单的模式中,直接根据上位机发送的控制数据改变各个方向舵机控制引脚的PWM即可,如图25舵机运动示意所示,有四个方向的舵机,分别为上、下、左、右四个方向。默认方向是固定的,即上方向固定为1号舵机。上位机发送的控制数据分别为各个方向舵机的执行角度,普通模式时直接将角度转换成对应PWM占空比即可。开启AHRS模式后,下位机会根据姿态角自动自动判断各个方向舵机号,从而控制对应的舵机运动。图45 舵机运动简单示意图4.2.4 电机控制参照图45所示,舵机可以调整俯仰和偏航角,但是不能改变横滚角,即不能实现自身的旋转,因此在内部加了一个具有大惯量的转子,转子旋转时产生的切向加速度实现水母自身的旋转。控制内部转子旋转比较简单,只要将上位机的电机控制数据转换成对应的PWM即可。但是这里需要注意转子是一个大惯量转子,起动和停止都对系统干扰特别大,切容易造成电机损坏,所以在电机起动和停止时需要实现平滑起动和平滑停止。程序处理为在收到开启电机命令时,使用定时器缓慢的改变PWM值直到到达指定PWM值,当接收到停止命令时,缓慢较小PWM直到PWM减小为0;4.2.5 数据采集数据采集分成两部分,一是对模拟信号进行模数转换,二是直接获取数字信息。使用STM32进行模数转换时使用AD和DMA配合,AD模数转换不需要CPU参与。在内存中开辟一个二维数组,内存结构如图26所示。开启AD和DMA工作,AD和DMA都工作在连续转换模式,DMA的传送长度设为二维数组的大小,AD每做完一个通道的模数转换,DMA就将数据放到内存中。第一次转换完成所有通道,有了一组各个通道的数据,第二次有了两组通道数据,直到最后DMA做完一全部数据的传送。这样每个通道都有五组数据,CPU可以直接使用每个通道的5组数据做平均值滤波。图46 AD模数转换二维数组结构AHRS姿态角模块直接通过UART发送数据,使用STM32单片机的UART接收姿态角数据,数据编码同WiFi传输数据使用相同的编码结构,这里不再赘述。DHT22只需要一个IO口就可以读取温湿度信息,读取时序如图27所示。单片机发送一次开始信号后, DHT22从低功耗模式转换到高速模式,等待开始信号结束后, DHT22发送响应信号,送出40bit的数据,并触发一次信号采集。空闲时总线为高电平,通讯开始时单片机拉低总线110ms后释放总线,延时20-40us后单片机开始检测DHT22的响应信号。DHT22的响应信号是一个80us左右的低电平,随后DHT22在拉高总线80us左右代表即将进入数据传送。 图47 DHT22读写时序4.3 上位机程序上位机程序运行在个人PC上,程序结构如图28所示,主要实现四方面的内容:1) 与下位机数据交换;2) 接收并显示摄像头视频;3) 接收和处理摇杆控制器数据;4) 响应UI事件。图48 上位机程序结构4.3.1 Qt介绍Qt是一个跨平台C+图形用户界面应用程序开发框

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论