避障机器人设计报告

合集下载

机器人导航与避障系统设计与实现

机器人导航与避障系统设计与实现

机器人导航与避障系统设计与实现导航与避障系统是现代机器人领域中非常重要的一个研究方向。

通过设计和实现这样一个系统,机器人能够在未知环境中自主导航,并避免与障碍物的碰撞。

本文将介绍机器人导航与避障系统的设计方案及其实现方法。

一、引言随着人工智能和机器人技术的飞速发展,机器人在各个领域中的应用越来越广泛。

机器人导航与避障系统是其中一个重要的研究方向,其目标是使机器人能够在未知环境中实现自主导航,并且能够智能地避开障碍物。

二、设计方案1. 传感器选取机器人导航与避障系统的核心是传感器的选取和布置。

常用的传感器包括激光雷达、摄像头、超声波传感器等。

激光雷达可以提供较为精确的环境地图,摄像头可以获取环境图像进行识别,超声波传感器可以检测障碍物的距离。

2. 环境感知与地图构建机器人需要能够感知到周围环境并构建地图,以便进行导航和避障。

通过传感器获取到的数据,可以使用SLAM(Simultaneous Localization and Mapping)算法进行地图构建。

SLAM算法能够同时实现定位和地图的构建,为机器人导航提供准确的环境信息。

3. 导航算法设计导航算法是机器人能够自主导航的关键。

常用的导航算法包括A*算法、Dijkstra算法、深度优先搜索算法等。

这些算法可以根据地图信息计算出最优的路径,并指导机器人进行移动。

同时,导航算法还需要考虑到避障问题,确保机器人能够安全绕过障碍物。

4. 避障算法设计避障算法是导航与避障系统的核心部分。

通过传感器获取到的环境信息,机器人需要能够分析障碍物的位置和形状,并做出相应的避让动作。

常用的避障算法包括漫游法、VFH(Vector Field Histogram)算法、RRT(Rapidly-exploring Random Tree)算法等。

这些算法能够有效地避开障碍物并找到可行的路径。

三、实现方法1. 硬件搭建机器人导航与避障系统的实现需要搭建相应的硬件平台。

智能避障机器人设计与研究(硬件)毕业设计论文

智能避障机器人设计与研究(硬件)毕业设计论文
(2)高完整性机器人。意指机器人在工作时一定是正确的,并不一定要连续工作。
(3)遥控移动机器人。
(4)环境与机器人集成。像人需要道路、交通信号灯等一样,机器人为了在一个动态变化的环境中行动,也同样需要基础设施。
(5)生态机器人学(生物机器人学)。
(6)多机器人系统。主要是获取机器人团队协调和控制技术,并将其应用于战略重要情况。
关键词:智能避障机器人,红外传感器,单片机,L298N,PWM调速
THEDESIGN AND STUDY OF INTELLIGENT OBSTACLE AVOIDANCE ROBOT(HARDWARE)
ABSTRACT
In scientific exploration and emergency rescue often encounter some danger or human can not directly reach the area of detection,these will need to use the robot to complete. Therobot'sautomaticobstacleavoidancemovementin complex terrainis an essential and most basic function. Therefore,the automatic obstacle avoidance system development is made. Automatic obstacle avoidancerobotdevelopment based on thissystemis made of. With the development of technology for the unknown space and mankind can not be directly accessible to gradually become a hot area of exploration,which makes the automatic obstacle avoidance robot has great significance. Automatic obstacle avoidance robotcan serve as a regional exploration and emergency rescue robot system that allows robots to automatically avoid obstacles in the road.

智能机器人避障系统设计

智能机器人避障系统设计

摘要智能避障是智能机器人的重要功能,为了实现避障我们常常会采用光波测距和超声波测距。

在本文的设计中,本文采用超声波测距。

本文设计的智能避障器工作时,CPU给出一个驱动信号,超声波的模块就会产生一个声波信息,声波信号如果在传递的过程中遇到了障碍,就会被这个障碍物给反弹回来,相应的传感器就会接收这个信号,信号被接受到之后就会被传递给CPU,CPU通过寄存器里面的程序处理一下反射回来的信号,就可以计算出距离障碍物的信息,CPU在发出一些控制信号给机器人,从而实现机器人避障。

