智能循迹小车内页.docx
《智能循迹小车内页.docx》由会员分享,可在线阅读,更多相关《智能循迹小车内页.docx(25页珍藏版)》请在冰豆网上搜索。
智能循迹小车内页
目录
第1章绪论1
1.1智能小车的意义和作用1
1.2智能小车技术发展现状及趋势2
第2章总体方案设计3
2.1设计任务及要求3
2.2总体设计及系统框图3
第3章硬件电路设计5
3.1主控电路模块设计5
3.2电机驱动模块设计6
3.3信号检测模块设计7
3.4稳压模块设计9
3.5蜂鸣器模块设计9
3.6LED显示模块设计10
3.7串口通信模块设计11
第4章软件设计12
4.1主程序流程及流程图12
4.2寻迹模块13
4.3避障模块14
第5章焊接与调试17
5.1焊接设备17
5.2焊接操作17
5.3调试步骤17
5.4主要问题及解决方法18
第6章总结19
参考文献20
附录21
第1章绪论
课题所设计的智能寻迹小车利用单片机为控制核心,通过传感器对路面黑色轨迹进行检测,并将路面检测信号通过电压比较器转换为能被单片机识别的数字信号。
单片机对采集到的信号予以分析判断,及时控制直流电机不同的转动状态,通过小车的前进、后退、左转、右转以调整小车的转向,并通过发光二极管指示不同的运动状态。
小车沿着既定轨道匀速行驶,若脱轨则蜂鸣器报警提示。
1.1智能小车的意义和作用
随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。
视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。
视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。
但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。
机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。
避障控制系统是基于自动导引小车(AVG—auto-guidevehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。
使用传感器感知路线和障碍并作出判断和相应的执行动作。
该智能小车可以作为机器人的典型代表。
它可以分为三大组成部分:
传感器检测部分、执行部分、CPU。
机器人要实现自动避障功能,还可以扩展寻迹等功能,感知导引线和障碍物。
可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。
基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。
智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。
单片机驱动直流电机一般有两种方案:
第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。
考虑到实际情况,本文选择第二种方案。
CPU使用STC89C52单片机,配合软件编程实现。
1.2智能小车技术发展现状及趋势
智能小车是轮式移动机器人研究领域的一项重要内容,涵盖了机械、汽车电子、电气、计算机、检测技术、模式识别与智能控制等多个学科。
它是陆地自主行驶车辆(AutonomousGroundVehicle,AGV)的一种。
AGV在社会生活的各个领域都有着非常广阔的应用前景。
在西方发达国家,移动式自主服务机器人已广泛应用于医疗福利服务、商场超市服务、家庭服务等领域;AGV在军事领域也有着重要的应用价值,美国军方把部分机器人技术视为未来战斗系统(FutureCombatSystem)的重要组成部分。
智能小车的实现主要是控制其移动速度和方向。
由路径识别、电机驱动、车速检测、方向舵机控制、电源管理及控制策略等功能模块组分。
在20世纪70年代到20世纪80年代初期,工业机器人变成产品以后,得到全世界的普遍应用以后,那么很多研究机构开始研究第二代具有感知功能的机器人,同时我们也看到机器人的应用在不断拓宽,它已经从工业上的一些应用,扩展到了服务行业,扩展了它的作业空间,向海洋空间和服务医疗等等行业的使用。
人工智能,它是计算机科学、控制论、信息论、神经生理学、心理学、语言学等多种学科互相渗透而发展起来的一门综合性学科。
从计算机应用系统的角度出发,人工智能是研究如何制造出人造的智能机器或智能系统,来模拟人类智能活动的能力,以延伸人们智能的科学。
要准确地预测人工智能的未来是不可能的。
但是,从目前的一些前瞻性研究可以看出未来人工智能可能会向以下几个方面发展:
模糊处理、并行化、神经网络和机器情感。
目前,人工智能的推理功能已获突破,学习及联想功能正在研究之中,下一步就是模仿人类右脑的模糊处理功能和整个大脑的并行化处理功能。
人工神经网络是未来人工智能应用的新领域,未来智能计算机的构成,可能就是作为主机的冯·诺依曼型机与作为智能外围的人工神经网络的结合。
研究表明:
情感是智能的一部分,而不是与智能相分离的,因此人工智能领域的下一个突破可能在于赋予计算机情感能力。
情感能力对于计算机与人的自然交往至关重要。
人工智能一直处于计算机技术的前沿,人工智能研究的理论和发现在很大程度上将决定计算机技术的发展方向。
今天,已经有很多人工智能研究的成果进入人们的日常生活。
展望21世纪机器人将是一个与20世纪计算机的普及一样,会深入地应用到各个领域,所以很多专家预测,在21世纪的前20年是智能机器人发展的一个关键时期,目前国际上很多国家,也对机器人对人类社会的影响的估计提出了新的认识,同时,我们也可以看到机器人技术,涉及到多个学科,机械、电工、自动控制、计算机测量、人工智能、传感技术等等。
第2章总体方案设计
2.1设计任务及要求
设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色轨迹行驶。
系统工作流程图如下所示。
图2-1系统工作流程图
设计说明:
(1)为了进行寻迹实验,需要铺设道路,铺设时,按以下要求进行铺设:
一是道路采用宽黑胶布进行铺设,道路的宽度不得小于10cm;二是铺路一般铺设成环形状,这样小车运行时可绕圈行进。
(2)铺设好地面后,将小车置于黑色道路的中间,打开电源开关,小车就可以沿着黑色路线行走了。
(3)电动车允许用玩具车改装,但不能由人工遥控,其外围尺寸(含车体上附加的装置)的限制为:
长度<35cm,宽度<15cm。
(4)要求在电动车顶部明显标出电动车的中心点位置,即横向与纵向两条中心线的交点。
2.2总体设计及系统框图
寻迹小车由机械和电控系统两部分组成。
机械载体采用一种简单的车模装置,采用左右两轮分别驱动,前轮采用万向轮的车体设计,电机采用直流减速电机;电控系统主要由电源供应模块、红外检测模块、信号判断模块、显示模块、电机驱动模块、蜂鸣器提示模块等六部分构成。
各个模块之间的连接关系如图2-2所示。
智能小车系统各个模块所实现的功能是:
寻迹模块是用于探测黑线的有无,通过反射红外线的变化判断黑线的有无。
电机驱动模块由于单片机输出的电流有限,无法直接驱动电机工作,因此需要通过专业的电路进行驱动,本小车采用LG9110芯片驱动电机。
单片机模块,根据使用的传感器和控制策略的不同,单片机的选择也不同。
本设计主要采用STC89C52单片机。
电源模块是采用双电源供电,将电机驱动电源与控制系统电源分开,以增加系统稳定性。
蜂鸣器提示模块起到提示报警作用。
显示模块是为了观察小车所走的路程和到达目的地所花费的时间。
图2-2控制系统框图
采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。
充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。
这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。
因此,这种方案是一种较为理想的方案。
针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。
根据这些分析,我选定了STC89C52单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。
在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源。
第3章硬件电路设计
智能小车通过红外发射和接收管对路面黑色轨迹进行检测,并将路面检测信号转换为能被单片机识别的数字信号。
单片机对采集到的信号予以分析判断,及时控制直流电机不同的转动状态,通过小车的前进、后退、左转、右转以调整小车的转向。
小车控制系统的硬件部分主要包括传感器,比较器,单片机,电机驱动的芯片,稳压芯片,蜂鸣器等。
根据以上分析,智能小车系统划分为:
主控电路模块、电机驱动模块、信号检测模块、稳压模块、蜂鸣器报警模块、LED显示模块、串口通信模块。
3.1主控电路模块设计
本模块主要是对采集信号进行分析,同时给出PWM波控制电机速度,起停。
以及再检测到报警等作用。
采用的是STC89C52单片机。
该单片机在整个小车系统中起核心控制作用。
通过编程控制小车的速度和转向。
STC89C52是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,STC89C52在众多嵌入式控制应用系统中得到广泛应用。
STC89C52系列单片机编写程序的基本流程。
其语法结构与我们常用的计算机C语言基本相同,不同之处在于增加了控制具体引脚工作的语句和命令,相对于计算机C语言,单片机C语言更简练和明确,可以控制每个引脚的输入输出状态。
其主要语句相比计算机C语言更简单。
有过计算机C语言学习经历经过一段时间的熟悉就能够熟练进行编程。
CPU主要完成对所有外部信号的检测和与电机驱动电路、蜂鸣器报警电路、稳压电路、显示电路的连接。
该电路中只包含单片机最小系统,其中P2口用于连接光电循迹传感器,P1口用于连接数码管显示,P0口用于连接电机驱动,由于单片机的端口有限,所以采用了如图3-1所示的电路图。
传感器检测信号与CPU的P3口相连,如果采用这种连接方式,则CPU必须要处于查询方式判断传感器的状态,为了节省CPU时间,在这里采用了硬件中断和软件查询的方式进行连接,当传感器检测到有用信号并输出为低电平时,INTO端向单片机提出中断,单片机响应中断后,对P3口查询,查处变为低电平的引脚,从而确定传感器发出的信号,进而进入相应的处理程序。
图3-1主控电路原理图
3.2电机驱动模块设计
智能小车为轮式结构,机械部分主要为转向机械和驱动机械。
转向机构主要由舵机,转向架和两个前轮组成。
舵机根据转向信号正向或反向旋转一定角度,前轮为从动轮,,会根据转向角度的大小自动调节内外侧车轮的转速,驱动机构包括一个直流电机、减速装置和两个后轮,后轮为主动轮,,其转速大小由直流电机控制。
智能小车的控制策略是在稳定性的基础上,追求车速最高。
小车在过S型弯道时,根据不同路况,选择不同的控制策略,因此,智能小车的控制系统在控制舵机转向的同时,还需要根据转弯半径大小调节驱动电机转速,即自动调节车速大小,从而顺利通过弯道。
直流电机转动力矩大,体积小,重量轻,装配简单,使用方便。
由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生大扭力。
而且控制电路比较方便。
直流电机可以较好地满足系统的设计要求。
LG9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电器器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。
该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750-800mA的持续电流,峰值电流能力可达1.5-2.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。
LG9110被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。
对于本次实验,我们运用两块LG9110芯片驱动两个电机,它的使能端可以外接高低电平,也可以利用单片机进行软件控制,极大地满足各种复杂电路需要。
另外LG9110的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够这个问题。
其电机驱动电路设计如图3-2所示。
图3-2电机驱动电路原理图
3.3信号检测模块设计
用红外发射管和接收管制作光电寻迹传感器。
红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回来的光线则说明检测出白线继而输出低电平,若接收不到发射管发出的光线则说明检测出黑线继而输出高电平。
这样的寻迹传感器能够满足寻迹要求,其发射管是一个砷化镓红外发光二极管,而接收管是一个高灵敏度,硅平面光电三极管。
此红外光电对管寻迹电路结构简单、受光照影响小、工作稳定且实用。
并通过与电压比较器配合构成寻迹传感器电路。
黑线检测原理是红外发射管发射光线到路面,红外光遇到白底则被反射,接收管接收到反射光,经施密特触发器整形后输出低电平,当红外光遇到黑线时则被吸收,接收管没有接收到反射光,经施密特触发器整形后输出高电平。
红外检测模块电路原理如图3-3所示。
图3-3红外检测模块电路原理图
黑线或者白线检测原理.利用黑色对光线的反射率小这个特点,当平面的颜色不是黑色时,传感器发射出去的红外光被大部分反射回来。
于是传感器输出低电平0。
当平面中有一黑线,传感器在黑线上方时,因黑色的反射能力很弱,反射回来的红外光很少,达不到传感器动作的水平,所以传感器还输出1。
我们只要用单片机判断传感器的输出端是0或者是1,就能检测到黑线。
检测白线的原理和检测黑线的原理一样,检测白线时,白线周边的颜色也要比较接近黑色,然后调节红外传感器上面的可调电阻,将灵敏度调低,一直调到刚好周边的颜色检测不到为止,那样就能检测白线了。
3.4稳压模块设计
为了方便电路连接,提高车速,电压必须分开接,不能同时接5V,我们采用1838稳压芯片使得只用输入一个十二伏的电压就可以提供两个电压,达到我们所需的要求。
采用双电源供电:
一路为电机驱动电路供电,另一路经三端稳压器1838稳压后为单片机和传感器供电。
将电机驱动电源与控制系统电源分开,以增加系统稳定性,经过实验验证,这种方式效果不错。
为了给整个控制系统提供一个稳定的电压,需要在电压比较器的输出管接稳压管,以便将信号的高电平控制在一个较小的水平。
在此选择了1838稳压管作为该电路的核心芯片。
该稳压电路的设计如图3-4所示。
图3-4稳压电源电路原理图
3.5蜂鸣器模块设计
在小车越界探测到黑线时报警,蜂鸣器不需要复杂电路构造,蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用放大电路来驱动,为保作用高效加一个三极管。
具体电路设计如图3-5所示。
图3-5蜂鸣器电路图
3.6LED显示模块设计
LED数码管(LEDSegmentDisplays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
图3-6LED显示模块电路图
如图3-6所示,小车的LED数码管的a到g引脚分别通过连接一个560欧电阻与STC89C52的P2.1到P2.7引脚连接,从而实现对小车状态的显示。
3.7串口通信模块设计
MAX232CPE是16针SMD封装IC,用于完成计算机232端口数据电平转换,连接CMOS电路的,换言之,如果离开它,我们就无法用软件监控电源状态了(需要串口返回信号)。
而PIC16F870则为24脚8位CMOS闪存控制器,用于可监控UPS当中。
图3-7串口通信模块电路图
图3-7为串口通信模块电路图,此模块主要功能是通过电脑数据线的连接经由MAX232CPE芯片处理向主芯片STC89C52写入程序。
第4章软件设计
智能寻迹小车系统的软件设计采用的C语言,对单片机进行编程实现各项功能,程序是在WindowsXP环境下采用Keil软件编写的,可以实现电动车对光电传感器的查询。
输出脉冲占空比的设定、电动机方向的确定等功能,主程序主要起一个导向功能和决策功能的作用。
决定什么时候电动车该做什么。
电动车各项功能的实现主要通过调用具体的子程序实现。
系统软件由传感器和电机控制处理主程序以及表示结果的子程序构成。
4.1主程序流程及流程图
主程序流程图主要完成对片内RAM的初始化、时钟初始化和计数器的初始化等。
当小车系统上电后,CPU开始执行程序。
CPU首先对片内RAM进行初始化,划分用于存储的数据和开辟运算空间。
接着是计数器的初始化,一切从零开始便于单片机在接收到传感器的探测信号时能够正确并快速的计数与运算,然后是数码管的初始化,同样是为了清理单片机内部的可能遗留或者不正常的数据。
避免数码管在传感器检测到信号时不能不能正确显示数据。
接着是STC89C52向各个模块发送初始化命令,使得整体系统处于运行的初始状态。
同时,各个模块也正常的运作。
接着,就是单片机开始发送驱动的命令,使小车能够寻迹正常行驶。
当小车行驶后单片机处于随时扫描的状态,一旦接受到模块发送的信号,单片机开始执行模块对应的相关命令,从而才能够正确稳定的控制各个模块正常工作。
此部分是整个小车运行的核心部件,起着控制小车所有运行状态的作用。
控制方法有很多,大部分都采用单片机控制。
由于51单片机具有价格低廉是使用简单的特点,这里选择了STC89C52作为控制核心部件,89C52就是这几年在我国非常流行的单片机STC89C52是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。
该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
在程序设计中,主程序主要由两部分组成:
一部分是上电后的单片机内部和各个模块的初始化程序以及开中断程序;另一部分是各个模块以及控制系统所具有的子程序。
子程序包括红外探测子程序、电机驱动子程序、蜂鸣器报警子程序、显示子程序和控制主程序。
程序运行大概流程为:
CPU初始化,开中断,计数器开始计时,扫描模块输入的端口,进行相应输入信号对应的子程序,运行子程序并存储数据到RAM触发相应模块的状态显示,继续扫描输入信号扫面端口,获得信号或时间到系统停止工作。
其系统程序流程图如图4-1所示。
图4-1系统的程序流程图
4.2寻迹模块
寻迹模块采用红外探测法。
即利用红外线在不同色物理具有不同反射性质的特点。
在小车行驶过程中不断向地面发射红外光。
当红外光遇到白色底板时发生漫反射反射光被装在小车上的接收光接收;如果遇到黑线,则红外线光被吸收,则小车接收不到信号。
小车寻迹规则:
若小车偏左的时候,车轮将向右偏转;若小车偏右,车轮将向左偏转;若没有偏移,小车将继续向前;若小车完全偏离黑色轨迹,小车后退以寻找黑色轨迹。
寻迹原理流程图:
N
Y
图4-2寻迹原理流程图
由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。
第二级通常是在超出第一级的控制范围的情况下发生作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来,则通常使第二级转向力度大于第一级,即Turn_left2>Turn_left1,Turn_right2>Turn_right1(其中Turn_left2,Turn_left1,Turn_right2,Turn_right1为小车转向力度,其大小通过改变单片机输出的占空比的大小来改变),具体数值在实地实验中得到。
4.3避障模块
根据系统设计的要求,小车在行驶过程中要能准确的避开途中遇到的障碍物,因此智能小车的探测距离需要有一定的长度,以留给智能小车足够的时间进行转向,又考虑到在测障过程中小车车速及避障反应堆小车速度的限制,小车应在距障碍物较远的范围内做出反应,这样才能在顺利绕过障碍物的同时还为下一步转向做准备。
避障原理流程图:
是
否
是
图4-2避障原理流程图
避障程序主要由以下几个部分组成,判断程序、左转、大幅左转、右转、大幅右转、倒车避障子程序等组成。
其基本原理为:
据前方四个传感器的反馈值来判断小车前方障碍物的大小,并根据障碍物大小的不同,由单片机将控制信号送给驱动芯片实施对转向电机的正反转控制,以实现小车对障碍物的躲避。
第5章焊接与调试
5.1焊接设备
1)电烙铁(30W)及烙铁架
2)焊锡丝(直径0.5mm)
3)镊子
4)偏口钳、尖嘴钳
5.2焊接操作
将电路板面向操作者倾斜搁置,烙铁头工作面靠到被焊零件引脚和焊盘上,同时将焊丝送向三者交汇处的烙铁头上,使其熔化,熔化的焊锡会马上流向并填充它们之间的空隙,使热量迅速地传导过来,很快地将被焊物升温。
由于焊锡丝有焊剂芯,同时熔化的松香焊剂会流浸到焊接区各金属物的表面,起到焊剂的种种作用。
随后,当温度升高到一定的程度时,扩散发生,焊锡浸润被焊物表面,开始形成焊点。
然后,移动烙铁,焊点完成,撤离烙铁,冷却凝固等等,但由于焊锡丝中的焊剂量有限,如果被焊物的可焊性不是非常好,往往在焊点还没有完全形成以前焊剂早已被蒸发干净,使焊锡表面氧化变色而无法继续焊下去。
为了得到新鲜的焊剂,不得不再送人一段锡丝,让焊丝中的焊剂流出来补充,而这样一来又使得焊锡液滴的总量过多而要用烙铁从焊点的下面将多余的焊锡带走抖掉。
有时遇到较难焊的焊点,就必须再三送人焊丝,接着又抖掉多余的焊锡,直到真正的焊点形成。
为了提高焊锡丝的利用率、尽量缩短焊接时间,可以将开始送人的焊丝分成两部分进行:
首先直接向烙铁头送一部分,用以填充间隙,加大烙铁传热的接触面,启动整个焊接过程。
当被焊件热起来以后就不失时机地转到烙铁对面的一侧,直接向元器件引脚和焊盘送入另一部分焊锡丝。
这样,焊锡丝就起到了引导焊点形成的作用。
即可以免去烙铁两边来回移动的动作,又可以让对侧的金属及早地涂上助焊剂,避免升温引起的氧化作用。
这是较熟练时的操作手法。
操作要领仍旧是:
“始终带着焊剂液膜操作,让焊锡在凝固以前总是处于晶莹发亮的状态。
”因为焊锡液滴变哑色就说明表面一层已经氧化,已经不是金属,在焊接温度下不会熔解,隔着这层固体杂质,金属间的浸润扩散将无法进行。
5.3调试步骤
1、在keil软件上编写好程序无错误后,生成.he