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

下载本文档

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

文档简介

1、3上京理XKf智能机器人课程设计设计题目:灭火智能机器人的设计和实现冃录第1章机器人系统总体方案设计31.1设计目标31.2机器人功能设计及指标要求313机器人系统总体结构设计4第2章机器人系统硬件详细方案设计52.1传感器选型52.1.1超声波测距传感器52.1.2红外避障传感器52.1.3火焰传感器52.2机器人系统硬件连接图62.2.1 STM32单片机最小系统62.2.2电源模块72.2.3红外避障传感器72.2.4超声波测距传感器82.2.5火焰传感器82.2.6电机驱动模块8第3章机器人系统软件详细方案设计93.1主函数93.2超声波测距程序103.3红外避障引脚设置程序123.4

2、电机驱动程序123.5火焰检测程序12第4章机器人系统开发调试步骤134.1传感器选型和引脚分配134.2传感器独立测试134.2.1超声波测距传感器测试134.2.2红外避障传感器测试134.2.3火焰传感器测试1343 电机独立测试144.4综合测试14第5章实验中遇到的故障及解决方法15第6章收获与体会16第1章机器人系统总体方案设计设计目标本次课程设计的目标是:在一辆两驱智能小乍的基础上,搭载各种传感器, 设计出一款具有口动避障和搜寻火点功能的智能机器人,可以完成简易的灭火功 能。设定的实验环境为带有隔板障碍的04方格迷宫,如图所示。起火点随 机放置在其中一个方格中。机器人需要从起点开

3、始搜寻火点,躲避障碍,最终靠 近火点一定距离时,小车停止运动,进行接下來的灭火操作。图:1J 机器人灭火场地布局图图:1J 机器人灭火场地布局图本课设旨在通过一类典型智能机器人的设计、调试,賞握齐环节和整个智能 机器人系统的调试步骤与方法,加强基本技能训练,培养灵活运用所学理论解决 控制系统中各种实际问题的能力。1.2机器人功能设计及指标要求该智能机器人系统的主耍功能包括:可以检测周围环境并发现障碍;可以灵 活前后行进、停止利转向:可以根据障碍位置做出避障决策:可以准确搜寻到火 焰位置并在火焰面前停上并进行灭火等。由于实验环境设定为方格迷宫,所以机 器人的路径规划可以转化为迷宫的遍历问题,而且

4、转向角度简化为90°和180° 的组合问题。整个搜寻过程中,小车尽量不碰撞到障碍物和墙壁,且从出发到找到火点的 时间应在3分钟内。在成功灭火后可以继续进行其他火源的搜寻,即可以连续完 成多点灭火。1.3机器人系统总体结构设计本智能机器人系统的结构分为控制器(STM32单片机)、超声波测距传感器、 红外避障传感器、火焰传感器、电源模块、电机驱动模块及直流电机等模块,总 体结构框图见图1-2。图1-2总体系统框图控制器采用STM32单片机,负责传感器数据的采集和电机等执行元件的控 制,同时进行避障决策,对小车的运行方式和运行轨迹给出整体规划。超声波测距传感器和红外避障传感器相互

5、协调,负责小午周闱障碍物的探知。 主要负责探测小车的前、左、右三个方向是否有挡板遮挡,以及对小车的路径偏 移进行纠正。火焰传感器可以测暈到传感器距离火焰的距离,可以用作起火点搜寻的依据。 电机驱动模块负贵左右两轮电机的分别控制,可以实现电机的E反转和调速, 从而完成小车的启停和转向。电源模块负贵给单片机和各传感器及电机驱动模块供电。灭火设备可以选用风扇或者水泵等,依据实验室己有资源确定。第2章机器人系统硬件详细方案设计2.1传感器选型2.1.1超声波测距传感器超声波传感器包括超声波发射器、接收器与控制电路,主要用于距离检测, 可测S 2cm-400cm的非接触式距离,测距精度可达高到3mme英

