避障小车课程设计
单片机课程设计——超声波避障小车

课程设计说明书(论文)设计题目:超声波避障小车院系:学院班级:设计者:学号:指导教师:设计时间:8.27~9.10课程设计任务书开题报告绪论课题目的通过上学期单片机课程的学习,我们基本掌握了51单片机的基本使用方法,本学期开学初,单片机课程设计给了我们更大的挑战,课题的目的有以下几点。
●进一步熟练掌握单片机的使用方法、提高程序的编写能力●掌握单片机系统外扩器件的连接与使用●提高器件说明书以及时序过程的阅读、理解能力●掌握软件和硬件调试的基本技巧与方法项目研究背景及意义在当今社会,汽车成为了越来越普遍,人们不可缺少的交通工具。
但汽车的不断增加,随之而来就是越来越多的交通事故。
交通事故成为了现在越来越严重的安全隐患。
所以随着汽车工业的快速发展,我们必须加强对汽车安全性能的考虑。
所以,智能汽车概念应运而生,他既是汽车产业的机遇也是汽车产业的挑战。
汽车的智能化必将是未来汽车产业发展的趋势,在这样的背景下,我们开展了基于超声波的智能小车的避障研究。
超声波作为智能车避障的一种重要手段,以其避障实现方便,计算简单,易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。
我国作为一个世界大国,在高科技领域也必须占据一席之地,未来汽车的智能化是汽车产业发展必然的,在这种情况下研究超声波在智能车避障上的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。
设计要求采用超声波模块实现小车避障功能,实现小车自动避障任务。
1主要设计内容及方案总体方案设计系统采用51单片机作为核心控制单元用于智能车系统的控制,在超声波检测到障碍物之后,主控芯片根据距离值控制直流电机的转动,在与障碍物距离较大的情况下,快速前进,在与障碍物距离较小但还未到达临界转弯方向值的时候,慢速前进。
在与障碍物距离很近需要转向避障时,方案上将尝试进行转向,来进行避障。
系统总体的设计方框图如图2-1所示。
避障小车课程设计报告书

1.绪论 (2)1.1课题背景21.2课题的目的和意义 (2)1.3设计要求 (2)1.4主要技术指标32.设计方案 (3)2. (1)总体方案概述 (3)2.2系统硬件电路设计方案 (3)2.3电机模块 (4)2.4超声波模块 (5)2.5整体效果图 (7)3.设计思路 (7)3.1学习熟悉基本模块驱动 (7)3.2总体方案 (9)3.3电机驱动与测距的结合方法 (9)3.4系统软件流程图 (10)3. (5)存在的问题及解决办法 (11)4.设计结果及质量评价 (11)5.原件清单 (12)6.应用前景 (12)7.心得体会 (12)附录一参考文献 (14)附录二程序代码及注释 (15)1.绪论1・1课题背景机器人是先进制造技术和自动化装备的典型代表,是人造机器的“终极”形式。
它涉及到机械、电子、自动控制、计算机、人工智能、传感器、通讯与网络等多个学科和领域,是多种高新技术发展成果的综合集成,因此它的发展与众多学科发展密切相关,代表了高科技发展的前沿。
随着电子技术的不断发展人们发明了各式各样的具有感知,决策,行动和交互能力的机器人,自第一台工业机器人诞生以来,机黠人的发展已经遍及机械、电子、冶金、交通、宇航、国防等多个领域。
近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式,随着它在人类生活领域中的应用不断扩大,将会给人们的生产生活带来了巨大的影响。
在国外机器人的发展有如下趋势。
一方面机器人在制造业应用的围越来越广阔,其标准化、模块化、网络化和智能化的程度越来越高,功能也越来越强,并向着技术和装备成套化的方向发展;另一方面,机器人向着非制造业应用以及微小型方向发展,如表演型机器人,服务机型器人,机器人玩具等。
国外研究机构正试图将机器人应用于人类活动的各个领域。
在我国机器人主要应用于工业制造领域,我国工业机器人现在的总装机量约为120000 台,其中国产机器人占有量约为1/3,即40000多台。
自动避障小车课程设计

