ImageVerifierCode 换一换
格式:DOCX , 页数:58 ,大小:727.32KB ,
资源ID:12900525      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12900525.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(循迹避障带上位机红外超声波功能智能小车讲解.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

循迹避障带上位机红外超声波功能智能小车讲解.docx

1、循迹避障带上位机红外超声波功能智能小车讲解青岛滨海学院项目设计报告项目:超声波避障小车的设计与制作 专 业 计算机应用技术 学生姓名 刘少鹏 班 级 14微高 学 号 20141080523 指导教师 郭志卓 完成日期 2015.05.12 摘 要STC89C52单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。本文提出一种智能避障,循迹小车的设计方法,利用红外技术检测障碍物,轨迹信息,采用STC89C52单片机进行实时控制,实现智能避障,循迹。再利用无线通信实现上位机与下位机的通信,智能小车采用前轮驱动,两轮各用一个直流电机控制,避障,循迹用的传感器采用红外反射式传感器。整

2、个系统的电路结构简单,可靠性能较高。实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及程序设计。 采用的技术主要有:(1)PWM调速;(2)红外传感器;(3)无线通信及串口通信;(4)上位机.(5)LCD(6)超声波传感器摘要 -0前言 -2功能概述 -3 硬件设计 -3 避障电路 -3循迹电路 -5单片机电路 -7电机转速控制电路 -8电源电路 -8电机驱动电路 -9通信系统-11测速模块儿-15上位机设计-16附录一-17附录二-20小结 -42参考文献 -42前 言-随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越

3、多,其中红外传感器已经成为自动行走和驾驶的重要部件。红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。而利用红外对不同颜色物体反射强弱差别可以检测到不同颜色的物体,从而实现循迹功能。由于时间和水平有限,我们暂选最基本的避障,循迹功能作为此次设计的目标。目前 ,在自动控制领域中 ,经常要实现上位机和下位机的通信。有时甚至要求上位机和多台下位机建立通信。因此人们常常将工控机和机结合起来构成主从式控制系统。在这过程中 ,上位机主要负责人机接口管理和系统

4、资源的高层控制。下位机主要完成数据采集、处理、接收,本次我们基于串口通信和VB通过NRF24L01设计了一个上位机下位机无线通信的系统。本设计通过小车这个载体再结合由STC89C52为核心的控制板可以达到其基本功能,再辅加由反射式光电开关E18-D80NK组成的避障电路,由TCRT5000光电对管和LM324设计的循迹电路,基于PWM技术的转速控制、基于LM2940电源电路、基于L298N的电机驱动电路以及基于NRF24L01的无线通信系统就可以完成整个硬件设计。一. 功能概述智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,分别控制两个轮子的转动从而达到转向的目的,后轮是万向轮,起支撑的作

5、用。避障部分,将3个红外线光电传感器分别装在车体的左中右,当车的左边的传感器检测到障碍物时,主控芯片控制右轮电机停止左轮转动,车向右方转向,当车的右边传感器检测到障碍物时,主控芯片控制左轮电机停止转动,车向左方转向,当前面有障碍物时规定车右转。而当小车同时有两个传感器接收到信号时,采用倒退方式转弯以避免碰到障碍物,于此同时测定速度并显示,在避障小车前进的同时,通过无线通信系统,把小车的速度和路程传到上位机显示。循迹部分,采用七个红外传感器置于车身前下方,中间五个主要用于循迹普通道路,外边两个略比中间的靠前,主要用来检测直角弯道。车向左偏时右拐,右偏时左拐,左右拐又分为校正和转弯两档。遇到直角时

6、极易冲出跑道,故给车施加一个反向脉冲。行驶过程中上位机显示车速及路程。二硬件设计如下图所示,是本次设计智能小车的电路框图。以STC89C52为电路的中央处理器,来处理传感器采集来的数据,处理完毕之后以便去控制电机驱动电路来驱动电机,并通过无线传输到上位机。电源部分是为整个电路模块提供电源,以便能正常工作。三. 避障电路1.障碍物探测方案的选择方案一:脉冲调制的反射式红外线发射接受器。由于采用该有交流分量的调制信号,则可大幅度减少外界干扰;另外红外线接受官的最大工作电流取决于平均电流。如果采用占空比小的调制信号,再品均电流不变的情况下,顺势电流很大(50100mA),则大大提高了信噪比。并且其反

7、应灵敏,外围电路也很简单。它的优点是消除了外界光线的干扰提高了灵敏度。方案二:采用超声波传感器,如果传感器接收到反射的超声波,则通知单片机前方有障碍物,如则通知单片机可以向前行驶。市场上很多红外光电探头也都是基于这个原理。这样不但能准确完成测量,而且能避免电路的复杂性 由以上两种方案比较可知。方案一要比方案二优势大,市场上很多红外观点探头也都基于这个原理。其电路简单,工作可靠,性能比较稳定。从而避免了电路的复杂性,因此我先用方案二作为小车的监测系统。避障电路采用漫反射式光电开关进行避障。光电开关是集发射头和接收头于一体的检测开关,其工作原理是根据发射头发出的光束,被障碍物反射,接收头据此做出判

8、断是否有障碍物。当有光线反射回来时,输出低电平;当没有光线反射回来时,输出高电平。单片机根据接收头电平的高低做出相应控制,避免小车碰到障碍物,由于接收管输出TTL电平,有利于单片机对信号的处理。2光电开关工作原理:光电开关是通过把光强度的变化转换成电信号的变化来实现控制的。光电开关在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。避障电路功能表:传感器避障电路输出(上升沿动作)待执行命令左中右左转信号(P2.1)右转信号(P2.0)000后右转001右转010右转011右转100左转101右转110左转111前进注解(“0”表示有障碍物; “1”表示无障碍物)四.循迹模块 TCR

9、T5000传感器小车循迹原理是小车在画有黑线的白纸 “路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”黑线。笔者在该模块中利用了简单、应用也比较普遍的检测方法红外探测法。红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号,再通过LM324作比较器来采集高低电平,从而实现信号的检测。避障亦是此原理。电路图如图3.4。市面上有很多红外传感器,在这里我选用TCRT5000型光电对

10、管。图3.4循迹原理图循迹模块儿功能表1234567左拐100000011000000100000ZZ00000小左011000000100000Z10000直走00110000001000000110000Z1Z00小右0000100000011000001Z0右拐00000100000011000000100000ZZ特殊001110000001110001111右直角001111101111110ZZZ111左直角1110000111100011111001111110111ZZZ0全白0000000全黑1111111五. 单片机电路本设计的主控芯片选择STC89C52,负责检测传感器的

11、状态并向电机驱动电路发出动作命令。复位电路采用手动复位。单片机电路如下:六. 电机转速控制电路转速控制采用基于PWM技术的脉冲调制技术,通过单片机输出两列PWM信号,经过l298N对电机进行速度调控。 PWM(脉冲宽度调制)控制,通常配合桥式驱动电路实现直流电机调速,非常简单,且调速范围大,它的原理就是直流斩波原理。如图1所示,若S3、S4关断,S1、S2受PWM控制,假设高电平导通,忽略开关管损耗,则在一个周期内的导通时间为t,周期为T,波形如图6,则电机两端的平均电压为: U=Vcc t/T=Vcc ,其中,=t/T称为占空比,Vcc为电源电压(电源电压减去两个开关管的饱和压降)。 电机的

12、转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快,当占空比1时,电机转速最大。PWM控制波形的实现可以通过模拟电路或数字电路实现,例如用555搭成的触发电路,但是,这种电路的占空比不能自动调节,不能用于自动控制小车的调速。而目前使用的大多数单片机都可以直接输出这种PWM波形,或通过时序模拟输出,最适合小车的调速。我们使用的是STC89C52单片机,它是8位单片机,内部设有3个独立的计数器,完全可以模拟任意频率、占空比随意调节的PWM信号输出,用以控制电机调速。在小车行进的过程中,占空比不应该太高,在直线前进和转弯的时候

13、应该区别对待。若车速太快,则在转弯的时候,方向不易控制;而车速太慢,则很浪费时间。这时可以根据具体情况慢慢调节七. 电源电路 本系统所有芯片都需要+5V的工作电压,而干电池只能提供的电压为15V的倍数的电压,并且随着使用时间的延长,其电压会逐渐下降,故采用了一个12v蓄电池,再用LM2940稳压芯片。LM2940具有纹波小、电路结构简单的优点,对于单片机,需要提供稳定的5V电源,由于LM2940的稳压的线性度非常好,所以选用LM2940-5对其进行供电;能提供最大1A的电流,足以满足芯片供电的要求。虽然微处理器和微控制器不需要支持电路,功耗也很低,但必须要加以考虑。 电源电路拟定为:八.电机驱

14、动电路 市场上用很多种类的小电压直流电动机,很方便的选择到。主要有普通电动机、和步进电动机。方案一:采用步进电机,步进电动机的一个显著的特点就是具有快速启动和停止能力,能够达到我们所要求的标准。如果负荷不超过步进电机所能提供的动态转矩值,就能够立即是步进电机启动或反转。其转换灵敏度比较高。正转、反转控制灵活。但是步进电机的价格比较昂贵,对于我们的现状相差太远。方案二:采用普通的直流电机。直流电机具有优良的调速特性,调速平滑、方便。调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。能满足各种不容的特殊运行要求。由于普通直流电机价格适宜,更易于购买,并且电路相对简

15、单,因此采用直流电机作为动力源本设计采用L298N驱动使电机正反转从而做到前进,左转驱动电路(参考文献4)电机驱动一般采用H桥式驱动电路,L298N内部集成了H桥式驱动电路,从而可以采用L298N电路来驱动电机。通过单片机给予L298N电路PWM信号来控制小车的速度,起停。其引脚图如3.2,驱动原理图如图3.3。图3.2 L298N引脚图 图3.3 电机驱动电路九.通信系统1NRF24L01工作原理简介:发射数据时,首先将nRF24L01配置为发射模式,接着把地址TX_ADDR和数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADD

16、R在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从发送堆栈中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC_CNT)达到上限,MAX_RT置高,TX_PLD不会被清除;MAX_RT或TX_DS置高时,使IRQ变低,以便通知MCU。最后发射成功时,若CE为低,则nRF24L01进入待机模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入待机模式2