6、测距原理为利 用单片机引脚触发超声波发射器发送超声波,超声波在有阻挡的情况下,反射回 超声波接收器,利用单片机中的计数器计算从发射到接收回波所用的时间,再将 时间通过一定的换算转换为以厘米或考毫米为单位的距离值。本机器人系统使用1个超声测距传感器,安装在小午正前方,用于检测小车 正前方是否有挡板障碍。该传感器为HC-SR04,具有Vcc、Trig、Echo、Gnd四个 引脚。2.1.2红外避障传感器红外避障传感器利用物体的反射性质,具有一对红外线发射与接收管,发射 管发射出一定频率的红外线,在一定范I制内,如果没有障碍物,发射出去的红外 线,随着传播距离变远而逐渐减弱,最后消失:如果有障碍物(

7、反射面),红外 线遇到障碍物(反射面),被反射到后由接收管接收:传感器检测到这一信号, 就可以确认正前方有障碍物。经过电路处理后,信号输出接口输出数字信号,送 给单片机.本机器人系统共使用4个红外避障传感器。传感器感应障碍物的距离阈值可 以通过调节传感器上的变阻器來改变。安装在小车左方和右方的传感器检测距离 较大,用來检测正左正右侧是否有挡板障碍。由于直行时小车左右轮速不能做到 完全一致,所以会出现偏离路径的情况,因此我们乂加入了安装在小车左前方和 左后方的2个传感器。这2个传感器检测距离较小,用于检测小午直行时的偏移, 对路线进行校正。所用红外传感器有Vcc、Gnd、Out三个引脚。2.1.

8、3火焰传感器能够探测到波长在700纳米1000纳米范圉内的红外光,探测角度为60, 其中红外光波长在880纳米附近时,其灵敏度达到最大。远红外火焰探头将外界 红外光的强弱变化转化为电流的变化,通过A/D转换器反映为数字量数值的变化。外界红外光越强,即距离火焰越近,则数值越大:红外光越弱,即距离火焰越远, 则数值越小。由于实验环境为方格迷宫,火焰相对于机器人的方向较为固定,所以为了简 化控制,本机器人系统使用1个火焰传感器,安装小车正前方。如果是更加广阔 的搜索空间,则可以使用2个英至更多的火焰传感器放在小车的左右两侧,采用 差分方式判断火焰传感器相对于小车的方向角。所用火焰传感器有Vcc、Gn

9、d、 Out三个引脚。22机器人系统硬件连接图智能机器人的控制核心为STM32F103RBT6单片机,同时底板上设置了多种 传感器模块和通信模块的接口。下面按照模块划分,简要介绍一下本机器人系统 主要用到的各部分的硬件设计电路。2.2.1 STM32单片机最小系统VnAlKIMAH1I R I4Mrt< U »riir>truIHfOMJM.lX.1、:KWaOTM241: 241)VVMMTU 土 ftlt p 严 EWII3IFiunt&A'm it. t-?.?* mu 3 BXMrrvnu> cwt亨阳|VWW 5Lmh>riwnamm

10、uPAW3AUMibfXAgmAEw.cu »*AAMI MKOCADCWUMl t Hi »MMrtCMUHMMWMJjOC HMlQVir K<UK.I4PAanMl.UttAM.U>ruuri$K>WYAttwmo cuihnIBUMrvnM'CH4FTIraMUinK>HIIBiOLX&l-IXHll3An2_zMUlV:IMLaU»Miii<nr)ms » atmh<an, «m<wnMi ruixi -nnc < mi1*(70图2J单片机最小系统电路图单片机最小系统电

11、路包括STM32F103RBT6单片机、复位电路、时钟电路和 一些特殊引脚的设置等。此外,在使用该单片机吋应注意BOOTO引脚的设置,下载代码时应设置 BOOTO为1,运行代码时应设置BOOTO为0。这里的设计是用跳线帽使BOOTO 与高低电平相连,使用时切记使BOOTO的跳线帽处在正确的位置上。2.2.2电源模块V3 1GNDP7 GND_.C5104104LFDIR4 5I0RVCC5呎罕 VinVout _InGNDGNI>GND图11电源模块电路图电源电压输入后经滤波、稳压等处理后,得到5V电源。可供使用5V电源 的外设使用。之后经过AMS1086-3.3电压转换芯片后输出3.3

12、V电压,可供单片机和使用3.3V电源的外设使用。为了方便供电使用,电源模块还引出了 3.3V的排阵。2.23红外避障传感器P15PBA _PA15:PAllPAJ?PB12Header 6图2-3红外避障传感器接I I避障传感器的接口为原理图中的P15排针。本系统使用了 4个红外避障传感 器,避障信号输出引脚由PB8、PA15、PA12、PAU四个引脚接收。224超声波测距传感器VCC510k02 NPNVCC33VCC5 EchoGNDGND图2-4超声波测距传感器接II超山波测距传感器的触发引脚Trg由PC13引脚控制。当有信号反射回來时,Echo引脚输出高电平,该引脚连接单片机的PB7引