单片机系统课程设计成绩评定表设计课题:自动避障小车学院名称:电气工程学院专业班级:自动1105 学生姓名:学号:指导教师:设计地点:31-630 设计时间:单片机系统课程设计课程设计名称:自动避障小车专业班级:自动1105学生姓名:学号:指导教师:课程设计地点:31-630课程设计时间:单片机系统课程设计任务书目录1概述-------------------------------------------------------------- 4研究背景-------------------------------------------------------- 4设计思想及基本功能------------------------------ 错误!未定义书签。
2总体方案设计-------------------------------------- 错误!未定义书签。
方案论证-------------------------------------------------------- 4系统框图-------------------------------------------------------- 5总体方案设计---------------------------------------------------- 6 3硬件电路设计------------------------------------------------------ 7电源电路---------------------------------------- 错误!未定义书签。
晶振电路---------------------------------------- 错误!未定义书签。
复位电路---------------------------------------- 错误!未定义书签。
键盘电路---------------------------------------- 错误!未定义书签。
循迹避障智能小车设计

循迹避障智能小车设计一、硬件设计1、车体结构智能小车的车体结构通常采用四轮驱动或两轮驱动的方式。
四轮驱动能够提供更好的稳定性和动力,但结构相对复杂;两轮驱动则较为简单,但在稳定性方面可能稍逊一筹。
在选择车体结构时,需要根据实际应用场景和需求进行权衡。
为了保证小车的灵活性和适应性,车架材料一般选择轻质且坚固的铝合金或塑料。
同时,合理设计车轮的布局和尺寸,以确保小车能够在不同的地形上顺利行驶。
2、传感器模块(1)循迹传感器循迹传感器是实现小车循迹功能的关键部件。
常见的循迹传感器有光电传感器和红外传感器。
光电传感器通过检测反射光的强度来判断黑线的位置;红外传感器则利用红外线的反射特性来实现循迹。
在实际应用中,可以根据小车的运行速度和精度要求选择合适的传感器。
为了提高循迹的准确性,通常会在小车的底部安装多个传感器,形成传感器阵列。
通过对传感器信号的综合处理,可以更加精确地判断小车的位置和行驶方向。
(2)避障传感器避障传感器主要用于检测小车前方的障碍物。
常用的避障传感器有超声波传感器、激光传感器和红外测距传感器。
超声波传感器通过发射和接收超声波来测量距离;激光传感器则利用激光的反射来计算距离;红外测距传感器则是根据红外线的传播时间来确定距离。
在选择避障传感器时,需要考虑其测量范围、精度、响应速度等因素。
一般来说,超声波传感器测量范围较大,但精度相对较低;激光传感器精度高,但成本较高;红外测距传感器则介于两者之间。
3、控制模块控制模块是智能小车的核心部分,负责处理传感器数据、控制电机驱动和实现各种逻辑功能。
常见的控制模块有单片机(如 Arduino、STM32 等)和微控制器(如 PIC、AVR 等)。
单片机具有开发简单、资源丰富等优点,适合初学者使用;微控制器则在性能和稳定性方面表现更优,适用于对系统要求较高的场合。
在实际设计中,可以根据需求和个人技术水平选择合适的控制模块。
4、电机驱动模块电机驱动模块用于控制小车的电机运转,实现前进、后退、转弯等动作。
自动避障小车课程设计

自动避障小车课程设计一、课程目标知识目标:1. 让学生掌握自动避障小车的基本原理,理解传感器的工作机制。
2. 使学生了解程序设计的基本流程,掌握基础的编程指令和逻辑控制。
3. 帮助学生理解自动避障小车在实际生活中的应用,了解相关技术的发展趋势。
技能目标:1. 培养学生运用所学知识进行问题分析,设计简单的自动避障小车程序。
2. 提高学生动手实践能力,学会组装和调试自动避障小车。
3. 培养学生团队协作和沟通能力,能够共同完成项目任务。
情感态度价值观目标:1. 培养学生对科学技术的兴趣,激发创新意识和探索精神。
2. 培养学生面对问题积极思考,勇于克服困难,解决问题的积极态度。
3. 培养学生关注社会热点,认识到科技发展对生活的影响,增强社会责任感。
课程性质:本课程为实践性较强的课程,注重理论知识与实际操作的结合。
学生特点:学生为初中生,具备一定的物理知识和逻辑思维能力,对科技产品感兴趣,喜欢动手操作。
教学要求:结合学生特点,课程设计应注重理论与实践相结合,充分调动学生的积极性,提高学生的动手实践能力和创新能力。
在教学过程中,注重引导学生自主学习,培养学生解决问题的能力。
通过课程学习,使学生在知识、技能和情感态度价值观方面得到全面提升。
二、教学内容1. 理论知识:- 介绍自动避障小车的基本原理,涉及传感器、电机驱动、控制单元等组成部分。
- 结合课本相关章节,讲解编程语言基础,如循环结构、条件判断等。
- 分析自动避障小车在实际应用中的例子,探讨其对社会生活的影响。
2. 实践操作:- 指导学生动手组装自动避障小车,熟悉各部件功能及安装方法。
- 教学编程软件的使用,教授如何编写和调试自动避障小车程序。
- 组织学生进行小组合作,共同完成自动避障小车的制作和调试。
3. 教学大纲:- 第一阶段:自动避障小车原理学习,占课程总进度的30%。
- 第二阶段:编程语言学习,占课程总进度的30%。
- 第三阶段:动手实践,占课程总进度的40%。
循迹避障智能小车设计(2023最新版)

