当前位置:文档之家› 灭火机器人课程设计资料报告材料

灭火机器人课程设计资料报告材料

智能机器人课程设计设计题目:灭火智能机器人的设计和实现目录第1章机器人系统总体方案设计 (4)1.1 设计目标 (4)1.2 机器人功能设计及指标要求 (4)1.3 机器人系统总体结构设计 (5)第2章机器人系统硬件详细方案设计 (6)2.1 传感器选型 (6)2.1.1 超声波测距传感器 (6)2.1.2 红外避障传感器 (6)2.1.3 火焰传感器 (7)2.2 机器人系统硬件连接图 (7)2.2.1 STM32单片机最小系统 (7)2.2.2 电源模块 (8)2.2.3 红外避障传感器 (9)2.2.4 超声波测距传感器 (9)2.2.5 火焰传感器 (9)2.2.6 电机驱动模块 (10)第3章机器人系统软件详细方案设计 (10)3.1 主函数 (10)3.2 超声波测距程序 (12)3.3 红外避障引脚设置程序 (14)3.4 电机驱动程序 (14)3.5 火焰检测程序 (15)第4章机器人系统开发调试步骤 (15)4.1 传感器选型和引脚分配 (15)4.2 传感器独立测试 (15)4.2.1 超声波测距传感器测试 (15)4.2.2 红外避障传感器测试 (15)4.2.3 火焰传感器测试 (16)4.3 电机独立测试 (16)4.4 综合测试 (16)第5章实验中遇到的故障及解决方法 (18)第6章收获与体会 (18)第1章机器人系统总体方案设计1.1 设计目标本次课程设计的目标是:在一辆两驱智能小车的基础上,搭载各种传感器,设计出一款具有自动避障和搜寻火点功能的智能机器人,可以完成简易的灭火功能。

设定的实验环境为带有隔板障碍的4*4方格迷宫,如图1-1所示。

起火点随机放置在其中一个方格中。

机器人需要从起点开始搜寻火点,躲避障碍,最终靠近火点一定距离时,小车停止运动,进行接下来的灭火操作。

图1-1 机器人灭火场地布局图本课设旨在通过一类典型智能机器人的设计、调试,掌握各环节和整个智能机器人系统的调试步骤与方法,加强基本技能训练,培养灵活运用所学理论解决控制系统中各种实际问题的能力。

1.2 机器人功能设计及指标要求该智能机器人系统的主要功能包括:可以检测周围环境并发现障碍;可以灵活前后行进、停止和转向;可以根据障碍位置做出避障决策;可以准确搜寻到火焰位置并在火焰面前停止并进行灭火等。

由于实验环境设定为方格迷宫,所以机器人的路径规划可以转化为迷宫的遍历问题,而且转向角度简化为90°和180°的组合问题。

整个搜寻过程中,小车尽量不碰撞到障碍物和墙壁,且从出发到找到火点的时间应在3分钟。

在成功灭火后可以继续进行其他火源的搜寻,即可以连续完成多点灭火。

1.3 机器人系统总体结构设计本智能机器人系统的结构分为控制器(STM32单片机)、超声波测距传感器、红外避障传感器、火焰传感器、电源模块、电机驱动模块及直流电机等模块,总体结构框图见图1-2。

图1-2 总体系统框图控制器采用STM32单片机,负责传感器数据的采集和电机等执行元件的控制,同时进行避障决策,对小车的运行方式和运行轨迹给出整体规划。

超声波测距传感器和红外避障传感器相互协调,负责小车周围障碍物的探知。

主要负责探测小车的前、左、右三个方向是否有挡板遮挡,以及对小车的路径偏移进行纠正。

火焰传感器可以测量到传感器距离火焰的距离,可以用作起火点搜寻的依据。

电机驱动模块负责左右两轮电机的分别控制,可以实现电机的正反转和调速,从而完成小车的启停和转向。

电源模块负责给单片机和各传感器及电机驱动模块供电。

灭火设备可以选用风扇或者水泵等,依据实验室已有资源确定。

第2章机器人系统硬件详细方案设计2.1 传感器选型2.1.1 超声波测距传感器超声波传感器包括超声波发射器、接收器与控制电路,主要用于距离检测,可测量2cm-400cm的非接触式距离,测距精度可达高到3mm。

其测距原理为利用单片机引脚触发超声波发射器发送超声波,超声波在有阻挡的情况下,反射回超声波接收器,利用单片机中的计数器计算从发射到接收回波所用的时间,再将时间通过一定的换算转换为以厘米或者毫米为单位的距离值。

本机器人系统使用1个超声测距传感器,安装在小车正前方,用于检测小车正前方是否有挡板障碍。

该传感器为HC-SR04,具有Vcc、Trig、Echo、Gnd四个引脚。

2.1.2 红外避障传感器红外避障传感器利用物体的反射性质,具有一对红外线发射与接收管,发射管发射出一定频率的红外线,在一定围,如果没有障碍物,发射出去的红外线,随着传播距离变远而逐渐减弱,最后消失;如果有障碍物(反射面),红外线遇到障碍物(反射面),被反射到后由接收管接收;传感器检测到这一信号,就可以确认正前方有障碍物。

经过电路处理后,信号输出接口输出数字信号,送给单片机。

本机器人系统共使用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.1 STM32单片机最小系统图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所示。

主程序的思路如下:(1)小车的路径判断按照“先左、再前、再右、再后转”的原则进行,即当检测到左侧没有挡板时,小车左转90°;当检测到左侧有挡板,但是前方无障碍时,小车直行;当左方、前方都有障碍,但是右方没有障碍时,小车右转90°;当左右前三个方向都有障碍时,小车后转180°向后行进。

(2)直行时由于小车行进有误差,容易偏离直线,所以使用两个红外传感器进行路径的微调。

当小车行驶在通道中心线上时,两个传感器都处于无障碍的状态中;当小车左偏时,左侧传感器检测到障碍,右侧传感器检测无障碍,进行小角度的右转调整;小车右偏时同理。

(3)当火焰传感器检测到小车前方有火焰时,小车不进行路径判断,直接前行接近火焰,直到距离火焰一定距离时停止,进行灭火操作,直到将火焰熄灭,继续进行路径判断和火焰搜寻。

图3-1 主程序框图3.2 超声波测距程序超声波测距传感器的工作原理为:单片机计算从发射到接收回波所用的时间,再将时间通过一定的换算转换为距离值。

定时让IO触发TRIG测距,有信号返回,通过ECHO输出高电平,高电平持续的时间就是超声波从发射到返回的时间。

距离计算方法为:输入捕获模式可以用来测量脉冲宽度或者测量频率。

STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。

STM32的输入捕获,是通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。

使用这个功能,我们可以较为方便地得到超声波发射到接收所用的时间。

这里我们用TIM4CH2进行输入捕获,用TIM2控制触发脉冲的产生。

计算得到的距离储存在全局变量lenth中,供主程序调用。

程序流程图如图3-2所示。

图3-2 超声波测距程序框图3.3 红外避障引脚设置程序红外避障传感器是依据红外线的反射来工作的。

当遇到障碍物时,发出的红外线被反射面反射回来,被传感器接收到,信号输出引脚就会给出低电平提示信号。

相关主题