本论文设计的智能机器人避障系统的主要控制器采用51单片机,信号发出与收集采用超声波发射接收模块,遇到障碍时机器人发出警报,还有一个报警系统模块。

将本文设计的避障系统运用在机器人的驱动系统上,加上红外光电、超声波传感器等装置对机器人运行状况及周边环境状况进行实时监测,并将相关信息送至51单片机进行处理。

设计的该系统电路结构简单易维护,在应用方面有它参考的价值所在。

关键词:单片机;超声波;机器人;相关程序设计AbstractIntelligent obstacle avoidance is an important function of intelligent robot. In order to avoid obstacles, we often use light wave ranging and ultrasonic ranging. In the design of this paper, ultrasonic ranging is used. When the intelligent obstacle avoidance device designed in this paper works, the CPU gives a driving signal, the ultrasonic sensor will send out sound waves, the sound waves will be reflected back after encountering obstacles, and then the sensor receives the rebound signal, and transmits the reflected signal to the CPU. The CPU can calculate the distance from the obstacles by processing the reflected signal through the program in the transmitter Information, the CPU is sending some control signals to the robot to avoid obstacles. The main controller of the intelligent robot obstacle avoidance system designed in this paper is 51 single-chip microcomputer. The ultrasonic transmitting and receiving module is used to send and collect signals. When the robot encounters obstacles, it will send out an alarm. There is also an alarm system module. The obstacle avoidance system designed in this paper is applied to the driving system of the robot. In addition, infrared photoelectric and ultrasonic sensors are used to monitor the operation status of the robot and the surrounding environment in real time, and the relevant information is sent to 51 single chip microcomputer for processing. The circuit structure of the designed system is simple and easy to maintain, which has certain application reference value.Key words: microcontroller; ultrasonic; robot; relevant program design1绪论1.1 引言随着现在社会的高速发展,机器人的运用越来越广泛,机器人的功能较多,我们常使用它们搬运一些较重的物料,或者是为了进行不同的或高难度等人性化的操作并且具有可改变和可编程相关动作的专家系统。

避障机器人设计报告

避障机器人设计报告

避障机器人设计报告一、引言随着科技的不断发展,机器人在各个领域的应用越来越广泛。

其中,避障机器人作为一种能够自主感知环境并避开障碍物的智能设备,具有重要的实用价值。

本报告将详细介绍避障机器人的设计过程,包括硬件设计、软件算法、传感器选择以及实验结果等方面。

二、需求分析在设计避障机器人之前,我们首先需要明确其应用场景和功能需求。

避障机器人主要应用于物流搬运、智能家居、工业生产等领域,需要能够在复杂的环境中自主移动,并避开各种静态和动态的障碍物。

根据上述需求,我们确定了避障机器人的主要性能指标:1、能够检测到距离机器人一定范围内的障碍物,并准确测量其距离和方向。

2、能够根据障碍物的信息,实时规划出合理的运动路径,避免碰撞。

3、具有较高的移动速度和灵活性,能够适应不同的地形和工作环境。

4、具备一定的续航能力,能够持续工作一段时间。

三、硬件设计1、车体结构避障机器人的车体结构采用四轮驱动的方式,以提高其稳定性和机动性。

车身采用铝合金材料制作,既轻便又坚固。

车轮采用橡胶材质,具有良好的抓地力和减震性能。

2、驱动系统驱动系统由电机、驱动器和控制器组成。

电机选用直流无刷电机,具有高效率、低噪音和长寿命的特点。

驱动器采用脉宽调制(PWM)技术,实现对电机转速和转向的精确控制。

控制器采用单片机,负责接收传感器数据、处理算法和发送控制指令。

3、传感器系统为了实现避障功能,我们选用了多种传感器,包括超声波传感器、红外传感器和激光雷达传感器。

超声波传感器:用于检测远距离的障碍物,测量精度较高,但容易受到环境干扰。

红外传感器:用于检测近距离的障碍物,响应速度快,但测量范围较小。

激光雷达传感器:能够提供高精度的三维环境信息,但成本较高。

通过合理配置和融合这些传感器的数据,可以实现对机器人周围环境的全面感知。

