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

下载本文档

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

文档简介

-.z.智能机器人课程设计设计题目:灭火智能机器人的设计和实现目录第1章机器人系统总体方案设计31.1设计目标31.2机器人功能设计及指标要求31.3机器人系统总体构造设计3第2章机器人系统硬件详细方案设计32.1传感器选型32.1.1超声波测距传感器32.1.2红外避障传感器32.1.3火焰传感器32.2机器人系统硬件连接图32.2.1STM32单片机最小系统32.2.2电源模块32.2.3红外避障传感器32.2.4超声波测距传感器32.2.5火焰传感器32.2.6电机驱动模块\h3第3章机器人系统软件详细方案设计33.1主函数33.2超声波测距程序33.3红外避障引脚设置程序33.4电机驱动程序33.5火焰检测程序3第4章机器人系统开发调试步骤PAGEREF_Toc441427333\h34.1传感器选型和引脚分配34.2传感器独立测试34.2.1超声波测距传感器测试34.2.2红外避障传感器测试34.2.3火焰传感器测试34.3电机独立测试34.4综合测试3第5章实验中遇到的故障及解决方法3第6章收获与体会3第1章机器人系统总体方案设计1.1设计目标本次课程设计的目标是:在一辆两驱智能小车的根底上,搭载各种传感器,设计出一款具有自动避障和搜寻火点功能的智能机器人,可以完成简易的灭火功能。设定的实验环境为带有隔板障碍的4*4方格迷宫,如图1-1所示。起火点随机放置在其中一个方格中。机器人需要从起点开场搜寻火点,躲避障碍,最终靠近火点一定距离时,小车停顿运动,进展接下来的灭火操作。图1-1机器人灭火场地布局图本课设旨在通过一类典型智能机器人的设计、调试,掌握各环节和整个智能机器人系统的调试步骤与方法,加强根本技能训练,培养灵活运用所学理论解决控制系统中各种实际问题的能力。1.2机器人功能设计及指标要求该智能机器人系统的主要功能包括:可以检测周围环境并发现障碍;可以灵活前后行进、停顿和转向;可以根据障碍位置做出避障决策;可以准确搜寻到火焰位置并在火焰面前停顿并进展灭火等。由于实验环境设定为方格迷宫,所以机器人的路径规划可以转化为迷宫的遍历问题,而且转向角度简化为90°和180°的组合问题。整个搜寻过程中,小车尽量不碰撞到障碍物和墙壁,且从出发到找到火点的时间应在3分钟内。在成功灭火后可以继续进展其他火源的搜寻,即可以连续完成多点灭火。1.3机器人系统总体构造设计本智能机器人系统的构造分为控制器〔STM32单片机〕、超声波测距传感器、红外避障传感器、火焰传感器、电源模块、电机驱动模块及直流电机等模块,总体构造框图见图1-2。STM32STM32单片机红外避障传感器超声波测距传感器火焰传感器电源模块电机驱动模块直流电机灭火设备及其驱动图1-2总体系统框图控制器采用STM32单片机,负责传感器数据的采集和电机等执行元件的控制,同时进展避障决策,对小车的运行方式和运行轨迹给出整体规划。超声波测距传感器和红外避障传感器相互协调,负责小车周围障碍物的探知。主要负责探测小车的前、左、右三个方向是否有挡板遮挡,以及对小车的路径偏移进展纠正。火焰传感器可以测量到传感器距离火焰的距离,可以用作起火点搜寻的依据。电机驱动模块负责左右两轮电机的分别控制,可以实现电机的正反转和调速,从而完成小车的启停和转向。电源模块负责给单片机和各传感器及电机驱动模块供电。灭火设备可以选用风扇或者水泵等,依据实验室已有资源确定。第2章机器人系统硬件详细方案设计2.1传感器选型2.1.1超声波测距传感器超声波传感器包括超声波发射器、接收器与控制电路,主要用于距离检测,可测量2cm-400cm的非接触式距离,测距精度可达高到3mm。其测距原理为利用单片机引脚触发超声波发射器发送超声波,超声波在有阻挡的情况下,反射回超声波接收器,利用单片机中的计数器计算从发射到接收回波所用的时间,再将时间通过一定的换算转换为以厘米或者毫米为单位的距离值。本机器人系统使用1个超声测距传感器,安装在小车正前方,用于检测小车正前方是否有挡板障碍。该传感器为HC-SR04,具有Vcc、Trig、Echo、Gnd四个引脚。红外避障传感器红外避障传感器利用物体的反射性质,具有一对红外线发射与接收管,发射管发射出一定频率的红外线,在一定范围内,如果没有障碍物,发射出去的红外线,随着传播距离变远而逐渐减弱,最后消失;如果有障碍物〔反射面〕,红外线遇到障碍物〔反射面〕,被反射到后由接收管接收;传感器检测到这一信号,就可以确认正前方有障碍物。经过电路处理后,信号输出接口输出数字信号,送给单片机。本机器人系统共使用4个红外避障传感器。传感器感应障碍物的距离阈值可以通过调节传感器上的变阻器来改变。安装在小车左方和右方的传感器检测距离较大,用来检测正左正右侧是否有挡板障碍。由于直行时小车左右轮速不能做到完全一致,所以会出现偏离路径的情况,因此我们又参加了安装在小车左前方和左前方的2个传感器。这2个传感器检测距离较小,用于检测小车直行时的偏移,对路线进展校正。所用红外传感器有Vcc、Gnd、Out三个引脚。2.1.3火焰传感器能够探测到波长在700纳米~1000纳米范围内的红外光,探测角度为60,其中红外光波长在880纳米附近时,其灵敏度到达最大。远红外火焰探头将外界红外光的强弱变化转化为电流的变化,通过A/D转换器反映为数字量数值的变化。外界红外光越强,即距离火焰越近,则数值越大;红外光越弱,即距离火焰越远,则数值越小。由于实验环境为方格迷宫,火焰相对于机器人的方向较为固定,所以为了简化控制,本机器人系统使用1个火焰传感器,安装小车正前方。如果是更加广阔的搜索空间,则可以使用2个甚至更多的火焰传感器放在小车的左右两侧,采用差分方式判断火焰传感器相对于小车的方向角。所用火焰传感器有Vcc、Gnd、Out三个引脚。2.2机器人系统硬件连接图智能机器人的控制核心为STM32F103RBT6单片机,同时底板上设置了多种传感器模块和通信模块的接口。下面按照模块划分,简要介绍一下本机器人系统主要用到的各局部的硬件设计电路。2.2.1STM32单片机最小系统图2-1单片机最小系统电路图单片机最小系统电路包括STM32F103RBT6单片机、复位电路、时钟电路和一些特殊引脚的设置等。此外,在使用该单片机时应注意BOOT0引脚的设置,下载代码时应设置BOOT0为1,运行代码时应设置BOOT0为0。这里的设计是用跳线帽使BOOT0与上下电平相连,使用时切记使BOOT0的跳线帽处在正确的位置上。2.2.2电源模块图2-2电源模块电路图电源电压输入后经滤波、稳压等处理后,得到5V电源。可供使用5V电源的外设使用。之后经过AMS1086-3.3电压转换芯片后输出3.3V电压,可供单片机和使用3.3V电源的外设使用。为了方便供电使用,电源模块还引出了3.3V的排阵。2.2.3红外避障传感器图2-3红外避障传感器接口避障传感器的接口为原理图中的P15排针。本系统使用了4个红外避障传感器,避障信号输出引脚由PB8、PA15、PA12、PA11四个引脚接收。2.2.4超声波测距传感器图2-4超声波测距传感器接口超声波测距传感器的触发引脚Trg由PC13引脚控制。当有信号反射回来时,Echo引脚输出高电平,该引脚连接单片机的PB7引脚。2.2.5火焰传感器图2-5火焰传感器接口火焰传感器的输出为Flame模拟信号,与单片机的ADC0(PA0)相连。2.2.6电机驱动模块图2-6电机驱动电路图驱动模块的控制信号输入来自单片机的4个PWM信号,引脚对应如下:PWM1为PA6,PWM2为PA7,PWM3为PB0,PWM4为PB1。输入信号经过74hc244芯片实现电流放大,再输入BTS7960芯片进展电机驱动。使用1片BTS7960芯片可以实现电机的半桥驱动,每2片芯片可以组成一个H桥电路对电机进展正反向控制。本机器人的电机驱动模块采用4片BTS7960芯片进展H桥电路驱动,输出信号分别控制2个电机,使小车左右后轮完成相应的动作。第3章机器人系统软件详细方案设计根据机器人的系统构造及功能指标,我们将系统的软件功能模块分为主函数、超声波测距程序、红外避障程序、电机驱动程序、火焰检测程序等。程序采用STM32单片机的库函数方式进展编写。下面简要介绍各个软件功能模块的实现过程。3.1主函数主函数主要进展各个模块函数的调用,以及进展火焰判断和路径规划。程序框图如图3-1所示。主程序的思路如下:小车的路径判断按照"先左、再前、再右、再后转〞的原则进展,即当检测到左侧没有挡板时,小车左转90°;当检测到左侧有挡板,但是前方无障碍时,小车直行;当左方、前方都有障碍,但是右方没有障碍时,小车右转90°;当左右前三个方向都有障碍时,小车后转180°向后行进。直行时由于小车行进有误差,容易偏离直线,所以使用两个红外传感器进展路径的微调。当小车行驶在通道中心线上时,两个传感器都处于无障碍的状态中;当小车左偏时,左侧传感器检测到障碍,右侧传感器检测无障碍,进展小角度的右转调整;小车右偏时同理。当火焰传感器检测到小车前方有火焰时,小车不进展路径判断,直接前行接近火焰,直到距离火焰一定距离时停顿,进展灭火操作,直到将火焰熄灭,继续进展路径判断和火焰搜寻。初始化初始化检测到前方火焰?N完毕开场左方无障碍?前方无障碍?右方无障碍?直行火焰距离达设定?停顿,灭火NYYNNN后转左转直行右转路径校正图3-1主程序框图3.2超声波测距程序超声波测距传感器的工作原理为:单片机计算从发射到接收回波所用的时间,再将时间通过一定的换算转换为距离值。定时让IO触发TRIG测距,有信号返回,通过ECHO输出高电平,高电平持续的时间就是超声波从发射到返回的时间。距离计算方法为:输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。STM32的输入捕获,是通过检测TIM*_CH*上的边沿信号,在边沿信号发生跳变〔比方上升沿/下降沿〕的时候,将当前定时器的值〔TIM*_CNT〕存放到对应的通道的捕获/比拟存放器〔TIM*_CCR*〕里面,完成一次捕获。使用这个功能,我们可以较为方便地得到超声波发射到接收所用的时间。这里我们用TIM4CH2进展输入捕获,用TIM2控制触发脉冲的产生。计算得到的距离储存在全局变量lenth中,供主程序调用。程序流程图如图3-2所示。开场开场发出触发信号捕捉到上升沿?记录上升沿时间t1

