历史上的今天
返回首页

历史上的今天

今天是:2025年03月16日(星期日)

正在发生

2021年03月16日 | 一款基于STM32的智能灭火机器人设计

2021-03-16 来源:eefocus

引 言

本设计的研究初衷来源于灭火机器人比赛,比赛场地将采用国际标准比赛场地,比赛场地平面图如图1所示。比赛场地的墙壁高为33cm,厚为2 cm,由木头做成。墙壁刷成白色。比赛场地的地板是被漆成黑色的光滑木制板。场地中所有的走廊和门口都是46 cm的开口,一个白色的2.5 cm宽的白色带子或白漆印迹表示房间人口,在距离火焰30 cm的圆上有一条2.5 cm宽的白线。根据要求,该机器人要在模拟的四室一厅房间内完成发现并确认火源、灭火和回家(回到出发点H)等功能。

本文以STM32F103嵌入式芯片为核心,完成灭火机器人的软、硬件设计。当机器人启动后,前部和左右的红外测距传感器为机器人的避障功能和沿墙走方式 提供参考信号。机器人的运动速度以及运动方向由处理器输出的PWM信号来控制。火焰传感器检测房间内火源,发现火源后机器人朝向火源方向行走,底部的灰度 传感器检测地面白线判断机器人是否靠近火源,控制机器人暂停,启动风扇灭火,灭火后回家。


1 系统硬件设计

根据设计要求,本系统主要由STM32F103、传感器模块、直流电机驱动模块、风扇模块、电源模块等构成。系统框图如图2所示。


1.1 机器人整体布局

机器人左右两轮分别用两个转速和力矩完全相同的直流电机进行驱动,机器人前部装一个万向轮,这样,可以轻松地使机器人改变运行方向和运动速度。机器人前面装有风扇、火焰传感器和红外传感器,头部底侧装有灰度传感器,左右两侧各有3个红外测距传感器,两侧的传感器可以分别测量不同范围内的障碍物距离。


1.2微控制器模块

系统传感器模块要不断采集环境信息,要求控制芯片有较高的实时处理能力和较高的处理速度,因此,系统选用嵌入式芯片STM32F103该芯片使用ARM先进架构的Cortex—M3内核,CPU频率可达72 MHz,具有两个16位ADC用于高速采集数据采集,15个I/O端口用于连接外部设备。I/O端口作为输入口读取检测端口和传感器组的数据,作为输出端口用于驱动电机和风扇。4个PWM定时器用于驱动大功率直流电机。芯片具有速度快、功耗低、可靠性高、实时性强等优点。


1.3 传感器模块

传感器模块主要由红外测距传感器、火焰传感器和灰度传感器三类组成。


红外测距传感器主要检测障碍物(墙壁),防止机器人撞墙。本设计采用光电式红外传感器E18-D80NK,它是集红外发射模块和红外接收模块于一体的数字传感器,有效检测范围为3~80 cm可调,指向角≤15°。根据比赛场地特点,本设计采用7个此类传感器,这样的传感器布局可以采集所需的各种信号,准确测障,灵活调整运行方向,保证机器人运动过程中不碰壁。传感器的分布如图3所示。


火焰传感器用来检测火源,寻找火源位置。采用5路火焰传感器组成火焰传感器组,传感器组的设计如图4所示,这种结构可以探测180°范围内火焰信号源。机器人在房间门口就可检测房间内是否有火源,若无火源则直接退出该房间循迹下一个房间,大量节省了时间。

地面灰度传感器安装于机器人前部的底座上,用于检测地面反射光线的强度。本设计选用QTI灰度传感器,该器件可作为红外接收器和发射器,内嵌日光过滤器,可防止日光的干扰。其数字信号输出主要用来检测比赛场地中火源周围的白线,控制机器人在有火源的白色圆弧处暂停。


1.4 电机驱动模块

为了控制机器人的运动速度和方向,设计了一种H桥驱动电路。该电路以IRF4905和IRF3205 MOS管为开关元件,以IRF1210为栅极驱动芯片。主控芯片产生的PWM信号控制驱动芯片,进而控制机器人左右轮的转速和万向轮的转向。驱动电路的电路图如图5所示。灭火风扇的电机采用大功率MOs驱动器,由伺服电机输出端的信号驱动。