4、电源系统电源系统采用锂电池组,为机器人提供稳定的电力供应。

同时,配备了电源管理模块,对电池的充电和放电进行监控和保护,延长电池的使用寿命。

学习移动机器人智能避障测距系统的报告

学习移动机器人智能避障测距系统的报告

学习移动机器人智能避障测距系统的报告第一篇:学习移动机器人智能避障测距系统的报告学习移动机器人智能避障测距系统的报告【摘要】本文主要是以学习移动机器人智能避障测距系统为主,阐述学习过程中的心得体会。

测距系统的应用场合非常的多,比如测距雷达、测速仪、测深仪、汽车倒车的报警装置等等。

这里就浅谈智能的测距避障系统。

【关键词】测距系统智能控制单片机1.引言智能控制(intelligent controls)是指在无人干预的情况下能自主地驱动智能机器实现控制目标的自动控制技术。

控制理论发展至今已有100多年的历史,经历了“经典控制理论”和“现代控制理论”的发展阶段,已进入“大系统理论”和“智能控制理论”阶段。

智能控制理论的研究和应用是现代控制理论在深度和广度上的拓展。

20世纪80年代以来,信息技术、计算技术的快速发展及其他相关学科的发展和相互渗透,也推动了控制科学与工程研究的不断深入,控制系统向智能控制系统的发展已成为一种趋势。

自1971年傅京孙教授提出“智能控制”概念以来,智能控制已经从二元论(人工智能和控制论)发展到四元论(人工智能、模糊集理论、学运筹和控制论),在取得丰硕研究和应用成果的/ 7 同时,智能控制理论也得到不断的发展和完善。

智能控制是多学科交叉的学科,它的发展得益于人工智能、认知科学、模糊集理论和生物控制论等许多学科的发展,同时也促进了相关学科的发展。

智能控制也是发展较快的新兴学科,尽管其理论体系还远没有经典控制理论那样成熟和完善,但智能控制理论和应用研究所取得的成果显示出其旺盛的生命力,受到相关研究和工程技术人员的关注。

随着科学技术的发展,智能控制的应用领域将不断拓展,理论和技术也必将得到不断的发展和完善。

本文就移动机器人其中一个小系统进行学习研究,体现出智能控制的特点:智能控制的核心在高层控制,即组织级;智能控制器具有非线性特性;智能控制具有变结构特点;智能控制器具有总体自寻优特性;智能控制系统应能满足多样性目标的高性能要求;智能控制是一门边缘交叉学科;智能控制是一个新兴的研究领域。

自动寻迹避障轮式机器人--综合实验设计报告

自动寻迹避障轮式机器人--综合实验设计报告

专业综合实验设计报告项目:自动寻迹避障轮式机器人班级:电133姓名:学号:1312021067同组同学:学期:2016-2017-1一、实验目的和要求1.1实验目的自动循迹、智能避障机器人是一个与电气工程专业有着密切关系的实际工程装备,本综合实验以此为依托,把轮式机器人能够沿设置的道路路线运动作为控制目标,完成从模型建立、控制方案确定、控制参数仿真分析、硬件线路设计到实物机械安装、硬件安装调试、控制程序编写集成、系统调试等步骤过程的训练。

本实验涉及到《电路分析》、《电子技术》、《电力电子技术》、《电机学》、《电力拖动》、《自动控制原理》、《传感器与检测技术》、《电机控制技术》等课程的理论和实验知识。

是学生接触实际电气工程专业复杂工程问题的重要及关键途径。

通过实验培养学生实践动手能力,运用现代工程工具和信息技术工具的能力,分析和解决实际工程问题的能力。

从而使学生初步能够解决主要涉及电气工程专业知识的复杂工程问题。

1.2实验要求要求同学综合运用课程的理论和实验知识,以轮式机器人能够以一定的速度沿设置的道路路线运动作为控制目标(技术指标为:机器人行走速度≥1m/s,行走偏离导航线程度≤2/3车身宽度),要求完成从模型建立、控制方案确定、控制参数仿真分析、硬件线路设计到实物机械安装、硬件安装调试、控制程序编写集成、系统调试等实验步骤。