捕捉到下降沿?记录下降沿时间t2

计算障碍物距离NNYY图3-2超声波测距程序框图3.3红外避障引脚设置程序红外避障传感器是依据红外线的反射来工作的。当遇到障碍物时,发出的红外线被反射面反射回来,被传感器接收到,信号输出引脚就会给出低电平提示信号。本机器人系统的红外避障信号采用直接检测的方式进展,即将引脚模式设置为下拉输入模式,直接读取引脚电平。当引脚读到0时,则说明有障碍。因为操作较为简单,所以这局部子程序只给出了对应引脚的初始化和宏定义。3.4电机驱动程序每个电机都由一个H桥电路驱动,由两个输入信号共同控制。两个电机共由4路PWM波进展控制,PWM波的产生由STM32单片机TIM3产生。同一电机的两路PWM波占空比之差决定了该电机的转向和转速,占空比之差的绝对值越大,电机转速越快,占空比一样时电机停转。结合上述的电机驱动原理,小车运动方式可以通过如下方式实现:四个控制信号均为低电平时,电机停转,小车停顿;电机的左右轮电机同向等速运行时,可以实现前行或后退的动作;小车的左右转向通过两轮差速来实现。在本机器人的设计中,需要实现的90°和180°固定角度转弯,是通过电机定速运动和延时的配合完成的,通过不断调试确定出最正确的旋转时间。在电机子程序中设置Set_motor(u16L1,u16L2,u16R1,u16R2)函数修改4路PWM占空比,然后在主函数中调用该函数即可完成轮速的设置。3.5火焰检测程序火焰传感器的输出量是一个模拟量,与距离火焰的距离有确定的关系。因此只需要对这个模拟量进展AD转换,得到对应的数字量,控制器就可以大致判断前方是否有火焰,以及距离火焰的距离。子程序中通过Get_Adc(u8ch)函数得到对应的数字量,供主程序调用。同时在主程序中设置数字量的上下阈值,当数字量大于最低阈值时,说明前方有火焰,前行靠近;当数字量大于最高阈值时,说明距离火焰的位置足够近,可以停顿运动开场灭火。第4章机器人系统开发调试步骤4.1传感器选型和引脚分配在已有小车的框架上,选择需要的传感器种类和个数,并大致规划传感器的安装位置及安装方式。同时对单片机的内部资源,如定时器通道等进展分配,确定各外设对应的单片机控制引脚。该局部在硬件设计局部已有介绍,不再赘述。4.2传感器独立测试4.2.1超声波测距传感器测试编写超声波传感器测距子程序,即输入捕获通道设置和定时器产生触发脉冲函数,得到检测量——障碍物的距离〔cm〕,通过每获得一次距离就通过串口发送一次距离数值的方式来进展测试。完成程序的编写后,对程序进展编译,并下装到小车的单片机中。在USB转串口线连接的前提下,翻开串口调试助手。安装超声波传感器,并给小车通电后,改变超声波传感器前的障碍物的距离,观察串口调试助手接收到的数据是否与实际距离一致。4.2.2红外避障传感器测试编写红外避障传感器子程序,即完成传感器的引脚配置。主程序完成初始化后,在循环中完成对红外避障传感器输入引脚的扫描和判断,通过串口发送结果。完成程序的编写后,对程序进展编译,并下装到小车的单片机中。在USB转串口线连接的前提下,翻开串口调试助手。连接各个红外传感器引脚,给小车通电后,改变红外避障传感器前的障碍物的距离,观察串口调试助手接收到的指示信号是否与传感器上的指示灯一致。4.2.3火焰传感器测试编写火焰传感器子程序,完成传感器输出的模拟信号的AD转换。主程序完成初始化后,在循环中调用得到AD转换结果的函数,并通过串口发送得到的数字量。完成程序的编写后,对程序进展编译,并下装到小车的单片机中。在USB转串口线连接的前提下,翻开串口调试助手。连接火焰传感器引脚,给小车通电后,改变火焰传感器前的火焰的距离,观察串口调试助手接收到的数字量大小。4.3电机独立测试编写电机控制子程序,即4路PWM通道设置和占空比设置函数。主程序中完成初始化后,通过调用占空比设置函数,修改占空比,改变小车两轮轮速和转向。完成程序的编写后,对程序进展编译,并下装到小车的单片机中。给小车通电后,观察小车的连续直行、连续左转、连续右转等操作是否可以正常进展接下来可以通过参加延时来控制每次转向的角度,测试左转90°、右转90°、左转180°三种动作在固定轮速下的延时时间长短。4.4综合测试以上步骤完成后,我们将小车放置在实现搭建好的迷宫环境中进展实验。首先为无火焰走迷宫实验,主要目的为:检验直角弯、180°旋转的角度是否准确;检验直线校正是否可以到达较好的效果,使小车路线平滑且接近路径中线。通过小车走迷宫实验,我们发现的问题是小车在左〔右〕转弯时,由于检测左〔右〕障碍物的传感器在小车的正左〔正右〕,所以转向后直行有撞到障碍物边缘的可能性,而且90°转弯完毕后所处位置仍可能被红外传感器检测为左〔右〕侧无障碍,在不适当的位置重复转弯,所以我们采取的措施是当检测到需要左〔右〕转向时,执行"直行——左〔右〕转——直行〞的操作,并通过实验调试出了比拟适宜的直行延时时间。同时我们

温馨提示

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

评论

0/150

提交评论