资源描述
智能避障机器人设计与研究(硬件)摘 要在科学探索和紧急抢险中经常会遇到对一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。而机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。自动避障机器人就是基于这一系统开发而成的。随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人的自动避障有了重大的意义。自动避障机器人可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。本文提出了一种经济实用的智能避障机器人系统设计方法,采用了小车底盘作为载体、直流电机作为执行元件、红外传感器作为检测元件、STC89C52单片机作为主控芯片、L298N作为驱动芯片和稳压电源芯片完成了检测电路设计、主控电路设计、电机驱动电路设计、稳压电路设计等硬件设计和制作,并对系统进行了仿真和综合调试,解决了一系列的难题,成功实现了自动避障功能。关键词:智能避障机器人,红外传感器,单片机,L298N,PWM调速THE DESIGN AND STUDY OF INTELLIGENT OBSTACLE AVOIDANCE ROBOT(HARDWARE)ABSTRACTIn 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. The robots automatic obstacle avoidance movement in complex terrain is an essential and most basic function. Therefore, the automatic obstacle avoidance system development is made. Automatic obstacle avoidance robot development based on this system is 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 robot can serve as a regional exploration and emergency rescue robot system that allows robots to automatically avoid obstacles in the road. This paper presents an economical and practical design of intelligent obstacle avoidance robot system, using the car chassis as the carrier, the DC motor as the actuator, infrared sensors as detection devices, STC89C52 microcontroller as the main chip, L298N as the driver chip and regulated power supply chip to complete the detection circuit design, master control circuit design, motor driver circuit design, voltage regulator circuit design of hardware design and production. A lot of simulation and integrated debugging have been done to the system and a series of problems have been solved. Finally, the automatic obstacle avoidance function is accomplished successfully. KEY WORDS:Intelligent obstacle avoidance robot, infrared sensor, MCU,L298N, PWMspeedadjusting目录 前言1第1章 系统总体方案设计41.1 系统任务描述41.2 控制系统要求41.3 方案设计与论证41.3.1 机器人载体选择41.3.2 主控制器选择51.3.3 传感器选择51.3.4 电机驱动选择61.3.5 稳压电源选择71.3.6 智能小车最终方案71.4 系统总体设计81.4.1 系统组成81.4.2 系统工作原理81.5 本章小结9第2章 硬件设计102.1 主控电路设计102.1.1 STC89C52单片机硬件结构简介102.1.2 最小应用系统设计122.2 电机驱动电路的设计152.2.1 智能小车驱动电机的要求152.2.2 直流电机调速原理162.2.3 L298N电机驱动原理172.3 障碍物检测电路设计222.4 报警电路设计232.5 稳压电源电路设计242.6 系统整体电路设计252.7 本章小结26第3章 软件设计简介273.1 主程序模块273.1.1 程序控制设计273.1.2 主程序流程图273.2 初始化模块293.3 延时模块293.4 中断模块293.5 报警模块293.6 驱动模块293.7 本章小结30第4章 系统的安装与调试314.1 安装步骤314.2 系统调试314.2.1 硬件调试314.2.2 软件调试324.2.3 联合调试324.3 本章小结32结论33参考文献34致谢35附录36前言1. 设计的依据与意义机器人作为人类的新型生产工具,在减轻劳动强度,提高生产率,改变生产模式,把人从危险、恶劣、繁重的工作环境下解放出来等方面,显示出极大的优越性。机器人的应用越来越广泛,几乎渗透到所有领域。移动机器人是机器人学的一个重要分支,而自主式移动机器人是智能程度最高的机器人,是移动机器人的重要发展方向。在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。本设计的智能避障机器人就是基于这一系统开发而成的。安全避障具体的实现方法有很多种,主要有超声避障、视觉避障、红外传感器、激光避障、接近觉传感器、微波雷达等避障方法。随着计算机、智能控制、传感器技术、信息技术、单片机技术等的进一步发展,人们对机器人性能的要求也越来越高。智能机器人可以在“了解周围环境的情况下自己进行逻辑判断和分析,在无人控制的情况下,自主完成任务。机器人在完成任务的过程中面临着如何去检测路面上的障碍物并选择最佳的路径绕开障碍物的问题,即移动机器人的避障问题。对避障的研究具有十分重要的现实意义,为交通运输业带来巨大的变革,也为车辆的自主导航和无人驾驶车辆的实现提供了重要技术。2. 国内外同类设计的概况综述1962年第一台工业机器人Unimate在美国通用汽车公司投入使用,标志着第一代机器人的诞生。现代机器人从诞生到现在,已经发展到了第三代。第一代机器人主要指以“示教一再现”方式工作的机器人。示教内容为机器人操作机构的空间轨迹、作业条件、作业顺序等。第二代机器人具有一定的感觉装置,能获取作业环境操作对象的简单信息,通过计算机分析处理后,由机器人做一定的推理,对动作进行反馈控制,表现出低级的智能。第三代机器人是指具有高度适应性和自主决策能力的机器人,它具有复杂的感知和检测功能,可进行复杂的逻辑判断、自主规划和决策,在作业环境中独行动。在国外,研究工作有:(1)室外几种典型应用的移动机器人:由美国NASA资助研制的“丹蒂II”八足行走机器人,是一个能提供对高移动性机器人运动的了解和远程机器人探险的行走机器人。美国NASA研制的火星探测机器人索杰那于1997年登上火星,这一事件向全世界进行了报道。德国研制了一种轮椅机器人,并在乌尔姆市中心车站的客流高峰期的环境和1998年汉诺威工业商品博览会的展览大厅环境中进行了实地现场表演。(2)高完整性机器人。意指机器人在工作时一定是正确的,并不一定要连续工作。(3)遥控移动机器人。(4)环境与机器人集成。像人需要道路、交通信号灯等一样,机器人为了在一个动态变化的环境中行动,也同样需要基础设施。(5)生态机器人学(生物机器人学)。(6)多机器人系统。主要是获取机器人团队协调和控制技术,并将其应用于战略重要情况。在国内,对移动机器人的研究起步较晚,主要的研究工作有:(1)清华大学智能移动机器人于1994年通过鉴定。(2)中国科学院沈阳自动化研究所的AGV和防暴机器人。(3)哈工大机器人技术有限公司开发研制成功了我国第一台智能型服务机器人。采用了先进的传感系统(CCD摄像机、红外、红外等),智能水平很高,机器人带有的视觉系统、语音系统和运动系统使其言行举止更像人。(4)2003年1月,中科院自动化所成功研制开发了集多种传感器、视觉、语音识别与会话功能于一体的智能移动机器人。基本结构由传感器、控制器和运动机构构成。综上所述,移动机器人技术已经取得了很多可喜的进展,研究成果令人鼓舞,但还远未达到实用要求。随着传感技术、智能技术和计算机技术等的不断提高,智能移动机器人一定能够在生产和生活中某种程度上扮演人的角色。3. 课题设计的内容智能机器人是集计算机技术、智能控制、传感器、电子学、检测等技术于一体的机器人。智能机器人的研究是目前科学领域的重要研究课题之一,智能机器人各方面性能的提高更是现在研究的热点。智能机器人能够通过传感器来感知外面的环境,并可以进行动态决策的特性正是智能机器人性能的一个重要体现。本课题主要内容是利用STC89C52RC单片机设计一个简易智能机器人的运动控制系统、感知系统,并从硬件上予以实现。本课题的研究主要包括以下主要内容:首先,利用传感器对移动机器人周围障碍物进行探测,并及时传输给单片机;其次,确定移动机器人的避障方法及其控制算法;最后,实物进行试验,实现移动机器人的实时避障。研究开发出一套简易智智能避障机器人,要实现的主要目标有:(1) 利用STC89C52RC单片机设计出智能机器人的硬件系统。(2) 进行系统设计方案的论证和总体设计。(3) 进行系统的硬件设计和软件设计。(4) 完成硬件电路板的PCB设计和调试。第1章 系统总体方案设计1.1 系统任务描述该系统的任务就是让移动机器人在行进的过程中,能够自动检测存在的障碍物、并且采取有效的避障措施。1.2 控制系统要求该控制系统要满足以下几点要求:(1) 能对车体四周的环境进行探测以获得障碍物的存在情况。(2) 实时性要求。(3) 交互功能。主要是设定小车正常行进、转弯时驱动电机的速度;初始化系统时的一些参数设定。 (4) 驱动电机稳速运行要求。(5) 控制系统工作可靠、耐用,抗干扰能力强。1.3 方案设计与论证1.3.1 机器人载体选择由于水平有限无法制作出双足行走机器人,因此本设计选择小车作为智能避障机器人的载体。方案一:自己设计制作车架自己制作小车底盘,用两个直流减速电机作为主动轮,利用两电机的转速差完成直行、左转、右转、左后转、右后转、倒车等动作。减速电机扭矩大,转速较慢,易于控制和调速,符合避障小车的要求。而且自己制作小车框架,可以根据电路板及传感器安装需求设计空间,使得车体美观紧凑。但自己制作小车设计制作周期较长,且费用较高。 方案二:购买玩具电动车玩具电动车价格低廉,有完整的驱动、传动和控制单元,其中传动装置是本设计所需的,缩短了开发周期。但玩具电动车采用普通直流电机驱动,带负载能力差,调速方面对程序要求较高。同时,玩具电动车转向依靠前轮电机带动前轮转向完成,精度低。综合考虑到制作周期和精度问题,最终选择了在淘宝购买小车车体零部件自己组装。这样不仅精度有保障,也增加了设计的灵活性。1.3.2 主控制器选择处理器可以选择采用DSP或51单片机,DSP适合用于控制电机,功能强大。51单片机应用广泛,能满足一般控制的需要。由于对51单片机比较熟练,价格便宜,而DSP控制相对而言复杂,故采用51单片机。市场上流通很多种类的单片机,在一般性能上都可以达到要求,例如AT89C51、AT89C52等都可以用于控制小车,唯一缺点在于不能在线下载,造成了不便的烦恼,下载器,AT系列单片机价钱比较贵,不利于小资本实验。而STC系列单片机价钱容易接受,可以在线下载,下载器也比较容易购买到,方便携带应用。故本设计采用STC89C52作为该智能小车控制模块的核心,通过STC89C52利用程序来精确控制小车的运动,从而实现对小车的自动控制,在对于智能小车的控制方面,STC89C52是一个超低功耗,和标准51系列单片机相比较具有运算速度快,抗干扰能力强,支持ISP在线编程,片内含8k空间的可反复擦写1000次的Flash只读存储器,具有256 bytes的随机存取数据存储器(RAM),32个I/O口,3个16位可编程定时计数器。其指令系统和传统的8051系列单片机指令系统兼容,降低了系统软件设计的难度,电路设计简单、价格低廉。且在运用过程中STC89C52的精确度和运算速度也都完全符合系统的要求。综合以上分析选用了比较普通的且更为熟悉的STC89C52单片机为整个系统的控制核心。1.3.3 传感器选择方案一:使用超声波传感器在壁障模块中,可以选择超声波壁障。其优点是反应速度灵敏,距离远。但由于声波衍射现象较严重,且波包散面太大,易造成障碍物的错误判断。超声波受环境影响较大,电路复杂,而且地面对超声波的反射,会影响系统对障碍物的判断。方案二:使用视频采集处理装置使用CCD实时采集小车前进路线上的图像并进行实时传输及处理,这是最精确的障碍物信息采集方案,可以对障碍物进行精确定位和测距。但是使用视频采集会大大增加小车成本和设计开发难度,而且考虑到本设计的小车只是进行简单的避障,因而使用视频采集在实际应用中是个很大的浪费,所以本设计放弃了这一方案。方案三:使用红外传感器使用红外传感器,这是一种集发射与接收于一体的光电传感器,其有效探测距离380cm可调,且抗外界背景光干扰能力强,价格便宜、易于装配、使用方便,可在日光下正常工作(理论上应避免日光和强光源的直接照射)。相比方案一与方案三,由于两者价格相差不大,红外传感器体积更小,精度更高,反应更快,因此,本课题将采用红外传感器来实现移动机器人的避障。1.3.4 电机驱动选择方案一:采用继电器控制采用继电器对电动机的开或关进行控制,通过开关的切换对小车的进行调整。此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。方案二:使用分立原件搭建电机驱动电路使用分立原件搭建电机驱动电路造价低廉,在大规模生产中使用广泛。但分立原件H桥电路工作性能不够稳定,较易出现硬件上的故障,故本设计放弃了这一方案。方案三:使用L298N芯片驱动电机L298N是一个内含两个H桥的高电压大电流双H桥式驱动芯片,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号,而且带有使能端,方便PWM调速,电路简单,性能稳定,使用比较方便。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,正好符合本设计小车两个二相电机的驱动要求。因此,采用L298N芯片驱动电机。1.3.5 稳压电源选择方案一:采用单一电源供电这样供电比较简单,但是由于电动机启动瞬间电流很大,会造成电压不稳、有毛刺等干扰,严重时可能会造成单片机系统掉电,使之不能完成预定行程。方案二:采用双电源供电电动机驱动电源采用5节五号电池,单片机及其外围电路电源采用5V钮扣电池供电,两路电源完全分开,这样做虽然可以将电动机驱动所造成的干扰彻底消除,提高了系统稳定性。但是不如单电源方便灵活。由于本设计采用的L298N电机驱动电路板可以提供+5V输出,可以方便给5V的单片机供电,因此采用单电源供电即可。只有给L298N电机驱动电路板供电大于6V时,才能输出+5V电压。综合考虑到本设计采用的直流电机为强磁电机以及线路压降,因此本设计选择了7.2V的镍镉充电电池组来供电。1.3.6 智能小车最终方案经过上面的思考和分析最终确定智能避障小车的最终方案如下:(1) 采用STC89C52单片机作为整个电路的控制核心。(2) 采用可充电镍镉电池组提供基准电源。(3) 采用小车底盘作为机器人载体,强磁直流减速电机作为小车系统的驱动电机。(4) 采用电机专用驱动芯片L298N作为直流电机的驱动芯片。(5) 采用红外传感器进行障碍检测。1.4 系统总体设计1.4.1 系统组成系统组成框图如图1-1所示。直流电机 STC89C52控制模块障碍物检测模块电机驱动模块稳压电源模块报警模块图1-1 系统组成框图1.4.2 系统工作原理智能避障机器人采用小车底盘作为载体。小车采用前轮驱动,前轮左右两边各用一个直流电机驱动,分别控制两个轮子的转动从而达到转向的目的,后轮是万向轮,起支撑的作用。将红外传感器装在车体的前方,实时监测路面情况并及时传输给单片机。由单片机主控核心模块根据感测模块给予的信息控制小车两电机转动工作状态。电机驱动模块驱动两电机转动,实现前进或者左、右转。本小车使用STC89C52单片机作为主控芯片,当小车与障碍物的距离小于30cm时,小车转弯以避开障碍物,并且此时蜂鸣器报警。小车的避障流程如下:在车前方没有障碍物时,小车沿直线向前走。在车前方有障碍物时,小车能避开障碍物,避障方法如下:(1) 先向左边转90度,如果前面没有障碍物,再沿直线向前走。(2) 如果前面仍有障碍物,则向右转180度,如果前面没有障碍物,则直线行走。(3) 如果前面仍有障碍物,则向右90度,然后直线行走。1.5 本章小结本章介绍了智能避障机器人的设计内容及控制要求,提出了系统的总体设计思路和系统结构,并对系统硬件的选型进行了方案比较,选择了合适的系统方案。最终选择了STC89C52单片机作为整个电路的控制核心,采用可充电镍镉电池组提供基准电源,采用小车底盘作为机器人载体,强磁直流减速电机作为小车系统的驱动电机,采用电机专用驱动芯片L298N作为直流电机的驱动芯片,采用红外传感器进行障碍检测。第2章 硬件设计2.1 主控电路设计2.1.1 STC89C52单片机硬件结构简介本模块采用STC89C52单片机作为核心处理器。STC89C52是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写10000次以上的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C52引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。其应用范围广,性能良好,可用于解决复杂的控制问题。利用STC89C52的I/O端口对传感器信号进行实时判断监控来控制步进电机做出相应的反映。图21 单片机基本结构框图STC89C52单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。其基本结构框图如图21所示:(1) 微处理器该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。(2) 数据存储器片内为128个字节,片外最多可外扩至64k字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。(3) 程序存储器由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64k字节。(4) 中断系统具有5个中断源,2级中断优先权。(5) 定时器/计数器片内有2个16位的定时器/计数器,具有四种工作方式。(6) 串行口1个全双工的串行口,具有四种工作方式。可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。(7) P0口、P1口、P2口、P3口为4个并行8位I/O口。(8) 特殊功能寄存器共有21个,用于对片内的个功能的部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。由上可见,STC89C52单片机的硬件结构具有功能部件种类全,功能强等特点。特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个一位微计算机有自己的CPU、位寄存器、I/O口和指令集。1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机在设计的精美之处。2.1.2 最小应用系统设计89C52是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单可靠。用89C52单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图2-2所示89C52单片机最小系统。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:(1) 有可供用户使用的大量I/O口线。(2) 内部存储器容量有限。(3) 应用系统开发具有特殊性。图2-2 89C52单片机最小系统1. 时钟电路MCS51单片机各功能部件运行都是以时钟控制信号为基准,有条不紊的一步一步地工作,因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。89C52虽然有内部振荡电路,但要形成时钟,必须外部附加电路。89C52单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式。本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ到12MHZ之间选择。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。所以本设计中,振荡晶体选择12MHZ,电容选择65pF。在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。为了提高温度稳定性,应采用NPO电容,时钟电路如图2-3所示。图2-3 时钟电路2. 复位电路89C52的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用12MHZ时C取22uF,R取1K。除上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端 经电阻与电源VCC接通而实现的。三种复位电路如图2-4所示,从左到右依次是上电自动复位、手动电平复位和手动脉冲复位。图2-4 复位电路3. 烧写接口电路如图2-5所示就是USB供电下载接口,图中PL2303 芯片是Prolific 公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232 全双工异步串行通信装置与USB 功能接口便利连接的解决方案。该器件内置USB功能控制器、USB 收发器、振荡器和带有全部调制解调器控制信号的UART, 只需外接几只电容就可实现USB 信号与RS232 信号的转换,能够方便嵌入到各种设备;该器件作为USB/RS232 双向转换器,一方面从主机接收USB 数据并将其转换为RS232 信息流格式发送给外设;另一方面从RS232 外设接收数据转换为USB 数据格式传送回主机。这些工作全部由器件自动完成,开发者无需考虑固件设计。只需将ISP下载线插到电脑USB接口上就可以向单片机烧写程序。同时,ISP 的下载接口如图2-6,在设计时应注意以下两点,否则会造成程序下载的失败。(1) 下载线接口中的电源和单片机共用一个电源。(2) 下载线接口中用到的P1.5到P1.7 脚不能连接外部器件,如果要连接外部器件可以设计为可插拔的方式,防止影响程序的下载。图2-5 USB供电下载电路图2-6 ISP程序下载电路2.2 电机驱动电路的设计2.2.1 智能小车驱动电机的要求控制电机是本次设计中的重要元件,如果控制电机的性能不佳或使用不当,将直接影响到整个系统的工作性能。智能小车控制系统中对控制电机要求其体积小、重量轻、耗电少,另外还要求其有高可靠性、高精度和快速响应等特点,主要集中在以下几个方面:(1) 高可靠性。控制电机的可靠性对保证任何自动控制系统的正常工作极为重要,一旦发生故障,将会直接导致本次设计的失败。(2) 高精度。在本次设计中对电机的响应精度要求较高,因为本设计所加的脉冲宽度是毫秒级的,有时甚至是微秒级的。从广义上而言,直流电机特性的线性度和失灵区会直接影响到系统的精度。(3) 启动、停止和反向均能连续有效的进行,具有良好的响应特性。(4) 正转反转的特性相同,且运行特性稳定。(5) 良好的抗干扰能力、体积小、重量轻。常用的控制电机有步进电机和直流电机两大类。步进电机效率较低,功率较小,虽然近年来不断有小体积大功率的步进电机出现,但其价格昂贵,因此在小车类控制中常用的是直流电机。直流电机能够将输入的电压信号变成转轴的角位移或角速度输出,改变控制电压即可改变电机转速和转向,用途很广泛,主要有如下优点:(1) 宽广的调速范围。直流电机的转速能够随着控制电压的改变在宽广的范围内连续调节。(2) 线性的机械特性和调节特性。直流电机在控制电压一定时,转速随着转矩的变化而变化。转矩一定时,转速则随电压的变化而线性调节。线性的机械特性和调节特性有利于提高自控系统的动态精度。(3) 与步进电机相比,小体积较易获得大功率。2.2.2 直流电机调速原理直流电动机转速可以用式2-1表示: n=(U-IR)/K (2-1)其中U为电枢端电压,I为电枢电流,R为电枢电路总电阻,为每极磁通量,K为电动机结构参数。直流电机转速控制可分为励磁控制法与电枢电压控制法。大多数应用场合都使用电枢电压控制法。随着电力电子技术的进步,改变电枢电压可通过多种途径实现,其中PWM(脉宽调制)便是常用的改变电枢电压的一种调速方法。PWM调速控制的基本原理是按一个固定频率来接通和断开电源,并根据需要改变一个周期内接通和断开的时间比(占空比)来改变直流电机电枢上电压的“占空比”,从而改变平均电压,控制电机的转速。在脉宽调速系统中,当电机通电时其速度增加,电机断电时其速度减低。只要按照一定的规律改变通、断电的时间,即可控制电机转速。而且采用PWM技术构成的无级调速系统启停时对直流系统无冲击,并且具有启动功耗小、运行稳定的特点。设电机始终接通电源时,电机转速最大为Vmax,且设占空比为D=tT,则电机的平均速度Vd为:Vd=VmaxD (2-2)由公式可知,当改变占空比D=tT时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格地讲,平均速度与占空比D并不是严格的线性关系,在一般的应用中,可将其近似地看成线性关系。 在直流电机驱动控制电路中,PWM信号由单片机产生,驱动L298N的H桥左右两边的三极管开关来改变直流电机电枢上平均电压的大小,从而控制电机的转速,实现直流电机PWM调速。当用单片机I/O口输出PWM信号时,可采用以下三种方法:利用软件延时。当高电平延时时间到时,对I/O口电平取反变成低电平,然后再延时;当低电平延时到时,再对I/O口电平取反,如此循环就可得到PWM信号。利用定时器。控制方法相同,只是在这里利用单片机定时器来定时进行高低电平的翻转,而不用软件延时。利用单片机自带的PWM控制器。但本实验用的STC89C52并没有PWM控制器,所以采用定时器产生PWM信号。2.2.3 L298N电机驱动原理前面已经提到,由于单片机的驱动能力不足,无法驱动像电机这样的大功率外部器件,因此必须外加驱动电路。电机常用的驱动芯片很多,在本设计中笔者选用硬件设计简单,驱动效率高的L298N作为电机驱动芯片,L298N芯片是一种集成大功率H桥芯片。电机驱动模块主要功能是将主控芯片发出的信号通过电机控制芯片转化为小车实际的动作。本设计中采用的L298N电机驱动电路板使用ST公司的L298N作为主驱动芯片,具有驱动能力强,发热量低,抗干扰能力强的特点。L298N是欧洲著名的SGS公司的产品,为单块集成电路、高电压、高电流、四通道驱动。设计用来接收DTL或者TTL逻辑电平,驱动感性负载(比如继电器,直流电机),和开关电源晶体管。L298N芯片有一个电源引脚VCC和接地引脚GND。四个电机驱动引脚和四个PWM波控制引脚。VCC引脚可以接+12V电源用来给芯片和电动机供电。模块板载7805三端稳压集成电路稳压芯片,可以方便给单片机以及其他需要5V的系统供电,前提是VCC接大于6V电压。可实现电机正反转及调速、启动性能好、启动转矩大、可同时驱动两台直流电机。L298N是双H桥驱动芯片,包含两个H桥电路。每个H桥电路原理大体如图2-7所示:图2-7 H桥电路图若H桥的1端为低电平,2端为高电平时,三极管Q4导通,Q1截止,此时Q3的基极为低电平,Q2的基极为高电平,因此三极管Q2和Q6导通,Q3和Q5截止,电流流向如图2-8所示,电机正转。图2-8电机正转示意图若H桥的1端为高电平,2端为低电平时,三极管Q1导通,Q4截止,此时Q3的基极为高电平,Q2的基极为低电平,因此三极管Q3和Q5导通,Q2和Q6截止,电流流向如图2-9所示,电机反转。图2-9 电机反转示意图H桥电路虽然有着诸多的优点,但是在实际制作过程中,由于元件较多,电路的搭建较为麻烦,增加了硬件设计的复杂度,因此在本设计中笔者采用H桥集成驱动芯片L298N。L298N 的工作原理和以上介绍的H桥相同,引脚图如图2-10所示:图2-10 集成H桥芯片L298N管脚图直流电机由驱动芯片L298N提供驱动电机所需要的电压和电流,通过改变加在电动机上的电压的平均值来控制电机的运转。通过单片机的I/0输入芯片控制端的电平,即可以对电机进行正反转、停止的操作,表2-1是其输入引脚和输出引脚的逻辑关系。表2-1输入引脚和输出引脚的逻辑关系IN1(IN3)IN2(IN4)电机运行情况10正转01反转11刹车00停止其外部电路原理图如图2-11所示。L298N芯片的1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号,本电路未用到采样所以将其接地。L298可以驱动2个直流电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。5脚、7脚、10脚、12脚接输入控制信号,控制电机的正反转。ENA,ENB为电机控制使能端,控制电机的停转,本电路中分别与单片机89C52的P1.4、P1.5相连,进行PWM调速。操作非常方便,能满足直流减速电机的大电流要求。图2-11集成H桥芯片L298N外部电路原理图VSS端口的电容是为了去除供电电压的纹波波动,根据电容的阻直流通交流的特性,供电电压的交流波动会通过此电容直流流向GND,这样设计是为了使芯片的供电电源更稳定有效。当电感线圈通电后再断电时,绕组两端会产生一个比电源电压高N倍,极性与电源电压相反的反向电压,这就是自感电动势。这个反向电压就会加在L298的功率开关器件上,将L298的功率开关器件击穿烧坏,所以要建立一个泄放通道,将绕组自感电动势所产生的高压和电流释放,以保护功率开关器件。输出端口的八个续流二极管是为了消除电机转动时的尖峰电压保护电机而设计,简化电路时可以不加。D2、D3,D6、D7两组的作用分别为:M1电机正转时,OUT1为正,OUT2为地,电流从OUT1经M1绕组流向OUT2。当切断电流,电机停转时M1电机绕组的感生电压使OUT2为正,OUT1为负,这时接在正端(OUT2)的D6会正向导通;而接在负端(OUT1)的D3也导通将负端接地。为感生电流提供泄放通道向C12、C14充电。这时,C12、C14作为储能器件将自感电流吸收储存。电路中的二极管在为L298提供保护同时,也为感生电流向电源电路充电提供通道。C1、C2不但是滤波电容,也是储能器件。2.3 障碍物检测电路设计避障检测采用红外传感器,这是一种集发射与接收于一体的光电传感器。检测距离可以根据要求进行调节。该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点,可以广泛应用于机器人避障、流水线计件等众多场合。实物如图2-12所示:其工作电压为26v,满足小车行进过程中的电量消耗。图2-12 红外传感器这种传感器将发射管和接收管放置在一个塑料壳内,发射管和接收管均为长方形,尺寸为4mm*3mm,系统中我们设计探测距离在30cm 左右,此时探测环境良好,不易受到其它光线的干扰。传感器采用E18-D80NK式反射红外传感器。该封装形状规则,便于安装。探测距离在3CM到80CM范围内可调,完全能满足探测距离要求。传感器由于发射和接受的是红外光,所以常见光对它的干扰较小。光电反射式传感器的原理图如2-13所示,其具体原理为:当电源稳定供电时,红外发射管不断地发射出红外光,当发射出的红外光遇到障碍物时,发射出的红外光会发生漫反射,反射回传感器,这时传感器的三极管就会导通,传感器的I/O端口与地导通,输出为低电平,反之,发射出的红外光没有遇到障碍物,发射出的红外光无法返回传感器,传感器的三极管就会截止,传感器的I/O口经10K欧的电阻与电源相连,输出为高电平。所以从宏观上来看,光电反射式传感器在电路正常工作的情况下,有障碍物时输出低电平,没有障碍物时输出高电平,为低电平有效器件。在实际测试中,需要指出,光电反射式传感器是基于障碍物能反射部分红外光,在极端条件下,比如黑色完全不反光的障碍物,这种障碍物能够完全吸收红外光,所以,光电反射式传感器无法检测这种障碍物,或者检测精度下降。 图2-13 E18-D80NK型反射红外传感器原理图E18-D80NK型反射红外传感器的技术参数:1.输出电流 DC:100mA/5V2.消耗电流 DC:25mA3.响应时间:1ms4.指向角:155.有效距离:3-80cm可调6.监测物体:反光物体(实际测试中黑色墙壁不可检测)7.工作环境:-25C 55C8.标准检测光照强度:3000LX2.4 报警电路设计报警模块通过单片机给定不同频率的高低电平利用蜂鸣器发出不同声音。报警模块电路图如图2-14所示。三极管主要是做驱动用的。因为单片机的IO口驱动能力不够让蜂鸣器发出声音,所以通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,三极管采用PNP型,当输出低电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出高电平时,三极管截止,没有电流流过蜂鸣器,不会发出声音。图2-14 报警模块电路图2.5 稳压电源电路设计对于一个实际的电子系统,要认真的分析它的电源需求。不仅仅是关心输入电压,输出电压和电流,还要仔细考虑总功耗,电源实现的效率,电源部分对负载变化的瞬态响应能力,关键器件对电源波动的容忍范围以及相应的允许的电源纹波,还有散热问题等等。由于本设计采用的芯片L298N电机驱动电路板可以提供+5V输出,可以方便给5V的单片机供电,因此采用单电源给电机驱动芯片L298N供电即可。L298N理论上可以最高输入46V,但是理论上L298N芯片的最高功率只有25W,在50V最高工作电压时,电流不应超过0.5A,实际模块上有7805芯片给单片机提供5V,7805的正向工作电压不应超过28V,所以模块VCC理论最大工作电压不应超过28V,实际建议不应该超过24V,在24V工作电压下,单个电机的电流不应超过1A,2个电机同时使用单个电机的电流不应超过0.5A;VCC输入多少伏,完全取决于电机的额定电压,OUT的高电平电压等于VCC,低电平电压等于0V,本设计采用的减速电机额定电压为6V左右。7805三端稳压集成电路,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。稳压电路如图2-15所示。电源的选择额定7.2V的可充电镍氢电池组。它有低成本,循环寿命长,无污染,安全性能好,温度使用范围广等特点。它的容量为2A,最高输出电压8.6V,有很强的续航能力。动力电池组具有较强的电流驱动能力及稳定的电压输出性能,经测试在用此种供电方式下,单片机和传感器工作稳定,直流电机工作良好,且电池体积较小、可以充电、能够重复利用等,能够满足系统的要求。图2-15稳压电源电路2.6 系统整体电路设计根据本章前面对设计的各个相关模块的分别讲述讲述,再结合单片机的引脚功能,从而得到系统整体电路图,如图2-16所示。图2-16 系统整体电路图2.7 本章小结本章主要设计了智能避障机器人的硬件系统,包括主控电路设计、障碍物检测电路设计、报警电路设计、稳压电源电路设计和电机驱动电路设计。对每一部分的硬件作了详细介绍和电路设计,最终完成了智能避障机器人的整体电路原理图设计和硬件组装。第3章 软件设计简介本设计采用的是模块化的思路来进行设计和编写程序,程序主要由主程序模块、延时模块、驱动模块、报警模块、中断模块等五大部分组成,每一部分都针对相应的硬件电路。由于本设计软件部分是由搭档来完成这里只作简要介绍介绍,整机程序见附录。3.1 主程序模块3.1.1 程序控制设计小车的程序控制系统是由主程序模块、延时模块、驱动模块、报警模块、中断模块五大模块相互配合组成。各个程序的功能不一样其中PWM波产生子程序是利用单片机的定时器产生的其主要目的是利用产生的PWM波控制L29N的使能端使其电机的平均电压随着PWM波的占空比改变而改变,进而控制电机的转速。电机控制子程序则是通过定义L298N的IN端口信号分别控制电机的起、停、前进和后退。避障子程序则是单片机检测P17端口信号当信号由高电平变为低电平时开始控制左右电机的PWM波的占空比通过调节不同占空比来调节电机转速,使小车转弯自动避障。本次小车程序是利用C语言进行编程通过不同子模块的调用来实现小车自动避障。3.1.2 主程序流程图如图3-1所示为系统主程序流程图。首先小车进行上电初始化程序,接下来单片机控制小车开始前进,前进过程中单片机通过红外传感器模块不断检测前方30厘米内障碍物,并将开关量传送给单片机。当检测到前方有障碍物时,蜂鸣器报警与此同时单片机控制电机驱动模块驱动电机完成避障操作完,避障动作完成后小车继续前进并检测前方障碍物。开始初始化前进蜂鸣器报警前方有障碍物?左转90右转180右转90前方有障碍物?前方有障碍物?NYYYNN图3-1 系统软件的整体流程图3.2 初始化模块该模块对定时器T0、T1做初始化,使定时器控制字为0x11,即“00010001”,并使定时器关闭Gate门控位,也就是仅由单片机内部的控制寄存器TCON决定定时器的工作与否,当TR0=0时定时器0停止工作,当TR0=1时定时器0正常工作。CT=0,也意味着定时器0工作在定时模式而不是计数模式,M1M0=01设置了定时器0的工作方式为方式一,为16位定时器计数器模式。3.3 延时模块这个模块定义了延时函数,具体原理是,单片机执行空操作100*Z条,其中Z为调用函数的形参,单片机的晶振为11.0592Mhz,十二个晶振周期为一个指令周期,所以单片机的机器周期大约为1Mhz,也就是说,单片机在一秒之内运行1M条指令,那么单片机执行一条指令的时间大约为一微妙,执行100条指令的时间大约为0.1ms,该函数能使单片机延时0.1*Z的时间。3.4 中断模块中断模块主要是完成PWM调速功能,PWM调速的原因是小车左轮右轮转速不一样,左轮转速比右轮快20%,所以在两轮全正转的时候,理论上小车是直线前进,但是实际上,因为小车左轮比右轮快20%,所以小车行走路线是圆弧,为了让小车能够走直线,所以使用PWM调速的方法,当需要小车直线行驶时,给左轮加83%的电压,给右轮加100%的电压,这样左轮就按照83%的速度行驶,右轮全速行驶,使用这种方式后,小车能够近似按照直线行驶。调用此函数后,小车直线行驶。也可利用PWM来进行精确的转弯。3.5 报警模块报警模块主要是在小车遇到障碍物时,进行报警提示,可以利用延时函数来改变高低电平的占空比来实现蜂鸣器“滴滴滴”的报警。3.6 驱动模块主要完成直流电机启动、停止、前进和后退控制。给对应的驱动芯片控制端口IN2、IN2、IN3、IN4传送高低电平即可实现小车的前进、后退、左转、右转和停车操作。3.7 本章小结本章简单介绍了智能避障机器人的软件系统和避障算法,对主程序模块、延时模块、驱动模块、报警模块、中断模块等五大部分作了简单扼要的阐述。第4章 系统的安装与调试4.1 安装步骤1. 检查元件的好坏按电路图买好元件后首先检查买回元件的好坏,按各元件的检测方法分别进行检测,一定要仔细认真。而且要认真核对原理图是否一致,在检查好后才可上件、焊件,防止出现错误焊件后不便改正。2. 放置、焊接各元件按原理图的位置放置各元件,在放置过程中要先放置、焊接较低的元件,后焊较高的和要求较高的元件。特别是容易损坏的元件要后焊,在焊集成芯片时连续焊接时间不要超过10s,注意芯片的安装方向。4.2 系统调试本系统的调试共分为三大部分:硬件调试、软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试:单片机控制模块的调试、红外传感器模块的调试以及电机控制模块和报警模块的调试,最后将各模块组合后结合软件进行整体测试。4.2.1 硬件调试对各个模块的功能进行调试,主要调试各模块能否实现指定的功能。首先烧入电机控制小程序,控制电机正反转,停止均正常。说明电机及驱动电路无误。然后加入避障子程序,小车运转正常时,调节红外传感器模块距离使达到理想效果。接下来加入调速子程序,看调速正常与否。最后加入报警模块和传感器模块,看能否正常报警。在调试程序时,发现有的指令用的不正确,比如说忽略了while循环,导致单片机一直报警,另外软件程序中的延时有的过长、有的过短。类似的现象还有很多就不一一列举了。特别是电机PWM控制部分的调试很麻烦,需要不断的试验,不过最终都完满解决。4.2.2 软件调试软件调试采用单片机仿真器protues和单片机编程软件Keil,将编好的程序进行调试,主要是检查语法错误并确认硬件完整无误。由于本系统是分模块进行程序设计的,所以调试时先分模块进行调试。如小车红外线避障程序、PWM调速程序,在调试时将它放在一个子程序里单独测试,看其是否能够完成预定的功能,如能,测试通过,否则,修改并反复测试直到通过。虽然在软件的调试过程中,综合利用了设定断点、单步、跟踪等调试手段,使得调试工作更易进行。但是也出现了一定的问题,如小车一直转弯,电机延时没起到效果等等。通过了多次分离合并,修改测试语句以及单片机外加LED灯观察现象等方法得以解决,达到综合效果。4.2.3 联合调试各模块都调试通过之后,将各个模块连接起来与硬件结合进行联合调试。在进行联合调试时,经过反复的实验,不断修改参数来完善结果。使程序按照要求设计的要求进行。4.3 本章小结本章主要介绍了智能避障机器人的安装和调试,通过反复的实验,不断修改参数来完善结果,最终实现了智能避障机器人的自动避障功能。 结论本设计
展开阅读全文