具体要求为:1)检索资料,对轮式机器人的发展状况,当前的研究热点,技术发展的现状,发展趋势有所了解,查阅工程规范文件、产品样本、使用说明,了解实际系统运行时必须遵守的工程规范和系统实现时所受到的商用产品的实际限制。

2)理解轮式机器人的机械结构,用CAD软件绘制机械零部件的加工图纸,安装轮式机器人。

3)综合运用物理特性分析法和实验参数测定法建立轮式机器人的数学模型,必要时在工作点附近近似线性化,以获得线性数学模型。

4)设计轮式机器人控制系统的硬件系统,包括控制芯片的选型,外围电路的设计,传感器类型型号的选择、功率驱动电路的选择、人机交互部件的选择,掌握所选择元器件、部件的性能、用法。

自动避障小车技术报告2

自动避障小车技术报告2

自动避障小车技术报告前言设计背景:在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。

而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。

因此,自动避障系统的研发就应运而生。

我们的自动避障小车就是基于这一系统开发而成的。

随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人的自动避障有了重大的意义。

我们的自动避障小车就是自动避障机器人中的一类。

自动避障小车可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。

目录一、设计目标: (3)二、方案设计: (4)2.1直流调速系统 (4)2.2检测系统 (4)三硬件设计 (5)3.1、SPCE061A单片机最小系统 (5)3.1.1.SPCE061A时钟电路 (8)3.1.2.PLL锁相环 (9)3.1.3.看门狗Watchdog (9)3.1.4.低电压复位(LVR) (10)3.1.5.I/O端口 (10)3.1.6.时基与定时器 (11)3.1.7.SPCE061A的定时器/计数器 (11)3.1.8.ADC、DAC (12)3.2、超声波传感器 (12)四软件设计 (16)4.1软件设计各模块 (16)4.2速度控制 (17)4.3障碍物检测 (17)4.4看门狗 (17)4.5基频中断 (18)4.6程序设计流程图 (19)五:测试数据、测试结果分析及结论 (19)程序附录 (21)1.主程序: (21)2.中断程序 (24)3、测距程序 (28)一、设计目标:1.小车从无障碍地区启动前进,感应前进路线上的障碍物后,能自动避开障碍物。

2.根据障碍物的位置选择下一步行进方向,选择左拐还是右拐,若障碍物在左边则自动右拐,若障碍物在右边则左拐,若障碍物在正前方可任意选择左拐或者是右拐,以达到避开障碍物的目的。

3.通过利用单片机内时钟源的控制设定左拐和右拐的时间,从而能持续前进。

避障机器人的设计

避障机器人的设计

避障机器人的设计随着科技的不断进步,机器人在日常生活中扮演着越来越重要的角色。

其中一种常见的机器人类型是避障机器人,它能够通过感知周围环境,避开障碍物并自主移动。

下面将讨论避障机器人的设计原理和关键技术。

避障机器人的设计原理主要基于感知、决策和执行三个步骤。

首先,机器人需要通过传感器感知周围环境。

常用的传感器可以包括激光传感器、红外传感器、超声波传感器等。

这些传感器可以测量障碍物与机器人之间的距离,并将这些信息传送给控制系统。

控制系统会将传感器的数据进行处理和分析。

在感知的基础上,机器人需要根据感知到的环境信息做出决策,并制定合适的行动计划。

这需要一个强大的算法和智能控制系统。

算法可以根据传感器的数据进行障碍物检测和识别,以确定障碍物的位置、形状和大小。

控制系统会根据这些信息制定机器人的运动策略,避开障碍物。

常用的算法包括路径规划算法、机器学习算法等。

最后,机器人需要执行制定好的行动计划,进行移动并避开障碍物。

这需要一个精确的定位和导航系统,以确保机器人能够准确地执行行动计划。

定位和导航系统可以基于全球定位系统(GPS)、惯性导航系统(INS)和视觉导航系统等技术,确定机器人的位置和方向。

机器人根据这些信息进行运动控制,避开障碍物。

避障机器人的关键技术主要包括障碍物检测和识别技术、路径规划技术、机器学习技术和定位导航技术等。