17、。接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在接收堆栈中,同时中断标志位RX_DR置高,IRQ变低,以便通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111-发射模式1011数据存储在FIFO寄存器中,发射所有数据发射模式10012数据存储在FIFO寄存器中,发射一个数据待机模式II101TX FIFO为空待机模式I1-0无正在传输的数据掉电

18、模式0-2. SPI介绍同步串行外设接口(SPI)是由摩托罗拉公司开发的全双工同步串行总线,该总线大量用在与EEPROM、ADC、FRAM和显示驱动器之类的慢速外设器件通信。SPI(Serial Peripheral Interface)是一种串行串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI 接口由SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS 决定了唯一的与主设备通信的从设备,如没有CS 信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。通讯时,数据

19、由SDO 输出,SDI 输入,数据在时钟的上升或下降沿由SDO 输出,在紧接着的下降或上升沿由SDI 读入,这样经过8/16 次时钟的改变,完成8/16 位数据的传输。总线协议该总线通信基于主-从(所有的串行的总线均是这样,USB,IIC,SPI等)配置,而且下面提到的方向性的操作合指代全部从主设备的角度说得。它有以下4个信号:MOSI:主出/从入MISO:主入/从出SCK:串行时钟SS:从属选择;芯片上“从属选择”(slave-select)的引脚数决定了可连到总线上的器件数量。在SPI传输中,数据是同步进行发送和接收的。数据传输的时钟基于来自主处理器的时钟脉冲(也可以是IO上的电平的模拟时

20、钟),摩托罗拉没有定义任何通用SPI的时钟规范。然而,最常用的时钟设置基于时钟极性(CPOL)和时钟相位(CPHA)两个参数,CPOL定义SPI串行时钟的活动状态,而CPHA定义相对于SO-数据位的时钟相位。CPOL和CPHA的设置决定了数据取样的时钟沿。数据方向和通信速度SPI传输串行数据时首先传输最高位。波特率可以高达5Mbps,具体速度大小取决于SPI硬件。例如,Xicor公司的SPI串行器件传输速度能达到5MHz。SPI总线接口及时序SPI总线包括1根串行同步时钟信号线以及2根数据线。SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性

21、(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位和极性应该一致。 SPI读写时序见下面两图。在写寄存器之前,一定要进入待机模式或掉电模式。其中,CnSPI指令位;Sn状态寄存器位;Dn数据位(低字节在前,高字节在后;每个字节中高位在前)SPI读时序SPI写

22、时序3.串口通信串口是计算机上一种非常通用的设备通信协议(不要与通用串行总线Universal SerialBus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信接口;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米

23、;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是比特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配:a,比特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,就是指比特率,例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常

24、电话线的比特率为14400,28800和36600。比特率可以远远大于这些值,但是波特率和距离成反比。高比特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1