灭火机器人课程设计报告_第1页
灭火机器人课程设计报告_第2页
灭火机器人课程设计报告_第3页
灭火机器人课程设计报告_第4页
灭火机器人课程设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、处京理xxf智能机器人课程设计设计题目:灭火智能机器人的设计和实现目录第 1 章 机器人系统总体方案设计 3.1.1 设计目标 3.1.2 机器人功能设计及指标要求 3.1.3 机器人系统总体结构设计 4.第 2 章 机器人系统硬件详细方案设计 5.2.1 传感器选型 5.2.1.1 超声波测距传感器 5.2.1.2 红外避障传感器 5.2.1.3 火焰传感器 5.2.2 机器人系统硬件连接图 6.2.2.1 STM32单片机最小系统 .6.2.2.2 电源模块 7.2.2.3 红外避障传感器 7.2.2.4 超声波测距传感器 8.2.2.5 火焰传感器 8.2.2.6 电机驱动模块 8.第3

2、章 机器人系统软件详细方案设计 9.3.1 主函数 9.3.2 超声波测距程序 1.03.3 红外避障引脚设置程序 1.23.4 电机驱动程序 1.2.3.5 火焰检测程序 1.2.第 4 章 机器人系统开发调试步骤 1.34.1 传感器选型和引脚分配 1.34.2 传感器独立测试 1.34.2.1 超声波测距传感器测试 1.34.2.2 红外避障传感器测试 1.34.2.3 火焰传感器测试 1.34.3 电机独立测试 1.4.4.4 综合测试 1.4.第 5 章 实验中遇到的故障及解决方法 1.5第6章 收获与体会 1.6.第1章机器人系统总体方案设计1.1设计目标本次课程设计的目标是:在一

3、辆两驱智能小车的基础上,搭载各种传感器,设计出一款具有自动避障和搜寻火点功能的智能机器人, 可以完成简易的灭火功 能。设定的实验环境为带有隔板障碍的 4*4方格迷宫,如图1-1所示。起火点随 机放置在其中一个方格中。机器人需要从起点开始搜寻火点, 躲避障碍,最终靠图1-1机器人灭火场地布局图本课设旨在通过一类典型智能机器人的设计、 调试,掌握各环节和整个智能 机器人系统的调试步骤与方法,加强基本技能训练,培养灵活运用所学理论解决 控制系统中各种实际问题的能力。1.2机器人功能设计及指标要求该智能机器人系统的主要功能包括:可以检测周围环境并发现障碍;可以灵 活前后行进、停止和转向;可以根据障碍位

4、置做出避障决策;可以准确搜寻到火 焰位置并在火焰面前停止并进行灭火等。由于实验环境设定为方格迷宫,所以机 器人的路径规划可以转化为迷宫的遍历问题, 而且转向角度简化为90和180 的组合问题。整个搜寻过程中,小车尽量不碰撞到障碍物和墙壁,且从出发到找到火点的 时间应在3分钟内。在成功灭火后可以继续进行其他火源的搜寻, 即可以连续完 成多点灭火。1.3机器人系统总体结构设计本智能机器人系统的结构分为控制器 (STM32单片机)、超声波测距传感器、红外避障传感器、火焰传感器、电源模块、电机驱动模块及直流电机等模块,总 体结构框图见图1-2。图1-2总体系统框图控制器采用STM32单片机,负责传感器

5、数据的采集和电机等执行元件的控 制,同时进行避障决策,对小车的运行方式和运行轨迹给出整体规划。超声波测距传感器和红外避障传感器相互协调,负责小车周围障碍物的探 知。主要负责探测小车的前、左、右三个方向是否有挡板遮挡,以及对小车的路 径偏移进行纠正。火焰传感器可以测量到传感器距离火焰的距离,可以用作起火点搜寻的依 据。电机驱动模块负责左右两轮电机的分别控制,可以实现电机的正反转和调 速,从而完成小车的启停和转向。电源模块负责给单片机和各传感器及电机驱动模块供电。灭火设备可以选用风扇或者水泵等,依据实验室已有资源确定。第 2章 机器人系统硬件详细方案设计2.1 传感器选型2.1.1 超声波测距传感