障碍物检测和识别技术可以利用图像处理、模式识别和深度学习等方法,对环境中的障碍物进行检测和识别。

路径规划技术主要通过图论和最优化算法,寻找机器人自身位置与目标位置之间的最佳路径,并避开障碍物。

机器学习技术可以利用大量的样本数据,训练出一个强化学习模型,使机器人可以通过反馈机制不断优化自己的行为。

定位导航技术可以提供精确的定位信息,确保机器人能够准确地执行行动计划。

当然,以上只是避障机器人设计中的一些关键技术和原理,实际的避障机器人系统还需要考虑多个因素,如功耗、成本、可靠性等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开放性实验报告——避障机器人设计系别:智能科学与技术******姚武浩姜飞鹏郑光旭指导老师:袁立行、王曙光、亢红波时间:2011.9.16——2012.4.28目录1 系统功能介绍 (1)2 设计任务与要求 (1)3 系统硬件设计 (1)3.1系统总体设计框图 (1)3.2寻线模块(ST188) (2)3.3电机控制模块 (3)3.4单片机最小模块 (4)3.5数码管显示模块 (6)4 系统软件实现 (7)4.1 设计思路 (7)4.2 软件程序流程图 (8)4.3程序代码见附录Ⅰ (8)5 调试结果 (8)6 实验总结 (9)附录Ι (10)附录Ⅱ (18)附录Ⅲ (19)1 系统功能介绍本设计以单片机作为控制核心,电路分为最小系统模块,黑线检测模块,电机驱动模块,数码管显示模块。

黑线检测模块采用反射式关电传感器st188,并且接相应的三级管来规划传感器的输出,当输出高电平为正常情况。

电机为伺服电机,给定脉宽为1.5ms的信号电机保持不动,给定脉宽为1.7ms的信号电机正向转到给定脉宽为1.3ms的信号电机逆向转到。

数码管动态显示机器人行进过程所用的时间。

2 设计任务与要求◆熟悉51系列单片机的原理及应用。

◆掌握ST188设计电路和传感器的使用。

◆掌握直流电机的驱动方法。

◆掌握动态数码管显示的方法。

◆设计机器人的硬件电路及软件程序。

◆制作机器人的硬件电路,并调试软件,最后实现机器人的自动测量黑线。

3 系统硬件设计3.1系统总体设计框图该系统中51单片机作为主微控芯片,其外多个I/O口作为通用I/O口接受传感器的信号并输出相应的控制信号。

系统硬件总体设计框图如下图3.1-1所示。

控制核心检测模块电机驱动模块数码管显示模块图3.1-1系统硬件总体设计框图3.2寻线模块(ST188)该系统中的寻线模块我们采用的是ST188传感器。

ST188是一个无限红外模块,它有一个发射管(白色)和一个接收管(黑色),一般情况下接收管能收到发射管发送的红外光,但当遇到吸光介质(如黑色物体)时接收管便不能收到发射管的红外光。

由于这种现象,加上合适的硬件电路(如图 3.2-1),我们可以引出一条信号线,当一切正常时,信号线处于一种状态,但当遇到吸光介质时信号线便处于另一种状态,利用这种不同状态的差异我们便可以通过微控制器来实现机器人的寻线行驶。

ST188详细资料见附录Ⅱ下图3.2-1是该系统中我们的ST188外接硬件电路图:图3.2-1 寻线模块电路图图中R1为发射管的限流电阻,若R1阻值过大,则发射管功率会大幅降低,所以其阻值在50-200欧之间。

R4为发光二极管的保护电阻。

R2,R3,RV1为起分流的作用,其阻值可根据情况而定。

其工作原理是通过R2,R3,RV1来确定输出信号的门限值,当发射管E端V高于RV1上的压降时,由于运放的饱和特性,输出低电压0V:当V低于RV1上的电压时,输出电压为5V。

图中的通过发光二极管指示是否有信号输出。

实际硬件中我们可以通过调节滑动变阻器的R5电阻值来选取理想的反射距离,从而提高ST188传感器的灵敏度。

本设计中我们利用ST188来控制机器人寻线。

由以上叙述可知,为使机器人寻线稳定,最好选择差异较大的环境,例如在白地板上贴上黑线,可使ST188寻线模块工作更加灵敏稳定。