1.5 其他模块

为保证系统正常工作和顺利灭火,系统还包括电源模块、时钟模块和风扇模块。以电源模块为例,电源模块通过专用的电源转换芯片7805产生传感器所需的5 V电源,通过LM1117产生主控制器所需的3.3 V电源。电源模块如图6所示。

2 系统软件设计

系统软件采用C语言编程,主要包括主程序、运动控制程序、灭火程序和回家程序等部分,主要用到的算法有沿墙走算法和趋光走算法。在程序设计中,通过传感器采集信息,按照沿墙走算法控制机器人的行动,当发现火源后按照趋光走算法迅速、准确地靠近火源、灭火并回家。程序运行中应避免机器人碰撞障碍物(墙壁)。主程序控制流程图如图7所示。


机器人运动控制程序采用沿墙走算法,由ADC采样程序、电机开启、电机停止、电机速度和方向控制程序、延时程序等部分构成。通过红外测距传感器采集的信息,全方位地判断障碍物的情况,控制机器人的下一步运动方式,主要有直走、后退、左微调、右微调、左转弯、右转弯等。


机器人灭火程序主要完成火源的寻找、确认以及灭火任务并回家。在机器人检测到房间内有火源时,采用趋光走算法,根据火焰传感器组的状态,调整机器人运动角度,使其直面火源方向前进。当检测到房间内火源周围白线时,停止运动,开启风扇灭火;当检测不到火源时,灭火成功。最后,启动回家模式,该模式采用沿墙走避障算法。


该软件系统具有很大的灵活性,因为各程序是分模块设计的,当比赛规则改变时,只需通过主程序调用不同的模块即可完成新的任务。


3 结果与分析

对本系统进行性能测试,测试中首先对电机进行测试,电机在正常工作电压下,调整软件系统的PWM控制值,可以实现电机的调速、直行前进、后退、左微转、右微转、左转90°和右转90°等功能。然后对机器人在比赛场地进行灭火实验,共进行30次实验,随机地把点燃的蜡烛放在各个房间的指定位置。机器人都能顺利地找到火源,灭火回家且所用时间均在1 min之内,试验中没有出现碰壁现象。此数据表明机器人能平稳地按照靠墙走原则完成任务。整个系统具有很快的响应速度、较高的稳定性和较强的抗干扰能力。


推荐阅读

史海拾趣

Coil-Q Corporation公司的发展小趣事

随着公司规模的扩大,Coil-Q意识到单靠自身的力量难以应对日益激烈的市场竞争。于是,公司积极寻求与其他企业的战略合作,与多家知名电子品牌建立了长期稳定的合作关系。通过共享资源、共同研发,Coil-Q不仅拓展了业务领域,还提高了自身的技术水平和市场竞争力。

Hind Rectifiers Ltd公司的发展小趣事

在电子行业的初期,Coil-Q Corporation以其独特的线圈技术崭露头角。公司创始人发现了传统线圈在效率和稳定性上的不足,于是投入大量资源进行研发,成功开发出一种新型高效线圈。这一创新不仅提高了电子设备的性能,还降低了能耗,迅速赢得了市场的青睐。随着技术的不断完善和市场的扩大,Coil-Q逐渐成为了电子线圈领域的领军企业。

屹晶微(EG)公司的发展小趣事

屹晶微的创始人黄米龙,原本在发电厂从事电气运营工作长达八年。这段经历让他对电子领域有了深入的了解和浓厚的兴趣。然而,他并没有满足于现状,而是看到了中国芯片产业的巨大潜力和发展空间。于是,在2007年,他毅然决定从发电厂辞职,利用自己的积蓄和借来的资金,在台州创立了屹晶微电子有限公司。

在创立初期,屹晶微面临着资金短缺、技术落后和市场竞争激烈的困境。但黄米龙凭借对电子行业的深刻理解和坚定的信念,带领团队克服了种种困难。他们不断引进先进技术和设备,加强研发力量,提升产品质量。经过几年的努力,屹晶微逐渐在芯片设计领域崭露头角,并成功推出了多款具有自主知识产权的芯片产品。

