论文答辩手稿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业论文答辩手稿(结合幻灯片)1、开场白
各位评委老师下午好,我叫李俊武,我设计的题目是“角斗智能小车软件系统设计”,我的指导老师是胡强教授
2、背景介绍
首先,我想本设计的相关背景,主要是配合胡强老师的整机实验教学改革项目,将智能小车这一课题的内容加以丰富和完善。在确定题目之前我们主要的任务是在网上收集与智能小车相关的视频资料,我们最终找到国外一智能小车角斗竞赛的视频,老师看了以后觉得很有趣,也很有研究价值,所以我们就确定了角斗智能小车这一题目。关于智能小车的研究,国内外许多高校都在进行,其在实际中的应用也非常广泛,因此对智能小车的研究意义是非常大的。
3、总体介绍
下面我想对我的设计做一个整体介绍
❖本设计要实现的功能就是角斗,每辆小车都能实时采集传感器信号、智能分析外部环境、自动实现方向控制
❖系统的硬件部分以STC12C5A60S2单片机为控制核心,采用模块化设计。我们之所以采用stc系列的单片机,是因为其相对于传统的51单片机来说,性价比较高,速度快,下载方便,和51单片机也要很好的兼容性
❖系统的软件采用“传感器引导法”来指引小车完成整个任务,这种方法的核心就是单片机通过对传感器信号检测来控制小车的动作。
4、论文结构
这是我论文的结构,共分为六章。我这里主要想说明的是我们小组的一个分工情况:我们组共三名成员,由我的论文题目可知,我主要的任务是系统的软件设计,因此在接下来的讲述中我主要介绍的是软件部分,硬件部分将由我的队友介绍
5、方案选择
在讲解软件设计之前我们首先需要了解本设计中的几个主要方案,因为选择的方案不一样,编程也需要做相应的改变。这里我主要介绍三个与编程密切相关的方案。首先是小车的车体,我们的小车共三个轮子,采用的是后轮驱动,前轮是能够自由移动的,因此要改变小车的状态只需通过编程改变小车后轮的转向和速度就能实现。然后是调速方案,我们采用的是脉宽调速系统,要改变小车的速度只需改变脉宽调制信号的占空比就行了,因此编程比较简单。再一个是电源方案的选择,我们最初采用的是单电源供电,可在调试的时候发现,同样的程序有时可以实现有时又不行了,我们最初以为是程序的问题,后面经过不断试验发现是电源供电问题,分别给单片机和电机驱动模块供电后,问题就得以解决。
6、硬件系统构成
以上是本设计的硬件系统,留给我的队友做介绍,需要说明的是我们要做的是黑线检测模块和寻光模块,寻迹模块是附加的,我只做简要介绍
7、软件设计
这是我论文中软件设计部分的构成,其中主程序主要是对程序进行初始化,以及按键扫描和实现模式之间的转换,其他部分下面由我一一做详细介绍
8、需解决的主要问题
其实,我们主要要解决的就是下面四个问题,我们采用的是循序渐进的方法。在一开始,我们应让小车能动起来,即实现小车前进小车前进、后退和转弯,这是最基本的。然后,当做出黑线检测模块并装到小车上后,再通过编程实现小车对黑线的检测,再有就是实现对目标的探测,完成前三步时已基本实现了本设计的功能,可还需进一步对程序进行修改和完善,使其运行更稳定可靠
9、模块程序设计法
整个软件系统的设计采用模块化程序设计法,它有以下几个优点
❖一个是程序易于编写和调试
❖二是之程序能被多个任务调用
❖三是其能将任务分割,使编程变得简单
10、软件设计流程图
这是我整个软件系统的构成,其中下面的三个子程序都需要对小车的状态进行调整,因此我这里用的都是双向箭头,下面由我对各个模块分别进行介绍
11、小车前进及速度控制
首先是要能控制小车前进后退和转弯,这个比较简单。右下图可知要让小车前进,只需让小车左右轮都正转就行了,我们用的是单片机的P0口的低四位分别接到电机控制芯片L 298的控制信号输入端口IN1、IN2、IN3、IN4,因此通过设置P0口我们就能控制小车的状态。要改变小车的速度只需控制PWM的占空就能实现
12、小车方向控制
而后就是实现小车的方向控制,对于本设计主要有以下三种方案,第一种是让小车的一个电机转,另一个电机不转,第二种是让小车的一个电机正转,而另一个电机反转,第三种是让小车一个电机速度大于另一个电机速度。这三种方法虽然都能让小车转弯,然而每种方法转出来的效果是不一样的,因此我们要根据实际情况选择相应的方法
13、检测黑线程序设计
下面要介绍的是检测黑线的程序设计,其整体思想如下图,首先让小车前进,并不断检测前方是否有黑线,若检测到黑线,则让小车退回圈内,然后继续前进,如此反复进行。这里需要解释一下的是为什么要让小车检测到黑线时停一下再后退,因为在试验中我们发现,若在小车前进的过程中突然就让其后退,有时会死机,检测到黑线后就动不了了,因此为了避免小车状态的突然改变,我们先让小车停几毫秒后再后退就能让小车运行比较稳定。
14 、寻光模块程序设计
要实现搜索目标的功能,我们只要在检测黑线程序的基础上,略作修改即可实现。我们采用的是当小车退回圈里后,让小车旋转搜索,发现目标后迅速发起攻击,其具体程序如下
15、寻光模块程序设计
这里主要想解释的是这一句(if(Sense6==1&&Sense8==1),这一句是为了在小车旋转搜索的过程中也能对黑线进行检测,若检测到黑线,则让小车退回圈内后继续进行搜索,这样就能避免小车在搜索的过程中自己转出圈外
16、寻迹模块程序设计(附加)
最后我还想对寻迹模块的程序做一简要介绍,由于它是附加的功能,所以我只想说说其编程的思想,我们是通过获取各个传感器的电平来获知小车的偏离轨道的状态。比如,若在小车正前方并排装有三个传感器,当中间的传感器检测到黑线,就让小车直走,若小车右边的传感器检测到黑线,则说明小车车身偏左,应让小车右转一点,左边同理。可在实际运行过程中,情况会复杂一点,因为有时需要转很急的弯,因此我们不仅要知道小车偏左还是偏右,还要知道它偏离了多少,偏离较大时就应该多转一点,这样才能让小车不至于脱轨。
17、设计过程介绍
这是我们设计的整个过程介绍,主要包括查阅资料,硬件电路制作和软硬件调试,这里我主要是想介绍一下软件的调试
18、软件调试
在软件调试前首先要构思出在理论上可行的方案,然后写出具体的程序并将程序烧进单片机中进行试验,通过不断观察小车实际运行状态发现程序中存在的问题,然后不断修改程序并进行试验直到小车能实现预期的功能
19、研究结果及价值
经过近三个月的努力,本设计已基本实现角斗的功能,其目的是将另一辆小车撞出圈外,在此过程中还要保证自己不冲出去,同时还能主动进行搜索并发现目标。
这一设计最大的特点就是它的趣味性,设计成果还能以指导书的形式为以后的学生学习借鉴,同时也完善了智能小车这一课题的内容
20、进一步的工作
在软件方面进一步的工作一是让程序运行更稳定,让小车出现异常情况后能自动复位,第二就是程序的可移植性还有待加强,最后就是还要进一步体现小车的智能化,主要是要将小车在角斗的过程中出现的各种情况都考虑进去,在编程中有所体现,并能通过编程使小车能及时采取相应的应对措施
21、自我评价
在整个设计的过程中,我的各方面的能力都得到了加强,尤其对团队合作精神深有体会,如果没有小组成员的密切合作以及相互探讨,我们的设计是不可能如此顺利的完成的。
最后,我要在设计过程中给予我帮助的所有人表示感谢,首先是我的指导老师,胡强教授和何华光老师,谢谢他们的指导。还要感谢的是电协的黄世玲,宋经雄,谢谢他们的帮助,还有和我同一个团队的两位战友,李冠松和蒋祥辉同学,谢谢你们
22
我的论文自述完毕,谢谢各位评委老师,也恳请老师们批评指正!