6、器超声波传感器包括超声波发射器、接收器与控制电路,主要用于距离检测, 可测量2cm-400cm的非接触式距离,测距精度可达高到 3mm。其测距原理为利 用单片机引脚触发超声波发射器发送超声波, 超声波在有阻挡的情况下, 反射回 超声波接收器,利用单片机中的计数器计算从发射到接收回波所用的时间,再将时间通过一定的换算转换为以厘米或者毫米为单位的距离值。本机器人系统使用 1 个超声测距传感器, 安装在小车正前方, 用于检测小车 正前方是否有挡板障碍。该传感器为 HC-SR0,4 具有 Vcc、Trig、Echo、Gnd 四个 引脚。2.1.2 红外避障传感器红外避障传感器利用物体的反射性质, 具有

7、一对红外线发射与接收管, 发射 管发射出一定频率的红外线, 在一定范围内, 如果没有障碍物, 发射出去的红外 线,随着传播距离变远而逐渐减弱,最后消失;如果有障碍物(反射面) ,红外 线遇到障碍物(反射面) ,被反射到后由接收管接收;传感器检测到这一信号, 就可以确认正前方有障碍物。 经过电路处理后, 信号输出接口输出数字信号, 送 给单片机。本机器人系统共使用 4 个红外避障传感器。 传感器感应障碍物的距离阈值可 以通过调节传感器上的变阻器来改变。 安装在小车左方和右方的传感器检测距离 较大,用来检测正左正右侧是否有挡板障碍。 由于直行时小车左右轮速不能做到 完全一致, 所以会出现偏离路径的

8、情况, 因此我们又加入了安装在小车左前方和 左后方的 2 个传感器。这 2 个传感器检测距离较小, 用于检测小车直行时的偏移, 对路线进行校正。所用红外传感器有 Vcc、 Gnd、Out 三个引脚。2.1.3 火焰传感器能够探测到波长在700纳米1000纳米范围内的红外光,探测角度为 60, 其中红外光波长在 880纳米附近时, 其灵敏度达到最大。 远红外火焰探头将外界 红外光的强弱变化转化为电流的变化,通过 A/D 转换器反映为数字量数值的变化。外界红外光越强,即距离火焰越近,贝擞值越大;红外光越弱,即距离火焰 越远,则数值越小。由于实验环境为方格迷宫,火焰相对于机器人的方向较为固定, 所以

9、为了简 化控制,本机器人系统使用1个火焰传感器,安装小车正前方。如果是更加广阔 的搜索空间,则可以使用2个甚至更多的火焰传感器放在小车的左右两侧, 采用 差分方式判断火焰传感器相对于小车的方向角。所用火焰传感器有 Vcc Gnd、 Out三个引脚。2.2机器人系统硬件连接图智能机器人的控制核心为 STM32F103RBT弹片机,同时底板上设置了多种 传感器模块和通信模块的接口。下面按照模块划分,简要介绍一下本机器人系统 主要用到的各部分的硬件设计电路。2.2.1 STM32单片机最小系统HHF m |H -k,H VUI PTIMfLl irhiihu HJMBLLlvrri innM aj-

10、iiiH r 9NCl_U .Wil ikA-mnrurnrij-fiMb* niM-JJ MiJ- 阿询TEHljClU UXJTilldZ_CIKJ 豊fflW-JW-fl l|riwHI阿価肚 LWwjmHiP.UBnI_34X11. Ml LR. _U/LUUn.NI i-hfc*ni M-J - A -评 If “ fl .! 11 fATII I-J* I 卅 MJ t tll r.*.r VlrMljC1 & b枫 LJVnMILMlHJMLUH.VMY HuMlfwnMii iWIrTMUKOTi HU闸和IMLJM/IIM叮.邸 nil LULl_HLin_JLAPl_H&l