DuPont公司的发展小趣事

近年来,随着数字化技术的快速发展,DuPont公司也积极推进数字化转型,以适应电子行业的快速变化。公司通过引入先进的数字化技术和工具,优化了生产流程、提高了生产效率、降低了生产成本。同时,公司还加强了与客户的数字化连接和互动,提供了更加便捷、高效的服务。这些举措不仅提升了DuPont公司在电子领域的竞争力,也为公司的长期发展奠定了坚实基础。

BLACK&DECKER公司的发展小趣事

随着公司的不断发展壮大,BLACK&DECKER开始进军国际市场。1993年,公司在中国成立了第一家工厂,这标志着BLACK&DECKER全球化战略的重要一步。此后,公司通过在全球范围内设立生产基地和销售网络,不断扩大品牌影响力。同时,BLACK&DECKER还通过收购其他知名品牌,如得伟(DeWalt)等,进一步巩固了其在电子行业中的领先地位。

风华邦科(FH-BK)公司的发展小趣事

在电子科技领域,FlyWin集团不断投入研发资源,致力于新技术的开发与应用。公司成立了专门的研发团队,专注于人工智能、物联网等前沿技术的探索。通过不断的技术创新,FlyWin成功推出了一系列具有自主知识产权的电子产品,如智能传感器、物联网解决方案等。这些产品不仅提升了公司的市场竞争力,也为公司的长远发展提供了强大的技术支撑。

问答坊 | AI 解惑

PLC、DCS、FCS三大控制系统的特点(转贴)

FCS是由PLC发展而来的;而在另一些行业,FCS又是由DCS发展而来的,所以FCS与PLC及DCS之间有着千丝万缕的联系,又存在着本质的差异。本文试就PLC、DCS、FCS三大控制系统的特点和差异作一分析,指出它们之间的渊源及发展方向。    摘 要: ...…

查看全部问答>

【请教】superIO 的watchdog 问题

本人在做一个硬件项目的软件方面的东西,现在遇到一个问题,请求解决。 是一个主板连接一个MCU,由MCU控制内存的电压调节或超频从而测试内存的性能。 现在要在DOS下,使用MCU去超频。假如死机,利用superIO的watchdog功能,发出一个信号告诉MCU, ...…

查看全部问答>

易懂的单片机入门书

易懂的单片机入门书…

查看全部问答>

版主这个时序定时器要怎么配置才能实现

版主这个时序怎么定时器要怎么配置才能实现啊! 下载 (21.83 KB) 2010-3-1 14:41 …

查看全部问答>

关于用JLINK调试博创UP-TECH2410板子目标板自动重启的问题的解决方法

问题是这样的大概一个月前,我在IAR6.1上建了一个S3C2410的工程,我这边有两种板子,一块优龙FS2410板子,两块博创UP-TECH2410的板子,对应的也有两种调试器,优龙的使用的是DragonJtag,一端跟电脑的并口相连接,一端连接板子的JTAG接口,优龙的板 ...…

查看全部问答>

编写程序

我想用MSP430编写程序,怎样通过编程输出显示已知频率的幅度值啊…

查看全部问答>

开发板,仿真器,测试样机,串口服务器超低价.

XDS510    100元 KL05Z   开发板,全新.  50元 串口服务器,全新,带光盘.  50元 M动力  F28035开发板,加焊485芯片  100元. 测试样品  推挽正激加并网.  200元. ...…

查看全部问答>

如何利用MSP430对一个信号与定值比较

如何利用MSP430对一个4-20mA信号与给定值进行比较,然后驱动灯泡亮灭,并将信号给上位机。 是利用MSP430的比较器呢?还是如何操作?谁能给个思路?谢谢!!!!! \0\0\0eeworldpostqq…

查看全部问答>

大侠求助!FPGA1.2V对地短路

自己焊了个板子,本来运行好好的,突然程序配置不成功了,测量发现1.2V只要一上电就会短路,最后把1.2V电源芯片下掉也是这个问题,3.3V一接通,1.2V的引脚跟地就短路,是什么问题???按理说不上电时1.2 V对地电阻是120欧左右,3.3V对地是330欧左 ...…

查看全部问答>