3.3电机控制模块本次实验采用的伺服电机的工作模式如下所示:通过I/O口给电机的信号输入如图3.3-1所示的信号电机保持静止,这个信号称为电机的零标定信号,这个指令由时间间隔为20ms脉宽为1.5ms的一系列脉冲组成。

图3.3-1电机控制信号(静止状态)通过I/O口给电机的信号输入如图3.3-2所示的信号电机将全速逆时针旋转,这个指令由时间间隔为20ms脉宽为1.3ms的一系列脉冲组成。

图3.3-2电机控制信号(逆时针旋转状态)通过I/O口给电机的信号输入如图3.3-3所示的信号电机将全速逆时针旋转,这个指令由时间间隔为20ms脉宽为1.7ms的一系列脉冲组成。

图3.3-3电机控制信号(顺时针旋转状态)3.4电机驱动模块电机驱动芯片L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。

是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。

其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。

L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。

5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。

也利用单片机产生PWM信号接到ENA,ENB端子,对电机的转速进行调节。

L298N的逻辑功能:表1 SHARP GP2D12实物图外形及封装:L298N实物图由于一片L298N可以直接驱动两个电机,但是为了加大驱动力,我们采用两路并联的方式来驱动电机3.5单片机最小模块整个实验的控制器件是51单片机,它在实验中起了核心作用,采用内部时钟方式,给它的XTAL1和XTAL2引脚外接晶振,这样就构成了自激振荡器并在单片机内部产生时钟脉冲信号,给晶振的每个角又接了一个30PF的电容,让晶振快速起振并可以达到12M稳定频率,给单片机的RST口按键开关使之构成复位电路。

具体电路如图3.4-1所示图3.4-1单片机最小模块3.5数码管显示模块由于时钟电路显示的内容是变化的,因此本实例采用动态显示实验时数码管采用的是共阳极的数码管,4个数码管的段选相应并联在一起,由一个8位的I/O控制,动态显示时,各位数码管轮流通,要使其稳定显示必须采用扫描的方式,即在某一时刻只选通以位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出此想相应的段码,依次规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是不不同的时刻分别显示的,但由于人眼存在暂留效应,只要每位显示时间足够短就可以给人不同的显示感觉。

采用动态显示方式时,采用三极管的放大作用,以增加led的亮度。

具体电路图如3.5-1所示。

其中数码管的ds1端的各位1、2、3、4、5、6、7接I/O 的P2口,位选端接I/O的P1口。

图3.5-1数码管硬件电路4 系统软件实现4.1 设计思路在程序中用定时器0用用于输出机器人电机所需的脉冲波形,定时器1用于数码管显示。

计数器0,1初始化后,进入while循环,在while循环中等待定时器1中断并相应的相应时间。

否则等待定时器0输出脉冲波形。

由于中断1只是为了显示时间,而0中断影响到机器人的行进与否,所以在程序中设置1中断的优先级高于0中断。

从而使从而使I/O口输出稳定的脉冲波形。

4.2 软件程序流程图图4.2-1系统软件程序流程图4.3程序代码见附录Ⅰ5 调试结果开放性试验使我掌握了不少知识,在实验开始之前我什么都不会,通过壁障机器人的训练使我掌握了51单片机,基本电路的设计和分析。

但本次试验对我印象最深的是我自己在调试程序的时候出现的问题,开始小车应该在驱动和程序的控制下应该调速,但事实是车根本没有减速的迹象并且是全速前进。

我检查自己的程序感觉程序是没有问题的,然后自然的把问题想到了驱动上,但驱动不是我自己焊接的,根本不知道错误从哪里找。

焊接驱动的同学回家了,没办法看驱动电路。

只能是我自己看电路但自己对电路根本就没有多接触,当时自己检查电路图不知从何开始,整整检查了一天感觉没有问题感觉已经尽力了。

晚上回到宿舍自己想了半天还是没有找到问题。

第二天回到实验室问题还是没有找到,但就在自己已经没有精力在检查的时候无意间看到了程序又看了一会ST188然后就突然感觉问题找到了,自己看看了循迹模块然后感觉中间的灯没有亮,那就是意味这他给51的管脚一直是低电平是自己的程序一直就没进入其他程序,所以就出现了全速前进的问题。