11、VIMl.mPH0临-dUlMII 创弘Zi3#iR .讣! 汕i 审i图2-1单片机最小系统电路图单片机最小系统电路包括 STM32F103RBT弹片机、复位电路、时钟电路和 一些特殊引脚的设置等。此外,在使用该单片机时应注意BOOT0引脚的设置,下载代码时应设置BOOT0为1,运行代码时应设置 BOOT0为0。这里的设计是用跳线帽使 BOOT0 与高低电平相连,使用时切记使 BOOT 0的跳线帽处在正确的位置上。222电源模块电源模块电路图CD嗣51|R电源电压输入后经滤波、稳压等处理后,得到5V电源。可供使用5V电源的外设使用。之后经过AMS1086-3.3电压转换芯片后输出3.3V电压

12、,可供单片机和使用 3.3V电源的外设使用。为了方便供电使用,电源模块还引出了3.3V的排阵。2.2.3红外避障传感器PI5PBHPA15/AIZPALIPA3leader 6图2-3红外避障传感器接口避障传感器的接口为原理图中的 P15排针。本系统使用了 4个红外避障传感器,避障信号输出引脚由PB8 PA15 PA12 PA11四个引脚接收224超声波测距传感器CC3IOKVCC3J丄VCC5kcha xGNDGND图2-4超声波测距传感器接口超声波测距传感器的触发引脚 Trg由PC13引脚控制。当有信号反射回来时, Echo引脚输出高电平,该引脚连接单片机的 PB7引脚。2.2.5火焰传感

