基于STM32单片机的擦玻璃机器人控制系统设计毕业论文
2020-04-09 15:41:39
摘 要
本课题以新型擦玻璃机器人为对象,开发其基于STM32单片机的控制系统。主要完成的设计工作包括:
- 进行机器人功能分析,明确机器人硬件功能模块;
- 基于STM32设计控制系统硬件、搭建嵌入式软件架构、并开发其基本功能模块的控制程序;
- 制备了控制系统样机,进行初步的样机实验。实验结果表明,控制系统能够实现对机器人擦拭玻璃的控制。
关键词:擦玻璃机器人 控制系统 STM32 电流检测 PWM控制
Abstract
In this topic, a new glass-wiping robot is targeted and its control system based on STM32 is developed. The main completed design work includes:
- Carry out robot function analysis and define the robot hardware function module;
(2) Design control system hardware based on STM32, build embedded software architecture, and develop control programs for basic functional modules;
(3) Prepare a control system prototype and carry out the design and verification of the implementation technology. After the commissioning is completed, the control system can drive the robot to wipe the glass.
Keywords: glass-wiping robot ;control system; STM32; current detection; PWM control
目 录
第1章 绪论 1
1.1 课题背景 1
1.2国内外擦玻璃机器人的研究现状 1
1.3课题的主要任务 2
1.4 论文章节安排 2
第2章 功能分析以及总体方案选择 4
2.1控制系统功能分析 4
2.2系统总体方案选择 4
2.2.1 控制器模块技术方案 4
2.2.2 电机驱动模块技术方案 5
2.2.3 通信模块技术方案 6
2.2.4 信号检测模块技术方案 7
第3章 硬件电路设计 8
3.1引言 8
3.2 最小系统电路设计 8
3.3 电机驱动电路设计 10
3.3.1 耦合电路设计 10
3.3.2 驱动电路设计 11
3.3.3 电压转换电路 12
3.4 导航模块电路 13
3.5 电流检测电路 13
3.6 蓝牙通信电路 15
第4章 软件设计 16
4.1功能分析 16
4.2 程序设计 17
4.2.1主函数设计 17
4.2.2 PWM程序设计 17
4.2.3 ADC程序设计 19
4.2.4 MPU6050程序设计 20
4.2.5蓝牙程序设计 21
4.2.6 电流检测函数设计 22
第5章 控制系统调试 23
5.1 PCB板的焊接 23
5.2 程序开发 25
5.3 机器人运行试验 27
5.4 总结 29
第6章 总结与展望 30
参考文献 31
附录 电流检测函数程序 32
致谢 38
第1章 绪论
- 课题背景
几乎每一栋建筑物都会面对灰尘清洁的问题,尤其是外窗以及其死角部分尤其突出,灰尘不仅影响建筑物的美观,而且它通常带有细菌,病毒。虫卵以及螨虫,对健康的伤害不言而喻。而科技的进步使得扫地机器人,拖地机器人这样的智能化产品得以走进寻常百姓家庭,让每天轻松扫地,拖地的梦想得以实现。擦玻璃机器人将极大降低高层建筑的清洗费用,提高生产效率,消除人工成本,也必将极大地推动清洁业的发展,带来相当的社会效益。但是日常生活中,擦玻璃机器人的使用并不是很普遍,大多数的建筑物还是使用传统的清洁方式或者干脆采取不清洁的方式,这些做法都是与实际利益想不符的。究其原因,无非就是缺少一套完善的智能控制系统。
1.2国内外擦玻璃机器人的研究现状
机器人的研究研究最早始于20世纪60年代,美国研制出了世界上第一台应用于工业的机器人,比世界上其他国家要早很多。早期的机器人研究主要是用轮式驱动机器人移动。轮式机器人是应用最普遍的机器人之一主要用于交通行业,但随着科技的发展移动机器人的运用逐渐扩散至清洁、医疗、安保、娱乐、日常生活等各个领域。
智能家居是21世纪的新宠儿,在高强度的生活压力和工作压力下,人们希望能有一个温暖舒适的家庭环境,因此智能家居机器人的需求越来越大。为了适应生活需求,智能扫地机器人,智能照明家居系统,多功能家庭影院等等一系列的产品应运而生。其中也包括智能擦玻璃机器人。智能家居的迅速发展,一方面调高了生活的质量,另一方面也促进了人类文明的发展,总有一天会取代传统家居的地位。
日本科沃斯公司在2014年5月开始发行winbot擦玻璃机器人。winbot通过正负压强差的方法将机器人吸附在表面相对光滑的玻璃上,机器人的运动通过履带进行移动。winbot的移动路径为“Z”字形,利用自动检测边缘自动规划机器人覆盖玻璃面积的最短路径。winbot还可以利用红外通信的方式进行人机通信遥控机器人清洁特殊形状的玻璃。为了有效地清洁玻璃的死角部位将机器人的底盘设计成正方形。winbot需要外接电源,为了消除机器人突然掉电所带来的安全隐患需要内置400毫安容量的锂电池。这样电源线即使意外被切断也不会造成机器人脱落,保证了高空作业的安全性[1]。
对于擦玻璃机器人的研究国内一直处于落后状态,但是也取得了一定的成就。1975年在北京开展的日本科技展览会上,川崎重工业公司首先在中国展出了工业机器人(Unimate-2000型搬运机器人。以此为发端,北京自动化研究所,上海交大,沈阳自动化所,大连组合机床所,广州机床所等十几个单位纷纷开始加入研制机器人的热潮。
在哈尔滨工业大学机器人研究所诞生了我国自行设计并研制的第一台壁面爬行式遥控检查机器人(BH-1型),主要应用于我国的核电事业检查制废弃物储物罐安全(检测方法为超声波探伤及测厚)[2]。
香港城市大学对爬壁机器人进行了积极的研发,他们发明出一款十字形框架结构的全气动壁面爬行机器人。该机器人系统由爬壁机器人,底盘小车,吸附风机,微控制器等组成。机器人的动力系统主要有两个垂直正交的气缸组成,依靠两个气缸的机械运动来实现机器人前后左右移动。为了防止方向上的累计误差,该机器人还有一个由摆动气缸组成的类似腰关节的机构通过反馈来实现对方向误差的校正[3]。
尤其值得一提的是2014年底山西嘉世达与台湾好样科技集团达成合作,设计研发出“玻妞”擦玻璃机器人。它运用独有的单边真空双吸盘吸附保护原理,突破了玻璃厚度的限制。玻妞具有三大能力:
- 具有人工分析能力,通过传感器,获取碰撞信号,实现机器人转向;
- 具有人工思考能力:通过智能调节,及时调整智能清洁路径;
- 具有人工行动能力:通过人工辅助控制,提高机器人的清洁质量。
窗体底端
虽然擦玻璃机器人的研究已经取得了一定的成果,但是在我们日常生活中还是很难看到它们的身影,可以看出擦玻璃机器人的研究要更加的贴近生活实际,更快的走进我们的日常生活。因此,本课题的研究也就显的非常重要。
1.3课题的主要任务
本课题拟在设计一款擦玻璃机器人控制系统,使得该机器人能够自动完成擦玻璃的工作,主要研究内容如下:
- 进行机器人功能分析,明确机器人硬件功能模块;
- 根据功能需求设计硬件电路,并查询资料绘制PCB板;
- 查阅STM32开发相关资料,设计基本功能模块的控制程序;
- 样机的实验与调试。
1.4 论文章节安排
本文各章节主要安排如下:
第1章主要介绍的擦玻璃机器人的课题背景以及国内外的研究状况,阐明擦玻璃机器人控制系统研究的重要性。
第2章首先分析对控制系统进行功能分析,并基于此分析进行系统总体设计方案进行选择,确定选型方案和技术方案。
第3章主要根据第2章的方案来设计硬件电路,包括控制器最小系统,电机驱动电路等等。
第4章根据功能分析来进行相关模块的程序设计,实现具体的控制。
第5章在第3章和第4章的基础之上,进行程序的调试以及实物的调试,验证该控制系统的可行性。
第6章对本次设计进行总结,并基于最后的控制效果提出了下一步有待解决的一些问题。
第2章 功能分析以及总体方案选择
2.1控制系统功能分析
擦玻璃机器人的工作环境为高楼室内以及室外玻璃表面,两者都为竖直表面,所以首先就得考虑机器人吸附玻璃的问题,解决此问题,得考虑玻璃表面的摩擦系数以及机器人本身的重量。擦玻璃机器人主要使用于家居以及高层建筑的玻璃清洗,本次设计的控制系统要求能够控制机器人自动完成清洗过程,当机器人吸附在玻璃表面后,需要驱动机器人移动,当机器人在移动过程中遇到窗沿(障碍物)后,需要采集电信号控制机器人能够转向,当机器人在移动过程中,由于玻璃表面的凹凸不平,可能会发生路径偏移,所以要求机器人具有自动路径调整功能。智能系统的控制离不开人机交互,为了增强用户的实用性,还应该增加机器人的通信功能。
综上所述,本次设计主要包括电机驱动模块,控制器模块,导航模块以及通信模块,信号检测模块等等。系统的功能框图如图2.1所示:
图2.1 系统功能框图
其中,控制器模块为STM32单片机最小系统,通信模块主要用来控制器模块之间进行通信传递指令,电机驱动模块包括电机驱动电路以及电机,导航模块为传感器加信号处理电路,电流检测模块主要是电流检测电路和运放电路。
2.2系统总体方案选择
2.2.1 控制器模块技术方案
微控制器模块用来作为控制系统的“大脑”,本课题要求基于STM32单片机开发移动机器人的嵌入式控制系统,STM32系列单片机主要包括F1系列以及F4系列,两者都具有丰富的串口功能,高速度的微处理器芯片。F1采用Crotex M3内核,F4采用Crotex M4内核,运行速度更快。F4有备份域SRAM(通过Vbat供电保持数据),当机器人突然掉电时,能够帮助机器人对当前工作状态有一个记忆功能,而F1没有备份域SRAM,也就不具备断电保护功能。F4从内部SRAM和外部FSMC存储器执行程序的速度比F1快很多,能够保证机器人高效的运行。而且F4的串口功能更加丰富,比如说4通道PWM波输出以及3通道AD输出口等等。
F1和F4都具有3个12位的独立ADC,F1可提供21个输入通道,F4可以提供24个输入通道。F1没有独立的32位定时器(32位需要级联实现),F4的中级定时器具有32位上下计数功能,因此F4可以用来设计更长的定时周期,提供更久的延时功能。所以本次设计选用STM32F4系列的单片机作为控制器,该处理器具有丰富的IO口,定时器功能十分强大,主要包括TIME1和TIME8等高级定时器(7路PWM输出),TIME2~TIME5,TIM9~TIM14等通用定时器(4路PWM输出),以及TIME6和TIME7等基本定时器(2路PWM输出)。
2.2.2 电机驱动模块技术方案
电机驱动模块用来驱动机器人的移动。首先要选择驱动电机的类型,常见的控制用电机分为步进电机和伺服电机。步进电机的工作原理是将电脉冲信号转变为直线位移或者角位移的元件,伺服电机的内部的转子是永磁体,转子在此刺磁场的作用下转动。两者的工作方式基本相同,伺服电机的转动精度高,工作稳定,过载能力强,但是成本高。本次设计的控制要求并不是很高,综合成本考虑,选择步进电机驱动机器人移动。
步进电机相最大的优点在于,它能够直接处理数字控制信号并转化成与之相对应的角位移或线位移。可以通过调节PWM占空比来控制电机的转速。步过电机转速的选择也是要特别考虑的,本次设计选择的步进电机的型号20HS步进电机,额定转速为2000转每秒。
由于步进电机的工作原理是利用电场产生磁场,磁场的相互作用,从而带动电机的转动,因此必须加以驱动电场产生磁场。磁场的强弱与脉冲信号的频率有关,脉冲信号频率越快,磁场的强度越大,电机的转速也就越快。常见的步进电机驱动器包括L298驱动集成芯片以及IR2104半桥驱动芯片。
L298是一种专用的步进电机的驱动集成芯片,内部为双H桥结构,芯片内部有逻辑部分电源,下桥臂NPN晶体管的发射极引出外引脚,用来连接电流检测电阻,可以用来驱动电机一和电机二的转动。
IR2104半桥驱动芯片也可以用来驱动电机的转动,具有逻辑输入与标准CMOS或LSTTL输出,下降到3.3V逻辑,输出驱动器具有高脉冲电流缓冲级可用于驱动一个N沟道功率MOSFET或IGBT的高侧配置,可用于驱动电机三。而两片IR2104半桥驱动电路可以组合成一个全桥驱动用于驱动电机一和电机二的转动,考虑到电路的集成性以及综合成本,最后还是使用IR2104半桥驱动芯片。
2.2.3 通信模块技术方案
通信模块用来增强机器人的人机通信功能,机器人的通信从通信对象角度分为本地通信和交互通信。前者是指移动机器人内部处理器、传感器、执行器之间数据的釆集与传输,主要包括对数据信息的传输、视频和图像的传输等。移动机器人交互通信主要有两种情况,分别是多移动机器人间的通信和移动机器人的远程控制。多机器人通信是指两台或两台以上的机器人间进行通信,一般采用无线的通信方式。多机器人协作和控制研究的基本思想就是将多机器人之间的协作看作一个团体,研究其内部的协作机制,从而加强多机器人之间的交流。因此,选择一种通用的高效的保密性好的通信方式就显得很有必要。
与传统意义上的有线电话网络或者无线蜂窝网络通信系统不同,移动机器人的通信的主体是移动机器人,由于应用背景不同,应用场合也比较特殊,所以对于通信系统的要求有较大的区别。常见的移动机器人的通信方式包括红外技术通信,蓝牙通信,ZigBee通信,WIFI通信,Ad Hoc通信,UWB超宽带通信等等,由于STM32本身自带红外模块,所以本次设计拟采用蓝牙通信技术,以及红外通信技术两种方案。
蓝牙技术是一种无线数据通信科技,它以无线连接为基础,为移动终端通信环境建立一个特定连接的短程无线电技术。本质是建立通用的无线电空中接口及其控制设备的公开标准,使通信终端设备和计算机能够彼此结合,使不同的便携式设备在没有电线相互连接的情况下,能在近距离范围内具有相互操作的功能。蓝牙工作在全球通用的2.4 GHZ 频段,普遍适用于工业,医学业以及科学研究等方面,数据速率为1Mhps,最高可达24Mhps;采用时分双工实现全双工传输;有效通信距离为10-100m;支持移动终端;体积小、结构紧凑、安装方便、输出功率低并且确保消耗最小的电能[4]。
蓝牙被广泛应用于移动终端设备上,比如手机可以通过蓝牙来实现设备与设备之间通信以及文件的传输,最近几年开始掀起蓝牙音响蓝牙耳机的热潮,蓝牙耳机的出现给我们的生活带来了相当多的便利,尤其是在开车驾驶的过程中,可以避免由于接听电话所导致的安全事故的产生。为了方便通信很多终端都配置有蓝牙通信功能,除此之外在智能家居行业,很多的智能家具比如扫地机器人,空调等都配置了蓝牙通信的功能。
相比蓝牙通信,红外通信的实际使用率比较低,最早它比较常见于军工业等单位,日常生活中利用红外通信作为遥控。现代红外技术已经打开了红外应用的大门,例如红外报警,红外跟踪,人体红外检测(夜视仪),红外医学治疗,还有利用红外成像原理衍生出来的一系列监视装备等等。红外通信可以实现两个彼此相邻的近距离点之间的保密通信和信息转发,它一般由发射装备和接收装置两部分组成。红外通信系统包括发射和接受两个装置,发射装备对一个信号源进行调制后发射红外信号,而接收装置用红外探测器进行接收,就样就完成了一次通信过程。红外通信系统的特点:信息保密度高,方便快捷,传输容量大,使用的环境不受限制,室内室外都能够正常通信。红外通信具有良好的方向性,尤其适用于军事活动的保密通信,但也存在一定的弊端就是在室外使用时通信易受气候影响作。红外通信方式的最大优势是不受其他电信号干扰,使用不受管理。
为了增加移动机器人的人工实用性,考虑到后续会开发一款配套的APP产品,所以本次设计选用蓝牙通信技术。
2.2.4 信号检测模块技术方案
信号检测模块作为控制系统的输入参考信号端,可以是电信号或者数字图像信息,主要用来当机器人碰到窗沿的时候,控制机器人的转向。本次设计共有三种方案:
- 通过传感器检测碰撞信号,将信号传给微处理器进行处理;
- 通过摄像头进行图像识别,检测边缘信息,发送给微处理进行处理;
- 通过检测电机内部电阻两段的电信号,进行边缘检测。
由于本次设计选用的全桥驱动电路内部包括一个电流检测电阻,所以选用方案三,通过检测电流信号来判断是否进行转向。当电流值小于正常工作时的电流值时,即需要转向。
第3章 硬件电路设计
3.1引言
本次设计的系统硬件电路主要包括控制器电路,电机驱动电路,电压转换电路,导航模块电路,蓝牙通信电路以及电流检测电路等等。最小系统要求能够控制电机的转动,还要求能和蓝牙模块进行实时通信以及接收电流检测电路的电流信号值。设计流程如图3.1所示:
图3.1 硬件设计流程图
3.2 最小系统电路设计
STM32最小系统包括微控制器芯片、电源电路、时钟电路、单片机复位电路、启动配置电路和程序下载电路构成,除此之外,最小系统通常还加上几个辅助电路以进行简单的验证[5]。本次设计采用的是STM32F407ZGT6微控制器芯片集成FPU和 DSP指令,并具有192KBSRAM、1024KBFLASH、12个16位定时器、2个32位定时器、3个IIC以及112个通用IO口等[5]。
STM32F4本身非常复杂,外设也很多,而对于同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所以采取多时钟源的方法来解决此类问题。微控制器的时钟信号通常由晶振产生,STM32共有两个时钟源,如图3.2(a)所示,Y101是32.768KHz晶振,为RTC提供时钟源分别接PC14口和PC15口;另外一个如图3.2(b)所示,Y100为8MHz晶振,为整个系统提供时钟源,OSC IN端接PH0口,OSC OUT端接PH1口。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。