13、脚。2.2.5火焰传感器FlameVCC3JGSD图25火焰传感器接II火焰传感器的输出为Flame模拟信号,与单片机的ADCO(PAO)相连。2.2.6电机驱动模块图26电机驱动电路图驱动模块的控制信号输入來白单片机的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)当火焰传感器检测到小车前方有火焰时,小车不进行路径判断,直接 前行接近火焰,直到距离火焰一定距离时停止,进行灭火操作,直到 将火焰熄灭,继续进行路径判断和火焰搜寻。开始初始化后转结束图3J主程序框图3.2超声波

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

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

18、这部分子程序只给出了对应引脚的初始化和宏定义。3.4电机驱动程序每个电机都由一个H桥电路驱动,由两个输入信号共同控制。两个电机共 由4路PWM波进行控制,PWM波的产生由STM32单片机TIM3产生。同一电 机的两路PWM波占空比之差决定了该电机的转向和转速,占空比之差的绝对值 越大,电机转速越快,占空比相同时电机停转。结合上述的电机驱动原理,小车运动方式可以通过如下方式实现:四个控制 信号均为低电平时,电机停转,小车停止:电机的左右轮电机同向等速运行时, 可以实现前行或后退的动作:小车的左右转向通过两轮差速来实现。在本机器人 的设计中,需要实现的90°和180。固定角度转弯,是通过

19、电机定速运动和延时 的配合完成的,通过不断调试确定岀最佳的旋转时间。在电机子程序中设置Set_motor(ul6 Llzul6 L2,ul6 Rl,ul6 R2)函数修改4路 PWM占空比,然后在主函数中调用该函数即可完成轮速的设置。3.5火焰检测程序火焰传感器的输出量是一个模拟量,与距离火焰的距离有确定的关系。因此 只需要对这个模拟量进行AD转换,得到对应的数字量,控制器就可以大致判断 前方是否有火焰,以及距离火焰的距离。子程序中通过Get_Adc(u8 ch)函数得到对应的数字量,供主程仔调用。同时 在主程序中设置数字量的上下阈值,当数字量大于最低阈值时,表明前方有火焰, 前行靠近:当数字

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

21、午的单片机中。在USB 转串口线连接的前提下,打开串口调试助手。安装超声波传感器,并给小车通电 后,改变超声波传感器前的障碍物的距离,观察串口调试助手接收到的数据是否 与实际距离一致。4.2.2红外避障传感器测试编写红外避障传感器子稅仔,即完成传感器的引脚配置"主程丿宇完成初始化 后,在循环中完成对红外避障传感器输入引脚的扫描和判断,通过串口发送结果。完成程岸的编写后,对程序进行编译,并下装到小车的单片机中。在USB 转串口线连接的前提下,打开串口调试助手。连接各个红外传感器引脚,给小车 通电后,改变红外避障传感器前的障碍物的距离,观察串口调试助手接收到的指 示信号是否与传感器上的指

22、示灯一致。4.23火焰传感器测试编写火焰传感器子程序,完成传感器输出的模拟信号的AD转换。主程序完 成初始化后,在循环中调用得到AD转换结果的函数,并通过串口发送得到的数 e且Tflio完成程序的编写后,对程序进行编译,并下装到小车的单片机中。在USB 转串口线连接的前提下,打开串口调试助手。连接火焰传感器引脚,给小车通电 后,改变火焰传感器前的火焰的跖离,观察串口调试助手接收到的数字量大小。4.3电机独立测试编写电机控制子程序,即4路PWM通道设置和占空比设置函数。主程序中 完成初始化后,通过调用占空比设置函数,修改占空比,改变小车两轮轮速和转 向。完成程斥的编写后,对程序进行编译,并下装到

23、小车的单片机中。给小车通 电后,观察小车的连续直行、连续左转、连续右转等操作是否可以正常进行接下 來可以通过加入延时來控制每次转向的角度,测试左转90“、右转90°、左转 1803三种动作在固定轮速下的延时时间长短。4.4综合测试以上步骤完成后,我们将小车放置在实现搭建好的迷宫环境中进行实验。首先为无火焰走迷宫实验,主要目的为:检验直角弯、180°旋转的角度是 否准确;检验直线校正是否可以达到较好的效果,使小车路线平滑且接近路径中 线。通过小车走迷宫实验,我们发现的问题是小车在左(右)转弯时,由于检测 左(右)障碍物的传感器在小车的正左(正右),所以转向后直行有撞到障碍物

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

温馨提示

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

评论

0/150

提交评论