智能超声波避障小车-毕业设计论文.docx
编号: 毕业设计(论文)说明书题 目: 智能超声波避障小车 系 别: 电子工程系 专 业: 电子信息工程 题目类型:¨理论研究 ¨实验研究 þ工程设计 ¨工程技术研究 ¨软件开发 ¨应用研究摘 要随着当今社会智能化越来越高,智能性交通工具的改善是必不可确少的,由于交通工具的普及,由于驾驶员的长时间驾驶引起精神注意力不集中而发生许多严重的交通事故比比皆是,所以智能车的诞生是必然的,它致力于提高汽车的安全性、适应性、舒适性、和提升良好的人车交互界面。自主智能寻迹避障小车是通过单片机、传感器、信号处理器、电机驱动以及自动控制等技术来实现环境感知和自动行驶相结合的高新技术综合体,随着不断提高企业生产技术以及不断加深对自动化技术的要求,智能车已广泛的应用于许多工业部门。可以说它已日益深入到社会和工业的各个方面,例如:智能车在物流运输方面的应用;智能车在军事领域的应用;智能车在社会生活中的应用;智能车在智能运输系统上的应用等等。这些应用可以使社会上正在面临各种各样的问题得以有效解决,对于城市公共交通服务质量的提高,缓解各地交通拥堵,减轻交通管理,道路建设压力起到积极的推动作用。在我国高科技水平的日益提高的同时,工业自动化进程也在不断地推进,智能小车能够通过自动采取一些躲避障碍物的措施,有效避免交通事故的发生,同时也被广泛应用于各种玩具和其他产品的设计中,极大地丰富了人们的生活。本次设计主要是利用ATmega16单片机,超声波传感器、红外线传感器和L298N完成避障小车的制作。以ATmega16为主控芯片,利用超声波传感器对距离的检测,将前方障碍探测出,并且通过超声波的传回数据以及红外线传感器对小车两侧的障碍物位置的确定,进行判断,1602液晶显示所测距离,然后由ATmega16单片机发出指令,控制电机转动,电机驱动采用常用的PWM方式进行电机的调速控制。关键词:智能小车;单片机;超声波;避障AbstractAs intelligent in today's society more and more high, the improvement of the intelligent transportation is will not do less, due to the popularity of traffic tools, because the driver from driving for a long time of the spirit of inattention and many serious traffic accidents, so the birth of smart cars is inevitable, it aims to improve vehicle safety, adaptability, comfort, and promote good interactive interface, autonomous intelligent tracing car obstacle avoidance is by single-chip computer, sensor, signal processors, motor drive and automatic control technology to realize environmental awareness and the combination of autonomous driving technology, along with the continuously improve enterprise production technology as well as the growing demand for automation technology, intelligent vehicle has been widely used in many industrial sectors. It has increasingly deep into the social and industrial aspects, such as: intelligent car applications in logistics; Smart car in the field of military application; Smart car in the application of social life.High-tech level rising in our country at the same time, industrial process automation is in constant propulsion, smart car can automatically take some measures to avoid obstacles, effectively avoid the happening of traffic accident, but also are widely used in the design of all kinds of toys and other products, greatly enriched people's life.This design mainly use ATmega16 single chip microcomputer, ultrasonic sensors, infrared sensors and L298N complete obstacle avoidance car production. ATmega16 as main control chip, using ultrasonic sensors to the detection of the distance, will be in front of the obstacle detection, and returned by ultrasonic and infrared sensors data for determining obstacles on either side of the car position, judge, 1602 liquid crystal display measured distance, and instructions issued by the ATmega16 single chip microcomputer to control motor rotation, the motor driver uses the commonly used PWM motor speed control in the form of control.Key words :intelligent car; Single chip microcomputer; Ultrasound; Obstacle avoidance目 录引言11 系统设计11.1 任务要求11.2 总体设计12 方案论证22.1 系统控制模块设计方案论证22.2 电机的选择方案论证32.3 避障模块设计方案论证42.4 显示模块设计方案论证52.5 直流调速方案设计52.6 电源模块设计方案论证53 元器件介绍63.1 AVR单片机主控芯片介绍63.2 L298N驱动芯片63.2.1L298N驱动芯片介绍63.2.2L298N驱动芯片特点63.3 直流电机63.4 超声波传感器73.4.1超声波传感器概述73.4.2接口说明83.4.3超声波测距原理83.5 光电传感器83.6 LCD1602液晶显示93.6.1液晶显示LCD实物图93.6.2液晶显示原理93.6.3管脚功能94 系统单元电路的设计104.1 超声波收发电路104.2 红外线收发电路104.3 单片机主控电路104.4 电源电路114.5 LCD1602显示电路124.6 电机驱动电路134.6.1直流电机 H 桥驱动方案的选择144.6.2PWM调速原理144.7 光警示电路164.8 单片机复位电路164.9 单片机时钟震荡电路175 软件设计185.1 主程序195.2 避障子程序195.3 电机驱动子程序205.4 显示子程序215.5 测量距离子程序235.6 光警示子程序246 调试与仿真246.1 调试仿真工具Proteus介绍246.2 硬件的制作与调试266.3 电路与程序调试过程286.3.1电路的仿真调试286.3.2电路的调试287 结论30谢辞31参考文献32附录33 第 57 页 共 47 页 引言智能,是指在非结构环境下运作并能够自动预先设定模式,不需要人为的操作就能达到预期或是更高的目标,为人类提供必要服务的集成智能化装备。作为当今社会的新产物,智能对我们的实际工作生活具有很大的实用性。超声波避障的研究对于我国智能车的普及有一定的指导作用并且有着深远的意义,同时小车也成为现代智能玩具的一种良好的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。本题目设计的是具有自动避障功能的智能小车。主要开发一个能根据红外线和超声波检测结果,自动避开障碍物的智能小车控制系统。设计选择通用、价廉的ATmega16单片机作为主控芯片,选择通用的电机模型车为机械平台,系统通过采集超声波传感器和光电传感器的数据,通过相应的比较计算来对PWM波的输出进行控制操作,对电机的转速实现实时调节;通过超声波传感器接收回的数据来计算小车与障碍物之间的距离,从而实现小车的避障功能。通过细化要求,本系统以ATmega16为核心控制器,主要由电源模块、电机驱动模块、显示模块、避障模块构成。通过电机控制技术和传感器技术相关知识的结合,设计完成以由超声波前方测距、避障与红外线左右自动避障组成的硬件模块,结合软件程序设计组成智能避障小车,共同实现了小车的前进、后退、左转、右转,通过超声波自动根据前方距离范围内障碍物测距,检测障碍物停止再绕行,达到设计目标。智能小车系统的设计思路采用了模块化的方法,电路结构简单,系统成本低,调试方便,系统反应快速、灵活,小车调速平滑,功耗低,设计方案正确、实施性强,各项指标可靠、稳定,基本满足设计要求。稍加改动便可应用于简单的实际生产生活中,也可作为高校学生以及广大机器人爱好者学习研究使用。1 系统设计1.1 任务要求(1)检测障碍物并且避障:由超声波和红外探头共同实现;(2)小车电机由L298N驱动;(3)速度由单片机输出的PWM波控制;(4)超声波能实现对障碍物的测距,LCD屏显示了超声波检测到前方的距离。1.2 总体设计硬件电路系统的设计通过采用模块化的设计方法,由单片机最小系统模块,超声波避障、红外线避障模块,电机驱动,电源模块,显示模块以及光报警模块七部分组成。其中小车使用AVR单片机为主控芯片,它通过小车前端超声波返回的数据来获取小车距离障碍物的距离,并且用LCD1602显示出来,当小车与障碍物的距离大于某设定的距离时,小车会沿直线前进,当小车与障碍物的距离小于某设定的距离时,小车左转或者右转以避开障碍物;车头两侧由红外线对管自动避障组成的硬件模块组成,实现小车左转和右转功能;并且此时LED闪烁。在避开障碍物后,小车会沿直线前进。系统硬件构成框图如图1-1所示。图1-1 系统硬件构成框图2 方案论证2.1 系统控制模块设计方案论证AT89S52单片机与ATmega16单片机的选择。方案一:AT89S52单片机具有十分完备的功能,不仅能够对片内某些特殊功能寄存器的某位进行传送、置位、清零、测试等处理,还能进行位的逻辑运算,使用起来得心应手。特点是控制简单、价格便宜,具有完整的输出输入、端口控制、以及内部程序的存储空间,程序烧写方便,支持USB口或者是串口两种下载程序方式,并且是我们平时上课学习与使用的。能够使用外接A/D,D/A转换电路与运放芯片来实现采集传感器传送信息的功能,且能够通过以点阵或LCD液晶以及外接按键实现人机交互1 ,能通过内部众多I/O端口与步进电机连接来对外围设备进行精确操控。 方案二:ATmega16单片机,特点是取指周期短,有可预取指令,实现于流水作业,故可高速执行指令。采用精简指令集,克服了瓶颈现象,指令执行速度(1Mips/MHz)得以提高,功能增强 ;由于硬件结构得到了简化了,降低了对外设管理的开销和成本。 ATmega16单片机的I/O口功能强大,因为它具有能够单独设定为输入或输出的功能,设置上拉电阻,并且有高阻输入、驱动能力强等特性,这使的得I/O口得到充分的利用。片内集成多种频率的RC振荡器,能够自动上电复位、并且有看门狗和启动延时等功能,所以ATmega16单片机外围电路相对AT89S52简单,系统更加稳定可靠。经过比较,因为AT89S52单片机,具有位运算,能较方便的应用I/O口。但PWM利用定时器中断函数,模拟产生PWM脉冲,由于PWM频率较高,势必导致定时器中断被频繁触发。此时,如果有其他对时序要求较高的模块被同一单片机控制的话,有可能导致时序紊乱,无法控制。对于超声波模块,频繁的中断触发,会导致计时不准,使得换算出来的距离具有一定的误差。而AVR单片机,由于采用的是精简指令集,其不支持位操作,但具有较高的效率,抗干扰性和可靠性。它的4通道PWM,具有硬PWM时序功能,使用时只需设置相关寄存器即可实现PWM的产生。其PWM的产生为硬件生成,不会占用CPU的资源。即不会对其他驱动程序产生影响。但缺点是PWM必须使用一个定时器,对于一般三轮车,要消耗两个定时器。ATmega16单片机不用考虑定时器做PWM引起的资源分配问题。因此选择方案二。2.2 电机的选择方案论证直流电机与步进电机的选择:电机是系统的动力来源,电机有着不同的类型,其中步进电机和直流电机最为常用。直流电机的特点是加上合适的电压通过电机驱动即可进行转动,但转圈精度不高;步进电机的工作方式与直流电机不同,通过脉冲控制电机按照节拍进行转动,根据电机不同转动的角度也各有差异,精确度高,但速度慢。电机的驱动方式各有不同,一般小型步进电机可以通过ULN2003进行驱动,直流电机需要的工作电流与步进电机相比较大,需要使用L298N这类专用的驱动芯片控制,控制时单片机通过输出PWM波调节转动速度。直流电机和步进电机都可以用于小车驱动。故有两种方案。方案一:直流电机。直流电机由于加上了适当减速比的减速器,具有良好的调速性能2,通上电源即可连续不停的转动,所以控制起来也相对简单。调节电压的大小可以改变电机的速度。L298N模块做成的驱动电路可实现直流电机的控制,可配合PWM调速机制(即脉冲宽度调制方式)调速。此方案电路和控制都相对容易,相对性能比较好。方案二:步进电机。步进电机之所以可以精确的实现位置控制,是因为它是通过输入一个电脉冲信号就能使电机的输出轴转动一定的角度,通过连续不断的输入点脉冲信号,步进电机连续的转动,外加的脉冲频率的不同,转速的大小也不一样2 。步进电机的转动并不受电压波动和负载变化以及温度、气压等环境因素的影响,仅与控制脉冲有关,但步进电机的速度十分缓慢,且消耗I/O资源过多,不适合本作品。具体差别见表2-1。表2-1 电机控制方式对比直流电机步进电机调速性能较好较差位置控制精度较差好驱动简单简单稳定性较好好,仅与控制脉冲有关速度较快缓慢单片机资源消耗小大如表2-1所示,步进电机和直流电机都有各自的特点。步进电机虽然能够进行精确的位置控制,但行动缓慢;鉴于直流电机易于控制、驱动电路相对简单,足以满足本设计位置控制的精度。故本设计选择使用直流电机。2.3 避障模块设计方案论证超声波传感器与光电传感器的选择。方案一:使用一个超声波探头。超声波传感器价格便宜,不容易受到粉尘、光线、电磁类的干扰,并且自带温度补偿。但由于时间关系没有添加温度补偿措施所以易受到环境中温度的影响。但它不受光照强弱和能见度的影响,能耗低、灵敏度高,即使在较复杂的环境内也可以工作。超声波的发射器能够不断发射声脉冲,由于频率越高反射能力越强,接收换能器接收到遇到障碍物就反射回来的超声波信号,根据回声探测法,通过对声速以及时间的计算,实现超声波的测距及避障功能3。使用一个红外线探头。红外线具有可见光直线传播、反射、折射等特性。红外传感器发光管发出具有可见光直线传播、反射、折射等特性的红外光,通常阈值的设定及判定模块是由电压比较器与可调电位器构成的1,由于接收管接收的光强根据反射物体的距离而变化,接收管的电压与障碍物的距离成反比,通过判断发射光的强弱,实现红外线测距以及避障的功能。方案二:使用舵机带动一对超声波探头进行180度旋转。由于方案一单个探头会有检测不到车头两侧的障碍物,当障碍物多时,会导致前方避障之后撞到两侧的障碍物。而当使用舵机带动探头的方案时,通过扫描检测到各个方向的障碍物,过单片机对各方向返回的数据通对比,可以很好的分析出障碍物方向,通过调节小车两侧左右电机转速差控制行驶方向实现小车避障功能。舵机是以周期为20ms、宽度从0.5ms2.5ms的脉宽调制信号作为控制信号的,相对对应舵盘的位置是0180度,呈连续线性变化。也就是说,给它提供特定宽度的脉冲信号,它的输出轴就会转动到一个与之相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会将输出角度转动到新的对应的位置上。舵机有一个内置的基准电路,其不断产生周期的20ms,宽度1.5ms的基准信号;另有一个比较器,将外加信号与基准信号进行比较,判断出转动方向和转动角度大小,进而产生电机的转动信号。由此可见,舵机是一种精度很高的位置伺服的驱动器,转动最大角度不能超过180度,适用于那些需要角度不断变化并可以停滞的驱动当中。但此方案具有编程复杂,占用资源多,判别速度慢等缺点。方案三:采用多方向超声波测距分析来实现避障。由于方案二的舵机在避障过程中不能及时的转会前方继续探测,同样也会有撞到障碍物的情况发生3。因此,在小车的车身前端左、中、右三方向放置超声波探头,单片机通过对三个方向超声波返回的测距数据进行对比分析,确定障碍物位置,再通过调节小车左右电机转速差控制小车行驶方向实现避障。但是考虑到可能会有一发射端发射的超声波会被另外一端的接收端接收的问题,为了防止3对超声波探头信号的相互干扰,所以各个超声波发送信号都要相互间隔,为了消除上一次发出的超声波影响,两次测量时间应为20ms,这就使小车的反应变得非常迟钝。 综上所述,超声波传感器测距范围一般在30300cm之间,设定测量的周期为20ms一次才能防止相互干扰;而红外测距传感器的测量速度十分快,可以在一定程度上弥补超声波传感器的缺点,大大增加了小车的反应速度。因而,本设计采用多路红外和超声波传感器进行距离信息的测量和采集。2.4 显示模块设计方案论证方案一:采用七段LED数码管显示相关数据。数码管简易且常用,显示具有高亮、光衰弱少、可视距离远、寿命长的优点。但数码管一般只适合数字显示,一位数码管能显示一位数据,且占用的I/O多,编程相对复杂。由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上四位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示而不会有闪烁感4。方案二:采用LCD1602液晶显示。液晶显示界面较为友好,成本较低,具有耗能少、可同时显示数据多、电路简单、占用I/O口少、PCB布线简单、控制指令简单、编程简单等优点4。经过对两种显示方案优缺点的衡量,本设计决定采用方案二。2.5 直流调速方案设计在智能避障小汽车的研制开发过程中,智能小车要能够根据周围障碍物的具体位置情况自动控制行驶方向是非常关键的。主要功能是单片机当接收到避障模块返回的数据时,通过驱动两个车轮调节小车的行驶速度,然后改变两个车轮的转速差,利用万向轮,调节行驶方向。本设计根据PWM脉宽调制原理,电机速度的改变是通过改变输出方波的占空比使负载上的平均电流功率从零到百分之百变化而实现的,它的优点是电源的输出电压在工作条件变化时能够保持恒定,能量功率、能得到充分利用,电路的效率高。电机控制采用的脉冲宽度调制(PWM)技术,单片机输出的方波的频率是恒定的,该脉冲宽度调制,用于改变电机的旋转速度,输出电压的平均值的方波,当输出低电平时,电机停止时,输出电平高,电机最高速。在软件实现上,采用定时器中断来实现方波的产生,使电机速度的控制不受其他影响。当定时器定时到固定的时间便产生中断,将输出电平取反,不断循环计时便能产生稳定的方波,不会因为其他程序的延时而改变输出频率。2.6 电源模块设计方案论证第一种方案可以用双电源,7.5V和5V单独供电,这样具有很好的抗干扰能力,但是,成本很高,做出来的东西比较笨重。第二种方案是使用7.5V电池,首先输出给电机供电,然后通过7805稳压管稳压出5V的电压给传感器和单片机供电。考虑的就是小车的带负载能力,通过试验得知,小车在运行时质量越大,避障的可靠性越差。通过电容进行滤波,并且安置拨码开关,使小车运行的开关更加方便、稳定。通过对比两种显示方案的优缺点,本次设计决定采用方案二。3 元器件介绍3.1 AVR单片机主控芯片介绍ATmega16是全静态的基于增强的AVR RISC结构的高性能、低功耗8 位CMOS微控制器。由于其大多数指令执行时间为单个时钟周期,ATmega16 的数据吞吐率高达1 MIPS/MHz,拥有只需两个时钟周期的硬件乘法器、非易失性程序和数据存储器。16K字节的系统内可编Flash,擦写寿命为一万次,同步进行读与写的操作,擦写寿命为十万次。同时Flash、EEPROM、熔丝位和锁定位的编程是由SPI 接口实现的。从而可以减缓系统在功耗和处理速度之间的矛盾以及通过锁定位的编程来加密用户程序5。ATmega16微控制器的特点是:掉电检测上可电复位并可编程,片内经过标定的RC 振荡器,片内或片外有中断源,有32 个可编程的I/O 口,PDIP 封装的40引脚,TQFP 封装的44引脚和MLF封装的44 引脚。ATmega16的工作电压为4.55.5V,速度等级是016 MHz,在1MHz,3V,25 时的功耗:在正常模式下是1.1 mA,空闲模式下为0.35 mA,掉电模式则小于1A。3.2 L298N驱动芯片3.2.1L298N驱动芯片介绍L298N是ST公司开发的一种尺寸为8cm×4.5cm的采用15脚封装、高电压、大电流电机驱动芯片。L298N有可达46V最高工作电压以及可达3A瞬间峰值电流,2A的持续工作电流,最大工作电流为2.5A,25W的额定功率。L298N信号控制采用的是逻辑电平标准,控制信号直流工作电压是5V,电机的直流电压是3V46V,一般建议使用小于36V。L298N内有两个H桥的高电压大电流全桥式驱动器,能够用来驱动步进电动机和直流电动机、继电器线圈等感性负载2。3.2.2L298N驱动芯片特点L298N驱动芯片具有信号指示、转速可调抗干扰能力强、PWM平滑调速,可实现正反转等特点,由于过电压和过电流的保护,L298N芯片驱动电机可以单独控制两台直流电机,因此,对于本设计起到了至关重要的作用。 3.3 直流电机我们通常将可以把直流电能与几点能相互转换的电机称为直流电机,当它将电能转换为机械能时是直流电动机,而将机械能转换为电能的时候称为直流发电机。由于直流/步进两用驱动器L298N可以直接控制两台直流电机。分别为M1和M2,引脚A,B用于控制电机的速度通过PWM脉宽调制信号的输入。当不需要改变速度时,将两引脚接5V电压,使电机工作在最高速状态,即可通过短接帽短接来实现电机正反转。输入信号端IN1接高电平输入端IN2接低电平,电机M1正转,反之IN1接低电平输入端IN2接高电平,则反转。而另一台电机的控制方法同样是输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转,反之则反转。PWM信号端A控制M1调速,PWM信号端B控制M2调速。驱动器驱动直流电机方式见表3-1。表3-1 驱动器驱动直流电机方式3.4 超声波传感器3.4.1超声波传感器概述超声波测距模块具有GPIO、串口等多种通信方式,宽电压输入的范围是2.4 5.5V,在稳定可靠的工作环境下,可以实现0m4.5m的测距,静态功耗低于2mA,在测距的过程中,传感器并不用接触到物体,在-20 到 +70度的工作环境下,能够通过自带温度传感器对超声波模块的测距结果进行校正。有两种输出方式,分别是电平方式和UART(跳线帽选择)方式,无奇偶校验的UART 模式下串口配置的波特率为9600,起始位为1位,停止位为1位,数据位为8位8。低于15度的感应角度,探测距离为0.02m到4.5m,探测精度保持在0.3cm+1%。本模块实物图的正面图与背面图如图3-1、3-2所示:图3-1 US-100正面图图3-2 US-100背面图3.4.2接口说明本模块共有两个接口,一个是模式选择跳线接口,如图3-1所示,他的间距是2.54mm,当插上跳线帽时为UART(串口)模式,拔掉时为电平触发模式。另一个是2.54mm间距弯排针的5 Pin接口,如图3-4所示。从左到右排针依次的编号为1,2,3,4,5。1号Pin接VCC 电源(供电范围2.4V5.5V)。2号Pin脚当为UART模式时,接外部电路UART的TX端;当为电平触发模式时,接外部电路的Trig 端。3号Pin当为UART模式时,接外部电路UART的RX 端;当为电平触发模式时,接外部电路的Echo 端。4号Pin与5号Pin接外部电路的GND。 3.4.3超声波测距原理超声波测距的实现是通过发射器发射出长约6mm、频率为40KHZ的超声波信号,接收头接收到被物体反射回来的超声波,并且产生毫伏级的微弱电压信号,计算出时间差来实现的。设t是通过传感器发出超声波到接收到超声波脉冲所经历的时间,v是超声波在空气中的传播速度,则从传感器到目标物体的距离S = vt /2 。3.5 光电传感器光电传感器是光源、光学通路和光电元件组成的对环境进行检测的传感器,他能够将检测到的环境中的变化转化成光信号的变化,再通过光电元件将光信号转化为电信号。它由三部分构成:用于锁定目标发送光束的发送器,光束来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管;过透镜和光圈等来接收信号的接收器,由光电二极管、光电三极管、光电池组成;能够滤出有效信号并应用信号到目标位置的检测电路。光电检测方法的优点有精度高、反应快、传感器的结构简单、非接触可测参数多、形式灵活多样等。光电传感器可以检测的方面有很多,非电量如光强度、光照度、辐射、测温、气体成分等直接引起光量的变化,还有通过转化而成光量变化的,如表面粗糙度、零件直径、速度、位移、加速度、振动、应变,以及物体的形状、工作状态的识别等非电量。3.6 LCD1602液晶显示3.6.1液晶显示LCD实物图见图3-5。 图3-3液晶显示LCD实物图3.6.2液晶显示原理LCD1602指的是显示的内容为16×2,即可以显示两行,每行16个字符的液晶模块。4.5 5.5V的芯片工作电压,2.0mA(5.0V)工作电流,模块最佳工作电压是5.0V。采用标准的16脚接口,专门用来显示数字、符号、字母等的点阵型液晶模块。它由若干个5×7或者5×11等点阵字符位组成,一个点距作为每位之间的间隔,字符尺寸为2.95×4.35(W×H)mm每个点阵字符位都可以显示一个字符,每行之间也有间隔,所以在LCD1602显示中也是有字符间距和行间距的。通过电压对液晶显示进行区域控制,有电即可以显示出图形。具有厚度薄、适用于大规模集成电路直接驱动的特点4。3.6.3 管脚功能图3-4 LCD1602管脚图LCD1602采用16脚接口,其中1脚VSS为电源地,2脚VCC接5V的正极电源。3脚液晶显示器对比度的调整端V0,对比度最弱是当接正电源时,对比度最高时是当接地电源由于对比度过高即可能产生“鬼影”,可使用一个1K的电位器来调整对比度。4脚为寄存器选择RS,选择数据寄存器时为高电平1、低电平0时选择指令寄存器;5脚为读写信号线RW,1为高电平,用于进行读操作,0为低电平,用于进行写的操作;6脚为使能端E(EN)端,1为高电平,用于读取信息,负跳变时执行指令。7 14脚为8位双向数据端D0 D7;15 16脚为背灯电源或空脚:15脚为背光正极,16脚为背光负极。4 系统单元电路的设计4.1 超声波收发电路要驱动超声波模块,首先利用单片机输出一个40kHz触发信号,把触发信号通过TRIG管脚输入到超声波模块作为超声波模块的启动信号,然后由超声波测发射器将向所对应的方向发射超声波,在发射超声波的同时单片机清零定时器计数寄存器,并开始计时。超声波由空气进行传播,途中如果遇到障碍物则被弹回,当超声波模块接收器接收到超声波的反射波后,将会产生一个提示信号并由Echo脚反馈给单片机,此时单片机将立即停止计时器的计时,并取出计数寄存器中的值进行换算。由于声波在空气中的传播速度大约为340m/s,根据单片机计时寄存器的值可换算所出声音传播的时间t,继而就可以换算出障碍物与超声波模块的距离,其公式为:S=VT/2。超声波接口电路见图4-1。 图4-1超声波接口电路4.2 红外线收发电路红外线收发电路如图4-2所示,R2、R6为上拉电阻,起到限流的作用。图4-2 红外线收发电路4.3 单片机主控电路此模块是小车的单片机驱动部分,它负责控制超声波模块、红外线测距模块、液晶显示模块、L298N控制模块及警示灯模块的工作。单片机主控电路如图4-3所示。单片机利用计时器统计超声波发射和接受的时间再经过换算,得出小车距离障碍物的距离,通过LCD显示当前距离值。通过输出不同脉宽的脉冲来控制直流电机的速度。图4-3 单片机主控电路4.4 电源电路使用7.5V电池,首先输出给电机供电,然后通过7805稳压管稳压出5V的电压给传感器和单片机供电。如图4-4电源电路所示,因为电容两端不会有电压突变,C1与C2为滤波电容,其中C2是用来消除纹波的;前级之所以不加滤波,是因为电池的电压比较稳定,没有太大必要滤波;R1为限流电阻。在本模块中,还增加了一个拨码开关,这样可以随时关闭电源,以便调试。本模块之所以采用单电源,考虑的就是小车的带负载能力,通过试验得知,小车运行时质量越大,避障的可靠性越差,故不采用较可靠的双电源电路12。图4-4电源电路本模块只需要一组电源7.5V即可满足智能小车的电机驱动、单片机控制、传感器等所有单元的供电,需求设计非常合理。也可接直流稳压电源作为外部电压输入,进行调试,节约成本。4.5 LCD1602显示电路本设计利用LCD1602显示电路。利用LCD1602液晶屏,用于显示测量出来的距离。在单片机电路中利用一组I/O口进行数据的传输,再从另一组I/O口分配三个I/O口作为指令与数据选择和控制。具体的显示是利用单片机来控制LCD1602的数据显示,把单片机计算出来的数据距离实时显示出来。如图4-5 LCD1602显示电路所示,电阻R8用于设置一个偏压,也就是液晶字颜色深度;R9设置一个偏压,设置液晶的背光亮度。图4-5 LCD1602显示电路4.6 电机驱动电路图4-6电机驱动电路本设计使用直流电机。由于从单片机中输出的信号功率很弱,即使在没有任何外在负载的情况下也无法正常带动电机,为了解决这一点我在实际电路中加入了电机的驱动芯片以提高输入电机信号的功率,从而能够根据需要控制电机转动。利用直流电机常用的PWM,即脉宽调制方式调节电机速度。在本设计中我利用电机驱动芯片L298N,一款集成的H桥芯片。L298N中有两套H桥电路,有效地控制两个电机运行。它的具有几个时能端子可以外接高低电平进行控制,本设计利用单片机进行软件控制,极大地满足本设计的功能需求。电机驱动电路如图4-6所示,L298N的二极管,叫做续流二极管,这是为了防止反向击穿的。因为电机有很大的电感,而根据电感的原理,在断电瞬间会有和电源一样的电势。也就是说相当于会给L298N内的MOS管一个反向电压,有可能击穿,加了续流二极管的话会组成一个回路,就能消耗掉电感的能量,其他脚的则是根据L298N的引脚定义连的12。L298N芯片具有较大的驱动功率,可在646V的直流电压下,提供最大2A的额定电流,并且具有过热自动关断及电流反馈检测的强大功能,十分安全可靠;但为了能保证L298N的正常工作,我另外安装了几个续流二极管。可根据输入电压的大小输出不同的电压及功率,解决了负载能力不够这个问题。利用单片机调整出PWM脉冲和高低电平对直流电机进行驱动和控制。L298集成H桥芯片。其外形、管脚分布如图4-7所示。 图4-7 L298N管脚分布图4.6.1直流电机 H 桥驱动方案的选择H桥驱动电路是为了更好驱动直流电机而专门设计的一种较为常见的电路,它可以实现直流电机的正及反向转动,其典型电路如H 桥驱动电路图4-8所示:图4-8 H 桥驱动电路由图4-8可以看出,之所以叫H 桥驱动电路其形状类似于字母“H”,而作为其负载的直流电机位于“桥” 的上方,所以我们称之为“H 桥驱动电路”。其4个开关被称为“桥臂”。从电路中我们可以看出,如果开关 A、D导通,那么电机的工作方向为正向转动,如果开关B、C导通时,直流电机则为反向转动。通过这个原理实现了直流电机的正反转。同时我们借助这 4 个“桥臂”我们还可以实现电机的 2 个特殊的工作状态:(1)刹车 导通A 、C(或B、D)开关,这时电机会由于惯性转动所产生的电势将被短路,一个阻力达到一个“刹车”的作用。(2)惰行 如果4个开关全部都断开,那么电机惯性所产生的电势就将无法形成一个完整的电路,这就使得电机将惯性转动较长的时间。4.6.2PWM调速原理在本次设计中,直流电机提供了主要的动力,而改变电机速度的最好方法是改变其电压,使电机的功率变化,从而改变电机的速度。要想可控制地改变电压比较麻烦,所以就产生了通过利用断续供电的方式即脉宽调试方式改变供给电机的平均功率,这同样也实现改变电机速度的目的。因为开关电路比模拟电路在控制方面和电路设计方面都很方便,且具有较高的效率,所以基本取代了当前改变电压的方式。这种断续供电的方式被我们称为“PWM脉宽