循迹避障智能小车设计
循迹避障智能小车设计文档范本:
⒈摘要
本文档旨在详细介绍循迹避障智能小车的设计方案。
介绍了小车的硬件组成、软件设计和算法实现,以及测试结果和优化方案。
⒉引言
介绍循迹避障智能小车的背景和应用场景,解释设计的目的和意义。
⒊系统架构
详细介绍循迹避障智能小车的系统组成,包括传感器模块、控制器、执行器等硬件部分,以及软件部分的整体架构。
⒋传感器设计
说明循迹避障智能小车所使用的传感器,包括红外线传感器、超声波传感器等的选择原因和工作原理,以及如何与控制器进行连接。
⒌控制器设计
介绍循迹避障智能小车的控制器设计,包括主控芯片的选择、引脚分配以及与传感器和执行器的连接方式。
⒍执行器设计
详细说明循迹避障智能小车的执行器设计,包括电机控制模块、转向模块等的选择和工作原理。
⒎算法设计
阐述循迹避障智能小车所采用的算法设计,包括循迹算法和避障算法的原理和实现方法。
⒏系统测试与优化
描述循迹避障智能小车的测试方法和实验结果分析,以及针对存在的问题进行的优化措施。
⒐结论
总结循迹避障智能小车设计的成果,评估其性能和应用前景,并展望未来的发展方向。
⒑附件
提供循迹避障智能小车的原理图、源代码、测试数据等附件,以供读者参考使用。
1⒈法律名词及注释
在文档末尾提供相关法律名词的注释,并进行对应解释,以确保读者对相关法律概念的理解和使用的合法性。
实现避障功能课程设计

实现避障功能课程设计一、课程目标知识目标:1. 学生能理解避障功能的基本原理,掌握相关的物理和数学知识,如距离计算、反射定律等。
2. 学生能描述常见避障传感器的工作原理及其在自动化设备中的应用。
3. 学生能解释编程中实现避障逻辑的基本步骤和算法。
技能目标:1. 学生能够运用所学的理论知识,设计并实现一个简单的避障系统。
2. 学生通过实际操作,掌握避障传感器与微控制器的连接和编程,提高动手实践能力。
3. 学生通过小组合作,培养团队协作和问题解决能力。
情感态度价值观目标:1. 学生在探索避障技术的过程中,培养对科学技术的兴趣和好奇心,激发创新意识。
2. 学生通过项目实践,增强自信心,认识到团队合作的重要性。
3. 学生能够在学习中体会到科技为生活带来的便利,认识到科技与社会发展的紧密联系。
课程性质分析:本课程为实践性强的科技课程,要求学生将理论知识与实际操作相结合,通过设计避障系统,培养学生的综合运用能力。
学生特点分析:考虑到学生所在年级,已具备一定的物理、数学基础和初步的编程能力,对新鲜科技事物充满好奇,但需引导其将好奇心转化为学习动力。
教学要求:教学过程中,需注重理论与实践相结合,鼓励学生动手实践,注重培养学生的团队合作精神和解决问题的能力。
通过具体的学习成果评估,确保学生达到预设的课程目标。
二、教学内容1. 理论知识:- 物理知识:光的传播、反射原理,超声波传播特性。
- 数学知识:距离计算,角度测量。
- 编程知识:条件语句,循环结构,函数定义。
2. 实践操作:- 传感器工作原理:介绍红外传感器、超声波传感器的工作原理及其在避障系统中的应用。
- 硬件连接:指导学生将传感器与微控制器(如Arduino)连接。
- 编程实现:教授如何使用编程语言(如C语言)编写避障逻辑代码。
3. 教学大纲:- 第一阶段(1课时):介绍避障技术背景,讲解相关理论知识。
- 第二阶段(2课时):动手实践,学习传感器工作原理,进行硬件连接。
arduino避障小车课程设计