还有一次在给壁障机器人调试程序时他根本就不遍历所有的道路,自己给51已经下了一百多次程序,还是没有找到问题还是。

回到宿舍睡觉,下午原本打算不去了,但自己心里还是在想再试试。

来到实验室,我的第三个程序便成功遍历了所有的道路。

通过上面的经历使我自己明白了很多,只要自己有足够的耐心和毅力就一定能过实现你要完成的事情。

6 实验总结附录Ι程序代码如下:#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit ENA=P1^0; //左轮使能端/*左轮电压*/sbit d0=P1^1;sbit d1=P1^2;/*右轮电压*/sbit d2=P1^3;sbit d3=P1^4;sbit ENB=P1^5; //右轮使能端/*循迹两侧传感*/sbit right_red=P0^2; //右侧sbit left_red=P0^1; //左侧sbit redlight=P0^3; //红外sbit goright=P0^0; //拐弯检测/********************向前***********************/ void gohead(){d0=1;d1=0;d2=1;d3=0;}//左转void turnleft(){d0=0;d1=0;d2=1;d3=0;}//右转void turnright(){d0=1;d1=0;d2=0;d3=0;}//倒转void turnback(){d0=1;d1=0;d2=0;d3=1;}/*延时函数*/void delay_ms(uint i){ uint j;for(;i>0;i--)for(j=110;j>0;j--);}/*循迹模块*/void xunjin(){int i;if((left_red==0)&&(right_red==0)&&(goright==0)) {gohead();for(i=20;i>0;i--){if(i>16){ENA=1;ENB=1;delay_ms(6);}else{ENA=0;ENB=0;delay_ms(5);}}}else if((left_red==0)&&(right_red==1)) {turnright();for(i=20;i>0;i--){if(i>17){ENA=1;ENB=0;delay_ms(4);}else{ENA=0;ENB=0;delay_ms(5);}}}else if((left_red==1)&&(right_red==0)) {turnleft();for(i=20;i>0;i--){if(i>17){ENA=0;ENB=1;delay_ms(4);}else{ENA=0;ENB=0;delay_ms(5);}}}else if(goright){gohead();for(i=20;i>0;i--){if(i>17){ENA=1;ENB=1;delay_ms(7);}else{ENA=0;ENB=0;delay_ms(5);}}while(1){ turnright();for(i=20;i>0;i--){if(i>17){ENA=1;ENB=0;delay_ms(4);}else{ENA=0;ENB=0;delay_ms(5);}}if(right_red==1) break;}}}//避障程序void goback(){while(1){ uint i;turnback();for(i=20;i>0;i--){if(i>17 ){ENA=1;ENB=1;delay_ms(5);}else{ENA=0;ENB=0;delay_ms(5);}}if( right_red==1){break;}}}/*主程序*/void main(){while(1){xunjin(); //循迹if(!redlight) //判断{goback();}}}数码管显示程序:#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit d1=P1^0;sbit d2=P1^1;sbit d3=P1^3;uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //4位一体共阳极数码管//uint k=0;uchar int_time,second;void delay(uchar x){uchar i ;for(;x>0;x--)for(i=0;i<120;i++);}void showtime(){d1=0;P2=DSY_CODE[k%10]; //显示各位//delay(2);P2=0Xff ;d1=1;d2=0 ;P2=DSY_CODE[k/10%10]; //显示十位//delay(2);P2=0Xff ;d2=1;d3=0;P2=DSY_CODE[k/100];//显示百位// delay(2);P2=0X00 ;d3=1;}void main(){TMOD=0x01;TR0=1;EA=1;ET0=1;IT0=0;P2=0xc0;TH0 =(65535 - 50000)/256;TL0 = (65535 - 50000)%256;while(1){showtime();}}void timer0() interrupt 1{int_time++;if(int_time == 20){int_time = 0;k++;if(k == 999)k = 0;}TH0 = (65535-50000)/256;TL0 = (65535-50000)%256; 附录Ⅱ巡线避障机器人的设计与制作19。

相关文档
最新文档