13、器nameVtX13图2-5火焰传感器接口火焰传感器的输出为Flame模拟信号,与单片机的 ADC0(PA0相连。2.2.6电机驱动模块图2-6 电机驱动电路图驱动模块的控制信号输入来自单片机的 4 个 PWM 信号,引脚对应如下:PWM1 为 PA6 PWM2 为 PA7, PWM3 为 PBO, PWM4 为 PB1。输入信号经过 74hc244 芯片实现电流放大,再输入BTS7960芯片进行电机驱动。使用1片BTS7960芯片 可以实现电机的半桥驱动,每 2 片芯片可以组成一个 H 桥电路对电机进行正反 向控制。本机器人的电机驱动模块采用 4片BTS7960芯片进行H桥电路驱动, 输出信

14、号分别控制 2 个电机,使小车左右后轮完成相应的动作。第 3 章 机器人系统软件详细方案设计根据机器人的系统结构及功能指标,我们将系统的软件功能模块分为主函 数、超声波测距程序、红外避障程序、电机驱动程序、火焰检测程序等。程序采 用 STM32 单片机的库函数方式进行编写。下面简要介绍各个软件功能模块的实 现过程。3.1 主函数主函数主要进行各个模块函数的调用, 以及进行火焰判断和路径规划。 程序 框图如图 3-1 所示。主程序的思路如下:(1 ) 小车的路径判断按照“先左、再前、再右、再后转”的原则进行,即 当检测到左侧没有挡板时, 小车左转 90;当检测到左侧有挡板, 但 是前方无障碍时,

15、小车直行;当左方、前方都有障碍,但是右方没有 障碍时,小车右转 90;当左右前三个方向都有障碍时,小车后转 180向后行进。(2)直行时由于小车行进有误差,容易偏离直线,所以使用两个红外传感 器进行路径的微调。当小车行驶在通道中心线上时,两个传感器都处 于无障碍的状态中;当小车左偏时,左侧传感器检测到障碍,右侧传 感器检测无障碍,进行小角度的右转调整;小车右偏时同理。(3)当火焰传感器检测到小车前方有火焰时,小车不进行路径判断,直接 前行接近火焰,直到距离火焰一定距离时停止,进行灭火操作,直到 将火焰熄灭,继续进行路径判断和火焰搜寻。开始图3-1主程序框图3.2超声波测距程序超声波测距传感器的

16、工作原理为:单片机计算从发射到接收回波所用的时 间,再将时间通过一定的换算转换为距离值。定时让10触发TRIG测距,有信号返回,通过 ECHO输出高电平,高电平持 续的时间就是超声波从发射到返回的时间。距离计算方法为: s = t * V , /2 v - 340m/5输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了 TIM6和TIM7,其他定时器都有输入捕获功能。STM32的输入捕获,是通过检测 TIMx_C Hx上的边沿信号,在边沿信号发生跳变(比如上升沿 /下降沿)的时候, 将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器 (TIMx_CCRX

17、里面,完成一次捕获。使用这个功能,我们可以较为方便地得到 超声波发射到接收所用的时间。这里我们用TIM4CH2进行输入捕获,用TIM2控制触发脉冲的产生。计算得 到的距离储存在全局变量lenth中,供主程序调用。程序流程图如图3-2所示。开始发出触发信号记录上升沿时间t1记录下降沿时间t2计算障碍物距离图3-2超声波测距程序框图3.3 红外避障引脚设置程序红外避障传感器是依据红外线的反射来工作的。 当遇到障碍物时, 发出的红 外线被反射面反射回来, 被传感器接收到, 信号输出引脚就会给出低电平提示信 号。本机器人系统的红外避障信号采用直接检测的方式进行, 即将引脚模式设置 为下拉输入模式,直接

18、读取引脚电平。当引脚读到 0 时,则表明有障碍。因为操 作较为简单,所以这部分子程序只给出了对应引脚的初始化和宏定义。3.4 电机驱动程序每个电机都由一个 H 桥电路驱动,由两个输入信号共同控制。两个电机共 由4路PWM波进行控制,PWM波的产生由STM32单片机TIM3产生。同一电 机的两路 PWM 波占空比之差决定了该电机的转向和转速, 占空比之差的绝对值 越大,电机转速越快,占空比相同时电机停转。结合上述的电机驱动原理, 小车运动方式可以通过如下方式实现: 四个控制 信号均为低电平时,电机停转,小车停止;电机的左右轮电机同向等速运行时, 可以实现前行或后退的动作; 小车的左右转向通过两轮

19、差速来实现。 在本机器人 的设计中, 需要实现的 90和 180固定角度转弯, 是通过电机定速运动和延时 的配合完成的,通过不断调试确定出最佳的旋转时间。在电机子程序中设置 Set_motor(u16 L1,u16 L2,u16 R1,u16 R2)函数修改4路PWM 占空比,然后在主函数中调用该函数即可完成轮速的设置。3.5 火焰检测程序火焰传感器的输出量是一个模拟量, 与距离火焰的距离有确定的关系。 因此 只需要对这个模拟量进行 AD转换,得到对应的数字量,控制器就可以大致判断 前方是否有火焰,以及距离火焰的距离。子程序中通过Get_Adc(u8 ch)函数得到对应的数字量,供主程序调用。

20、同时 在主程序中设置数字量的上下阈值, 当数字量大于最低阈值时, 表明前方有火焰, 前行靠近; 当数字量大于最高阈值时, 表明距离火焰的位置足够近, 可以停止运 动开始灭火。第 4 章 机器人系统开发调试步骤4.1 传感器选型和引脚分配在已有小车的框架上, 选择需要的传感器种类和个数, 并大致规划传感器的 安装位置及安装方式。 同时对单片机的内部资源, 如定时器通道等进行分配, 确 定各外设对应的单片机控制引脚。该部分在硬件设计部分已有介绍,不再赘述。4.2 传感器独立测试4.2.1 超声波测距传感器测试编写超声波传感器测距子程序, 即输入捕获通道设置和定时器产生触发脉冲 函数,得到检测量一一

21、障碍物的距离(cm),通过每获得一次距离就通过串口发 送一次距离数值的方式来进行测试。完成程序的编写后,对程序进行编译,并下装到小车的单片机中。在 USB 转串口线连接的前提下, 打开串口调试助手。 安装超声波传感器, 并给小车通电 后,改变超声波传感器前的障碍物的距离, 观察串口调试助手接收到的数据是否 与实际距离一致。4.2.2 红外避障传感器测试编写红外避障传感器子程序, 即完成传感器的引脚配置。 主程序完成初始化 后,在循环中完成对红外避障传感器输入引脚的扫描和判断, 通过串口发送结果。完成程序的编写后,对程序进行编译,并下装到小车的单片机中。在 USB 转串口线连接的前提下, 打开串

22、口调试助手。 连接各个红外传感器引脚, 给小车 通电后,改变红外避障传感器前的障碍物的距离, 观察串口调试助手接收到的指 示信号是否与传感器上的指示灯一致。4.2.3 火焰传感器测试编写火焰传感器子程序,完成传感器输出的模拟信号的AD转换。主程序完成初始化后,在循环中调用得到 AD转换结果的函数,并通过串口发送得到的数 字量。完成程序的编写后,对程序进行编译,并下装到小车的单片机中。在 USB 转串口线连接的前提下, 打开串口调试助手。 连接火焰传感器引脚, 给小车通电 后,改变火焰传感器前的火焰的距离,观察串口调试助手接收到的数字量大小。4.3 电机独立测试编写电机控制子程序,即4路PWM通

23、道设置和占空比设置函数。主程序中 完成初始化后, 通过调用占空比设置函数, 修改占空比, 改变小车两轮轮速和转 向。完成程序的编写后, 对程序进行编译, 并下装到小车的单片机中。 给小车通 电后,观察小车的连续直行、 连续左转、 连续右转等操作是否可以正常进行接下 来可以通过加入延时来控制每次转向的角度,测试左转 90、右转 90、左转 180三种动作在固定轮速下的延时时间长短。4.4 综合测试以上步骤完成后,我们将小车放置在实现搭建好的迷宫环境中进行实验。 首先为无火焰走迷宫实验,主要目的为:检验直角弯、 180旋转的角度是 否准确;检验直线校正是否可以达到较好的效果, 使小车路线平滑且接近

24、路径中 线。通过小车走迷宫实验,我们发现的问题是小车在左(右)转弯时,由于检测 左(右)障碍物的传感器在小车的正左(正右) ,所以转向后直行有撞到障碍物 边缘的可能性,而且 90转弯结束后所处位置仍可能被红外传感器检测为左 (右)侧无障碍, 在不适当的位置重复转弯, 所以我们采取的措施是当检测到需 要左(右)转向时,执行“直行左(右)转直行”的操作,并通过实验 调试出了比较合适的直行延时时间。 同时我们对于传感器的位置进行了微调, 使 其能起到比较好的转向、 路线校正的效果,也对于程序中的其他延时做出了调整。第二步为迷宫中的火焰搜寻实验, 主要目的为调整判断火焰距离的数字量的 上阈值和下阈值。采用如图 5-2 的火点位置,小车从圆点所示位置出发,若小车 拐弯后可以忽略左转优先原则, 直接朝向火焰走去, 如图中轨迹所示, 则证明下 阈值有效。 若小车可以停在距离火点应有距离上, 则证明上阈值有效。 根据实验 情况,我们将上下阈值改为了 3920和 1500。图4-2迷宫中的火焰搜寻实验示意图完成上述两步实验后,让小车从起点出发,进行完整的火焰搜寻活动,并设 置多个火点。实验结果为小车可以在迷宫中流畅行

温馨提示

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

评论

0/150

提交评论