arduino避障小车课程设计一、课程目标知识目标:1. 学生能理解Arduino的基本原理,掌握其编程基础。
2. 学生能掌握避障小车的工作原理,了解传感器在其中的作用。
3. 学生能了解电路连接的基本方法,能正确连接Arduino、电机驱动和传感器。
技能目标:1. 学生能运用Arduino编程,实现避障小车的控制。
2. 学生能通过实际操作,提高动手能力,培养解决问题的能力。
3. 学生能通过团队协作,完成避障小车的搭建和调试。
情感态度价值观目标:1. 学生能培养对科学技术的兴趣,激发创新精神。
2. 学生能培养合作意识,提高沟通能力,学会团队协作。
3. 学生能在实践中体会科技带来的乐趣,树立正确的价值观。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力、创新精神和团队协作能力。
学生特点:六年级学生具备一定的逻辑思维能力和动手能力,对新鲜事物充满好奇,喜欢挑战。
教学要求:教师需结合学生特点,以引导为主,注重激发学生的兴趣,鼓励学生主动探究,培养学生的实践能力和创新能力。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. Arduino基础知识:- Arduino原理与结构- 编程基础:变量、数据类型、运算符、控制结构等- 传感器原理:红外传感器、超声波传感器等2. 避障小车工作原理:- 小车结构及各部件功能- 避障原理及实现方法3. 电路连接与编程:- 电机驱动连接与控制- 传感器与Arduino的连接- 编写程序实现避障功能4. 实践操作:- 搭建避障小车- 调试与优化程序5. 团队协作与展示:- 分组合作完成任务- 展示与分享作品教学内容安排与进度:第一课时:Arduino基础知识学习,了解小车结构与避障原理第二课时:学习传感器原理,进行电路连接与编程基础第三课时:动手搭建避障小车,进行初步调试第四课时:优化程序,实现稳定避障功能,团队协作与展示教材关联:教学内容与教材中“机器人制作与应用”章节相关,结合教材内容,使学生能够掌握Arduino编程及机器人制作的基本技能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
避障小车课程设计目录1.绪论 (4)1.1课题背景41.2课题的目的和意义61.3设计要求61.4主要技术指标62.设计方案 (7)2.1 总体方案概述 (7)2.2 系统硬件电路设计方案 (8)2.3 电机模块 (9)2.4 超声波模块 (11)2.5 整体效果图 (13)3.设计思路 (13)3.1 学习熟悉基本模块驱动 (13)3.2 总体方案 (17)3.3 电机驱动与测距的结合方法 (18)3.4 系统软件流程图 (19)3.5存在的问题及解决办法 (20)4.设计结果及质量评价 (21)5.原件清单 (23)6.应用前景 (23)7.心得体会 (24)附录一参考文献 (25)附录二程序代码及注释 (26)1.绪论1.1课题背景机器人是先进制造技术和自动化装备的典型代表,是人造机器的“终极”形式。
它涉及到机械、电子、自动控制、计算机、人工智能、传感器、通讯与网络等多个学科和领域,是多种高新技术发展成果的综合集成,因此它的发展与众多学科发展密切相关,代表了高科技发展的前沿。
随着电子技术的不断发展人们发明了各式各样的具有感知,决策,行动和交互能力的机器人,自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等多个领域。
近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式,随着它在人类生活领域中的应用不断扩大,将会给人们的生产生活带来了巨大的影响。
在国外机器人的发展有如下趋势。
一方面机器人在制造业应用的范围越来越广阔,其标准化、模块化、网络化和智能化的程度越来越高,功能也越来越强,并向着技术和装备成套化的方向发展;另一方面,机器人向着非制造业应用以及微小型方向发展,如表演型机器人,服务机型器人,机器人玩具等。
国外研究机构正试图将机器人应用于人类活动的各个领域。
在我国机器人主要应用于工业制造领域,我国工业机器人现在的总装机量约为120000台,其中国产机器人占有量约为 1/3,即40000多台。
与世界机器人总装机台数7500万台相比,中国总装机量仅占万分之十六[1]。
对中国这样一个拥有13亿人口的大国来说,仅在机器人数量上就和发达国家有着很明显的差距。
因此大力发展我国的机器人事业刻不容缓。
智能小车可以理解为机器人的一种特例,它是一种能够通过编程手段完成特定任务的小型化机器人。
与普遍意义上的机器人相比智能小车制作成本低廉,电路结构简单,程序调试方便,具有很强的趣味性,为此其深受广大机器人爱好者以及高校学生的喜爱。
全国大学生电子设计竞赛每年都设有智能小车类的题目,由此可见国家对高校机器人研究工作的重视程度。
1.2课题的目的和意义本题目设计的是具有自动避障功能的智能小车,其设计思想与一些日常生活迫切需要的机器人(如测距机器人,搜索机器人,管道探伤机器人)类似。
由于采用了超声波传感器,它不受光照强弱和能见度的影响,能耗低,灵敏度高,即使在较复杂的环境内也可以工作。
智能小车系统的设计采用了模块化的设计方法,电路结构简单,调试方便,有很大的扩展空间,稍加改动便可应用于实际生产生活中,也可作为高校学生以及广大机器人爱好者学习研究使用。
1.3设计要求1.小车可以检测到前方障碍物2.小车可以自动躲避障碍物3. 小车能够显示距障碍物的距离1.4主要技术指标工作电压:5V工作电流:30mA典型,50mA最大工作频率:38.5KHz最大探测距离:1.8 m最小探测距离:3 cm输入触发器:上升沿触发回波脉冲:正TTL高电平脉冲宽度下一次测量的延时:20 ms2.设计方案2.1 总体方案概述本小车使用一台AT89S51单片机作为主控芯片,它通过超声波测距来获取小车距离障碍物的距离,并且用数码管实时的显示出来,在小车与障碍物的距离小于安全距离(用软件设定)时,小车会发出“在距您车前方x(数码显示的实时距离)米的地方有一障碍物,请您注意避让”的语音提示,并且拐弯,以避开障碍物,同时会点亮相应侧边的发光二极管作为提示信号。
在避开障碍物后,小车会沿直线前进。
本系统设计的简易智能小车分为几个模块:单片机控制系统、超声波路面检测系统、前进、转弯控制电机以及方向指示灯系统。
它们之间的相互关系如下图1所示。
2.2 系统硬件电路设计方案系统硬件电路的设计采用了模块化的设计方法,系统硬件电路由超声波避障模块,单片机最小系统模块,显示模块,电源模块,电机驱动以及声光报警模块,电源模块七部分组成,各模块即可组合联调也可单独使用。
如图2所示为智能小车硬件设计方框图。
图2智能小车硬件设计方框图2.3 电机模块P1_0控制右边的伺服电机,P1_1控制左边的伺服电机,如下图3。
图3 电机引脚连接图控制电机运动转速的是高电平持续的时间。
高电平持续时间为1.5ms(零速度点)时,电机静止(标定以后),如图4。
图4 电机转速为零的控制信号时序图注:标定方法:通过发送一个校准信号到伺服电机,连续旋转伺服电机的零位信号为1.5ms。
如果电机还没有进行零点标定,如图3所示,用螺丝刀轻轻调节马达上的电位器,直到马达停止转动。
图5 伺服电机的标定高电平持续时间为1.3ms时,电机顺时针全速旋转,如图6。
图6 1.3ms的控制脉冲序列使电机逆时针全速旋转高电平持续时间1.7ms时,电机逆时针速旋转,如图7。
图7 1.7ms的控制脉冲序列使电机顺时针全速旋转高电平持续时间越靠近零速度点,速度越小,远离零点越大速度越大。
通过控制脉冲序列,可以实现小车的加速、减速、原地转弯、绕轴旋转、左转、右转等一系列的运行动作。
2.4 超声波模块VCC接+5V,GND接VSS,SIG接P15,如图8。
图8 超声波模块超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生震动产生,在碰到杂质或分界面会产生显著反射形成反射回波,超声波传感器就是根据超声波在物体界面上反射的反射、散射特性检测物体的存在与否。
超声波模块可以提供无接触的测量,从3厘米到1.8米的距离测量,可以用来辨别障碍物。
图9 超声波模块时序工作图如图9所示,从SIG管脚输出触发脉冲Tout 后,模块自动发射8个40kHz的超声波,紧接着把SIG置高电平,直到收到回声后才把SIG置低,如果超时,则模块自动复位。
模块工作频率:38.5KHz,即工作周期约26ms, 而整个模块实现一次测量的时间范围为tout+tholdoff+tin,约为0.8ms到19.3ms。
距离distance=time*Cair/2,其中Cair为超声波在空气中的传播速度,由于受空气温度影响,Cair=331.5+0.6*Tc;SIG的脉冲宽度即为超声波发射和接收的时间差time,范围115us 到18.5ms。
将数据代入计算出distance的范围恰好在3cm到1.8m,满足技术指标。
2.5 整体效果图图10 整体效果图3.设计思路3.1 学习熟悉基本模块驱动(1)实现小车前进、绕轴旋转转等基础运行动作。
/*小车前进*/void forward(){int j;for(j=0;j<20;j++){re=1;delay_nus(1300);re=0;delay_nus(20000);le=1;delay_nus(1700);le=0;delay_nus(20000); }}/*小车原地右转90度*/ void right90(){int j;for(j=0;j<17;j++){re=1;delay_nus(1640);re=0;delay_nus(20000);le=1;delay_nus(1700);le=0;delay_nus(20000); }}/*小车原地左转90度*/ void left90(){int j;for(j=0;j<17;j++){re=1;delay_nus(1300); re=0;delay_nus(20000); le=1;delay_nus(1360); le=0;delay_nus(20000); }}/*小车原地转180度*/ void right180(){int j;for(j=0;j<30;j++){re=1;delay_nus(1300);re=0;delay_nus(20000);le=1;delay_nus(1360);le=0;delay_nus(20000);}}(2)超声波传感器驱动的测距子程序。
void getx(unsigned char a){TH0=TL0=0;if(a){Sin=0;Sin=1;delay_nus(10);Sin=0;}while(Sin);while(!Sin);TR0=1;while(Sin);TR0=0;LTime=TL0;HTime=TH0;Time=HTime*256+LTime;Dis=Time/(2*29);}3.2 总体方案采用状态机模型,定义state=1为前行状态,state=2为左转状态,两状态转换条件为distance满足一定壁障范围,所以测距程序宜嵌入两状态中编写,如图9。
另外测距后进行显示,可以嵌入测距程序。
图11 整体方案--状态机模型3.3 电机驱动与测距的结合方法考虑到电机是靠高电平驱动的,低电平的时间对于驱动电机是无用的,可以用定时器控制低电平时间,让测距程序插入电机驱动程序的低电平时间(取代延时函数),从而节约了单片机等待时间,使单片机在这段低电平时间内执行完测距程序后可以执行其他程序(在最后扩展显示模块程序时,确实发现了这样做的方便之处)。
这里超声波模块实现一次测距的时间范围约为0.8ms 到19.3ms,所以不妨设置定时器定时30ms。
测距程序插入电机驱动程序的另一好处是可实现小角度动态旋转壁障,而不是旋转固定角度。
另外,定时器控制固定的低电平时间有利于小车的稳定运行。
因为若不这样(即低电平时间=固定的延时+不确定的测距时间),在壁障距离以外时,小车则会因为障碍物的越来越近而速度越来越快,无法输出稳定的速度。
具体时序图如下(这里能体现一个周期的运行):图12 电机驱动与测距结合时序图3.4图13程序本设计系统软件采用模块化结构,由主程序﹑定时子程序、电工及控制子程序(前进、原地左转、原地右转)、测距子程序构成。
主程序流程图如图13所示。
其中:避障中断服务子程序完成对超声波探测器产生的外部中断进行处理,如果超出预定的危险距离就左转进行避障。
3.5存在的问题及解决办法程序编写完毕后,小车无法启动,经最终排查认为,小车电机需要先输入多个脉冲来帮助小车启动,我将这段程序称为过渡段。
添加过渡段后,拿起小车,轮子能按规定动作运行,但一放到地上,就出现无法运行或运行一小段就停止的现象,这说明电机负载能力有限,应有意识增大电机高电平时间,增加驱动力。