《毕业设计-智能循迹小车.docx》由会员分享,可在线阅读,更多相关《毕业设计-智能循迹小车.docx(21页珍藏版)》请在课桌文档上搜索。
1、本文论述了基于单片机的智能循迹小车的控制过程。智能循迹是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的高新科技。该技术已经应用于无人驾驶机动车,无人工厂,仓库,效劳机器人等多种领域。本设计采用AT89S52单片机作为小车的控制核心;采用红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被单片机识别的数字信号;采用驱动芯片L298N控制直流电机,其中软件系统采用C程序,本设计的电路结构简单,容易实现,可靠
2、性高。关键词:单片机;自动循迹;驱动电路目录1 绪论O1.1 智能循迹小车概述O1.1.1 循迹小车的开展历程回忆O1.1.2 智能循迹分类11.1.3 智能循迹小车的应用11.2 智能循迹小车研究中的关键技术31.3 智能循迹小车设计原理31.4 智能循迹小车设计要求32智能循迹小车总体设计方案42.1 整体设计方案42.1.1 系统设计步骤42.1.2 系统根本组成42.2 整体控制方案确定52.3 的硬件设计53.1 单片机电路的设计53.1.1 单片机的功能特性描述53.1.2 晶振电路63.1.3 复位电路73.2 光电传感器模块73.2.1 传感器分布83.2.2 电机驱动电路83
3、.2.3 1.298N引脚结构93.2.4 直流电机控制原理94系统的软件设计104.1软件设计的流程105系统的总体调试H5.1 硬件的测试115.2 程序的下载125.2.1 ISP下载线的使用125.2.2 程序的烧录125.3 功能测试13结论13附录一硬件实物图13附录二C源程序13参考文献18进入二十一世纪,随着计算机技术和科学技术的不断进步,机器人技术较以往已经有了突飞猛进的提高,智能循迹小车即带有视觉和触觉的小车就是其中的典型代表。1.1 智能循迹小车概述智能循迹小车又被称为AUtomatedGUidedVehicle,简称AGV,是二十世纪五十年代研发出来的新型智能搬运机器人
4、。智能循迹小车是指装备如电磁,光学或其他自动导引装置,可以沿设定的引导路径行驶,平安的运输车。工业应用中采用充电蓄电池为主要的动力来源,可通过电脑程序来控制其选择运动轨迹以及其它动作,也可把电磁轨道黏贴在地板上来确定其行进路线,无人搬运车通过电磁轨道所带来的讯息进行移动与动作,无需驾驶员操作,将货物或物料自动从起始点运送到目的地。AGV的另一个特点是高度自动化和高智能化,可以根据仓储货位要求、生产工艺流程等改变而灵活改变行驶路径,而且改变运行路径的费用与传统的输送带和传送线相比非常低廉。AGV小车一般配有装卸机构,可与其它物流设备自动接口,实现货物装卸与搬运的全自动化过程。此外,AGV小车依靠
5、蓄电池提供动力,还有清洁生产、运行过程中无噪音、无污染的特点,可用在工作环境清洁的地方。1.1.1 循迹小车的开展历程回忆随着社会的不断开展,科学技术水平的不断提高,人们希望创造出一种来代替人来做一些非常危险,或者要求精度很高等其他事情的工具,于是就诞生了机器人这门学科。世界上诞生第一台机器人诞生于1959年,至今己有50多年的历史,机器人技术也取得了飞速的开展和进步,现已开展成一门包含:机械、电子、计算机、自动控制、信号处理,传感器等多学科为一体的性尖端技术。循迹小车共历了三代技术创新变革:第一代循迹小车是可编程的示教再现型,不装载任何传感器,只是采用简单的开关控制,通过编程来设置循迹小车的
6、路径与运动参数,在工作过程中,不能根据环境的变化而改变自身的运动轨迹。支持离线编程的第二代循迹小车具有一定感知和适应环境的能力,这类循迹小车装有简单的传感器,可以感觉到自身的的运动位置,速度等其他物理量,电路是一个闭环反应的控制系统,能适应一定的外部环境变化。第三代循迹小车是智能的,目前在研究和开展阶段,以多种外部传感器构成感官系统,通过采集外部的环境信息,精确地描述外部环境的变化。智能循迹小车,能独立完成任务,有其自身的知识根底,多信息处理系统,在结构化或半结构化的工作环境中,根据环境变化作出决策,有一定的适应能力,自我学习能力和自我组织的能力。为了让循迹小车能独立工作,一方面应具有较高的智
7、慧和更广泛的应用,研究各种新机传感器,另一方面,也掌握多个多类传感器信息融合的技术,这样循迹小车可以更准确,更全面的获得所处环境的信息I。1.1.2 智能循迹分类AGV从创造至今已经有50多年的历史,随着应用领域的不断扩大,其种类和形式也变得更加多样化。一般根据行驶的导航方式将智能循迹小车分为以下几种类型:(1)电磁感应式电磁感应式引导一般在地面上,沿预定路径埋电线,当高频电流通过导线,电线周围产生电磁场流动,AGV小车上安装两个对称的电磁感应传感器,他们收到的电磁信号差异可以反映的AGV偏离程度路径的程度。AGV自动化控制系统,基于这种偏差值,以控制车辆的转向,连续的动态的闭环控制设置能够保
8、证AGV对设定路径的稳定自动跟踪。在目前商业用途的AGV中,特别是大型和中型小车,绝大多数都采用电磁感应导航。(2)激光式安装有可旋转的激光扫描器的AGV,可安装在墙壁或有高反射激光定位标志的支柱上或者路径上运行,AGV依靠激光扫描器发射激光束,然后接收由四周定位标志反射回的激光束,车载计算机,计算出当前车辆的位置和运动方向,通过内置的数字地图和校准位置相比,以实现自动处理。目前,这种AGV类型的应用比拟广泛。基于同样的原理,如果激光扫描仪被红外线发射器,或超声波发射取代,激光制导的AGV小车可以转变为红外引导和超声引导的AGV。(3)视觉式视觉引导式AGV是的迅速开展和比拟成熟的AGV,这种
9、AGV配备CCD摄像机,传感器和车载电脑,在车载计算机中设置有AGV欲行驶路径周围环境图像数库。在AGV的行驶过程中,相机得到的图像与图像数据库进行比拟,以确定当前位置和车辆周围的图像信息并对下一步作出决定。这种AGV小车并不需要设置任何的人工物理路径,所以在理论上具有灵活性,在计算机图像采集、存储和处理技术飞速开展的今天,这种类型的AGV实用性越来越强。此外,还有铁磁陀螺惯性引导式AGV、光学引导式AGV等多种形式的AGV2。1.1.3 智能循迹小车的应用智能循迹小车开展历史及主要应用场所如下:仓储业1954年,来自美国南卡罗来纳州的MercuryMotorFreight公司成为第一批把AG
10、V小车的应用到仓库的使用者,来实现出入库货物的自动处理。至今世界上有超过2100个厂家把大约2万台大型或小型的AGV小车应用到自己的仓库中。中国的海尔集团在2000年把9台AGV小车投产到了自己的仓库区,形成一个灵活的AGV自动数据库处理系统,轻松地完成了每天至少33500的储存和装卸货物的任务。(2)制造业在制造业的的生产线中AGV小车大显身手,快速,精确,灵活的完成材料的运送任务。由多台AGV小车组成的物流运输处理系统,较人工搬运系统来说更灵活,运输路线可以根据生产过程及时调整,使一条生产线,生产十几个产品,大大提高了生产的灵活性,企业的竞争力。在1974年瑞典的沃尔沃卡尔马的汽车组装厂,
11、提高了运输系统的灵活性,使用以AGV小车为载运工具的装配线,采用该装配线后,减少了20%装配时间、减少了39%组装错误,减少了57%投资资金回收时间以及减少了5%的员工费用。目前,在世界主要的汽车生产厂家,如通用、丰田、克莱斯勒、群众AGV小车已被广泛应用。近年来,作为CIMS(ComuterIntegratedManufacturingSystems,直译为基于计算机的现代集成制造系统)的根底搬运工具,AGV已经深入到机械加工,家电制造,微电子制造,烟草等行业,生产业和加工业已成为AGV小车使用最广泛的领域。(3)邮局、图书馆、港口码头和机场在邮局,图书馆,码头和机场候机楼等人口密集的公众场
12、所,存在着大量的物品的运送工作,充满不定性和动态性强的特点,搬运过程往往也很单一。AGV有着可并行工作、自动化、智能化和处理灵活的特点,可以很好的满足这些场合的运输要求。1983年瑞典的大斯得哥尔摩邮局,1988年日本东京的多摩邮局,1990年中国上海的邮政相继开始使用AGV小车来完成邮品的搬运工作。(4)烟草、医药、化工、食品对于处理一些需要在清洁、平安、无排放污染等其他特殊环境要求的产品生产如烟草、制药、食品、化工等产品时应考虑AGV小车的应用。在全国许多卷烟企业,如青岛颐中集团、玉溪红塔集团、红河卷烟厂、淮阴卷烟厂,应用激光引导式AGV完成托盘货物的搬运工作。(5)危险场所和特种行业在军
13、事方面,以AGV小车为根底有着自动驾驶和检测功能的设备,可用于战场侦察和扫雷,英国军方正在开发MlNDER侦察系统,这是一种具有地雷探测、销毁和路线验证能力自动型侦察车。在钢铁厂,AGV小车负责炉料运输,大大降低了工人们的劳动强度。在核电厂的核储存地点使用AGV小车,以防止辐射的危险。AGV小车可在黑暗环境中,准确、可靠的运输物料3。1.2 智能循迹小车研究中的关键技术现在全世界越来越多的国家都在做着研究智能化、多样化的自动汽车导航的工作。自动汽车导航是一个非常复杂的系统,它不仅应具有正常的运动功能的成分,而且还应具有任务分析,路径规划,信息感知,自主决策等类似人类的智能行为。人类可以利用自己
14、的听觉、视觉、味觉、触觉等功能获取事物的信息,人类的大脑再根据已经掌握的知识对这些信息进行综合分析,从而全面了解认知事物。这样一个认识事物、分析事物和处理信息的过程称之为信息融合过程。多传感器信息融合的根本原理就是模仿人类大脑的这个过程,得到一个对复杂对象的一致性解释或结论。多传感器信息融合是协调多个分布在不同地点,相同或不同种类的传感器所提供的局部不完整观测量信息加以综合,协调使用,消除可能存在的冗余和矛盾,并加以互补,以减少不确定性,得到对物体或环境的一致性描述的过程、多传感器信息融合具有许多性能上的优点:(1)增加了系统的生存能力;(2)减少了信息的模糊性;(3)扩展了采集数据覆盖范围;
15、(4)增加了可信度;(5)改善了探测性能;(6)提高了空间的分辨力;(7)改善了系统的可靠性(8)信息的低本钱性5。1.3 智能循迹小车设计原理这里的循迹是指小车在白色地板上循白、黑线行走,通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体外表具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线那么红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过3cm。1.4 智能循迹小车设
16、计要求(1)自动寻迹小车从平安区域启动。(2)小车按指定路线运行,自动区分直线轨道和弯路轨道,在指定弯路处拐弯,实现灵活前进、转弯、倒退等功能。2智能循迹小车总体设计方案2.1整体设计方案本系统采用简单明了的设计方案。通过高发射功率红外光电二极管和高灵敏度光电晶体管组成的传感器循迹模块判断黑线路经,然后由AT89S52通过IO口控制L298N驱动模块改变两个直流电机的工作状态,最后实现小车循迹。2.1.1系统设计步骤图2.1智能循迹小车控制系统结构框图智能循迹小车主要由AT89S52单片机电路、循迹模块、L298N驱动模块、直流电机、小车底板、电源模块等组成。(1)单片机电路:采用AT89S5
17、2芯片作为控制单元。AT89S52单片机具有低本钱、高性能、抗干扰能力强、超低功耗、低电磁干扰,并且与传统的8051单片机程序兼容,无需改变硬件,支持在系统编程技术。使用ISP可不用编程器直接在PCB板上烧录程序,修改、调速都很方便。(2)循迹模块:采用脉冲调制反射式红外发射接收器作为循迹传感器,调制信号带有交流分量,可减少外界的大量干扰。信号采集局部就相当于智能循迹小车的眼睛,由它完成黑线识别并生产高、低平信号传送到控制单元,然后单片机生成指令来控制驱动模块来控制两个直流电机的工作状态,来完成自动循迹。(3)L298N驱动模块:采用L298N作为电机驱动芯片。L298N具有高电压、大电流、响
18、应频率高的全桥驱动芯片,一片L298N可以分别控制两个直流电机,并且带有控制使能端。该电机驱动芯片驱动能力强、操作方便,稳定性好,性能优良。L298N的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。另外,L298N的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题。(4)直流电机:采用双直流电动机。直流电动机的控制方法比异步电动机简单,只需给电机两条控制线加上适当的电压就能使电机旋转,在正常工作电压范围,电压越高直流电机转速越高。直流电动机调速方法分为两种:一种是直接调整电压,另一种通过PWM调速。PWM调速就是使加在直流电机两
19、端的电压波形为矩形波,改变矩形波的占空比就能实现电压的改变,从而实现电机转速的改变。2.2整体控制方案确定图2.2智能循迹小车系统控制框图图2.2为循迹小车的系统控制框图。引导线是小车跟踪的目标,检测系统检测车的相对路径,然后将此信息输入到单片机,单片机处理此信息后,将控制命令输出到驱动模块,以控制小车的直流电机,保证小车快速平稳地沿预先设定好的路线行驶。本系统采用可充电池组作为主电源。AT89S52单片机作为主控制器。采用电机驱动芯片L298N控制直流电机,而不使用步进电机。L298N是利用TTL电平进行控制,通过改变芯片控制端的输入电平,即可以对电机进行正转、反转和停止操作,亦能满足直流减
20、速电机的要求,用该芯片作为电机驱动具有的操作方便、稳定性好等优点。用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。这样单片机和循迹传感器组成了一个带有反应信号的系统。3系统的硬件设计3.1 单片机电路的设计一个单片机应用系统的硬件电路设计包含两局部内容:一是系统扩展,即单片机内部的功能单元,如RoM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路;二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、A/D、D/A
21、转换器等。3.1.1 单片机的功能特性描述单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格廉价。单片机内部也有和电脑功能类似的模块,比方CPU,内存,并行总线,还有和硬盘作用相同的存储器件。单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器Rc)M、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。本课题选择了
22、Atmel公司的生产的AT89S52单片机。AT89S52是一种低功耗、高性能的CMoS8位微控制器,具有8K在系统可编程FIaSh存储器。使用AtmeI公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片
23、内晶振及时钟电路。另外,AT89S52可降至OHZ静态逻辑操作,支持2种软件,可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。PLCC吾 WEodn WWzOdn UaSLOdn (OaWOOdn00Ozn UDOrIdn XUJN匕 LLdn(MOSl)Pl .5 C (MISO) P1.6C(SCK)P1.7 C RSTC(RXD) P3.0E NCC(TXD) P3.1 C (INTO) P32 匚(IFE)P3.3 匚 (TO) P3.4E (T
24、1)P3.5C P04(AD4 P05 (AD5) P0 AD) P0.7 (AD7) EAPP NC AL&PROG PSEN P27 (A15) P26 (A14) PZO (A13)Uns :R EOLW U L Zd & Uoffas UozUosU5t UHUH)U9cd 里)图3.1AT89S52芯片管脚图3.1.2 晶振电路在AT89S52单片机上有一个用于构成内部振荡器的反相放大器,XTALl和XTAL2分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件的话,XTAL2可以不接,而从XTALl接入,如图3.3所示。由于外部时钟信号
25、经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。图3.2单片机外部振荡电路连接图图3.3单片机外部振荡电路连接图3.1.3 复位电路复位电路的作用是在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。施密特触发电路是一种波形整形电路,当任何波形的信号进入电路时,输出在正、负饱和之间跳动,产生方波或脉波输出。不同于比拟器,
26、施密特触发电路有两个临界电压且形成一个滞后区,可以防止在滞后范围内之噪声干扰电路的正常工作。如遥控接收线路,传感器输入电路都会用到它整形。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,那么CPU就可以响应并将系统复位。3.2 光电传感器模块循迹光电传感器原理,就是利用黑线对红外线不同的反射能力通过光敏二极管或光敏三极管,接收反射回的不同光强信号,把不同光强转换为电流信号,最后通过电阻,转换为单片机可识别的上下电平。光电传感器实现循迹的根本电路如3.4所示。图3.4循迹传感器电路图循迹传感器工作原理:TC端是传感器工作控制端,为高
27、电平时,发光二极管不工作,传感器休眠,为低电平时,传感器启动。SignaI端为检测信号输出,当遇到黑线,黑线吸收大量的红外线,反射的红外线很弱,光敏三极管不导通,SignaI输出高电平;当遇到白线,与黑线相反,反射的红外线很强,使光敏三极管导通,SignaI输出低电平。这种探测方法,即利用红外线在不同颜色的外表特征,具有不同的反射性能,汽车行驶过程中接收地面的红外光。当红外光遇到白色路线,地板发生漫反射,安装在小型车的反射光接收器接收;如果是遇到黑色路线,红外光将被黑线吸收,安装在小车上的接收管没有收到红外光。控制器会根据是否收到反射的红外光为判断依据来确定的黑线的位置和小车的路线。红外探测器
28、距离通常是不应超过15厘米的。红外发射和接收红外线感应器,可以使自己或直接使用集成红外探头。调整左右传感器之间的距离,两探头距离约等于黑线宽度最适宜,选择宽度为3-5厘米的黑线。该传感器的灵敏度是可调的,传感器有时遇到黑线却不能送出相应的信号,通过调节传感器上的可调电阻,适当的增大或减小可改变灵敏度。另外,循迹传感器的放置也是有讲究的,有两种方法,一种是两个都是放置在黑线内侧紧贴黑线边缘,第二种是都放置在黑线的外侧,同样紧贴黑线边缘。本设计采用第二种方法。单片机烧录程序后,就可以执行循迹指令了。如果小车向前行驶时向左偏离了黑线,那么右边传感器会产生一个高电平,单片机判断这个信号,然后向右拐回到
29、黑线。两传感器输出信号为低电平时,小车前进。如果小车向右偏离黑线,左边传感器产生一个高电平,单片机判断这个信号,然后向左拐。这样,小车一定不会偏离黑线。假设两个光电传感器同时输出的信号为高电平,即单片机判断的都为高电平时,小车向前直走。3.2.1 传感器分布传感器通过信号采集,向单片机提供信息。因此传感器合理的布局很重要,传感器布局需要考虑小车行驶过程中信息检测的准确度和前瞻性,能使在相同数量的传感器下,获得更多的数据。传感器的布局一般有以下三种:一字型布局,M型布局和活动型布局。一字型布局即所有传感器在同一直线上。一字型布局分为等距排布型和非等距排布型。等距排布型不利于采集准确的弯道信息。考
30、虑到弧度信息采集的连贯性,非等距排布采用等角原那么,即在垂直平分线上方处某点,以等角的引射线与直线的交点就是传感器的分布点,此种方法检测连贯简单,更容易控制小车。M型布局即传感器的布局成M型,M型布局最适合检测多弯道的轨迹。由于传感器不在同一直线上,故小车转弯时,左右两边后部的传感器有较大的采样空间,两边前端的传感器那么对采集的信号有更好的前瞻性,M型中间底部的传感器择更好确实定小车的位置。整个布局有利于在弯道处提高小车速度。但相对一字型布局,M型布局容易产生不稳定信号,从而产生信号震荡,影响小车行驶的稳定性。活动型布局采用矩阵模式,将传感器排布成矩阵形状,通过对不同位置传感器采集到信息的选择
31、来适应各种不同的跑道。这样对不同路况有更强的适应性。此种方案可调性大,但此种方法需要较多传感器,冗余较大,比拟笨重,增加小车的重量,不利于小车的加减速。最终决定采用一字型布局方法来对3个传感器进行布局。3.3 电机驱动电路本设计采用L298N电机专用驱动芯片带动两个12V的直流电动机。直流电机由定子和转子两大局部组成。直流电机运行时静止不动的局部称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的局部称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器等组成。其中L298
32、N是ST公司的产品,比拟常见的是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路。可以驱动两个直流电机或驱动两个二相电机,也可单独驱动一个四相电机,输出电压最高可达50V。直接通过电源来调节输出电压,直接通过单片机的IO端口提供信号,使得电路简单,使用更方便。L298N可接受标准的TTL逻辑电平信号VSS,VSS通常接4.57V的电压。4脚VS接电压源,VS可接电压范围VIH为2.5-46VoL298N芯片输出电流可达2.5A,可驱动电感负载。1.298N是一个内部有两个H桥的高电压大电流全桥式驱动芯片,可以用来驱动直流电动机、步进电动机。使用标准逻辑电平信号控制,直接连接
33、单片机管脚,具有两个使能控制端,使能端在不受输入信号影响的情况下不允许器件工作。L298N有一个逻辑电源输入端,使内部逻辑电路局部在低电压下工作。3.3.14电机电源端电机供电输入端,电压可达46V5输入引脚1内置驱动器A的逻辑控制输入端17输入引脚2内置驱动器A的逻辑控制输入端28逻辑地逻辑地9逻辑电源端逻辑控制电路的电源输入端为5V10输入引脚3内置驱动器B的逻辑控制输入端111使能端B内置驱动器B的使能端12输入引脚4内置驱动器B的逻辑控制输入端213输出引脚3内置驱动器B的输出端1,接至电机B14输出引脚4内置驱动器B的输出端2,接至电机B15电流传感器B在该引脚和地之间接小阻值电阻可
34、用来检测电流6使能端A内置驱动器A的使能端表3.1L298N引脚编号与功能3.3.2直流电机控制原理两台直流电机分别为Ml和M2,引脚A,B可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端INl接高电平输入端IN2接低电平,电机Ml正转。(如果信号端INl接低电平,IN2接高电平,电机Ml反转。)控制另一台电机是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转。(反之那么反转),PWM信号端A控制MI调速,PWM信号端B控制M2调速。电机旋转方式控制端IN1控制端
35、IN2控制端IN3控制端IN4输入PWM信号改变脉宽可调速调速端A调速端BM1正转高低/高/反转低高/高/停止低低/高/M2正转/高低/高反转/低高/高停止低低/高表3.2直流电机控制原理4系统的软件设计4.1软件设计的流程目前,52系列单片机使用的编程语言主要有汇编语言和C语言这两种。最接近机器的语言是汇编语言,其常用来编制与系统硬件相关的程序,如访问I/O口、中断处理程序等,快它是一种最而又最有效的语言,在对于程序的空间和时间要求很高的场合中使用汇编语言是最正确的选择,然而汇编语言也有其自身的缺点,比方程序开发周期较长、浮点运算处理复杂、程序移植性差等不利因素。在程序设计过程中C语言编程设
36、计思想被称为模块化程序设计思想。有的时候为了有效地完成任务,把所要完成的任务分割成假设干个相互独立但相互又仍然有所联系的模块,这些模块使得任务变得相对简单,对外的数据交换相对简单、容易编写、容易检测,容易阅读和维护。本设计采用C语言来编译程序。模块化结构程序的设计,可以使系统软件便于调试与优化,也使其他人更好地理解和阅读系统的程序设计。因此,软件的设计上,运用了模块化程序的结构对软件进行设计,使得程序变得更加直观易懂。程序的主要模块有:主程序、定时溢出中断效劳程序、外部中断效劳程序。随着单片机开发技术的不断开展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断开展,Keil软
37、件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVision)将这些局部组合在一起。掌握这一软件的使用对于使用51系列单片机的学者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会事半功倍。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全WindoWS界面。另外重要的一点,只要看一下编译后生成的汇编代
38、码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势6。图4.1KeiI软件主界面图4.2HEX文件的生成5系统的总体调试5.1 硬件的测试按照之前设计好的智能循迹小车原理图,将各个模块进行组装,然后进行简单测试。(1)晶振电路的测试在单片机正常运行的必要条件是单片机系统的时钟稳定正常。实际中,因为各种原因导致系统时钟不正常而出现系统无法正常运行的情况时有,因此系统时钟是否振是通电检查的首要环节。在系统通电的状况下,用万用表的直流电压档(20V),分别测量XTALl和XTAL2引脚的电压,看是否正常,在调试过程中
39、,测得电压XTALl引脚应为2.05V,XTAT2应为2.15V。(2)复位电路的测试复位不正常也会导致系统不能工作。如果复位引脚始终为高电平,系统将始终处于复位状态;如果始终为低电平,不能产生复位所需的高电平信号脉冲,那么系统也可能无法正常工作。单片机正常工作时,RST复位引脚应为OV,按下复位按键时,复位引脚为高电平5V左右7。tINT1 BEEP PWMl!NT2 PWM2C1C2:C3 WUF 二 TEKhO RESETRl 10k图5.1单片机接口定义0CMW1XOoooo30PF30PFX1-Exb-CRYSTALXTAL1 OXTAL2 ORESET OXTAL1XTAL2RST
40、P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0?RDP3.1/TXDP3.2NT0P3.3NfP3.40P3.5/T1P3.6RP3.7RDPSEN ALE EAP1.02P1.12EXP1.2P1.3P1.4P1.5P1.6P1.7q-J21-22-J22-OO O5.2 程序的下载5.2.1 ISP下载线的使用图5.2ISP下载线ISP下载线主要用于对芯片进行在线下载程序,在某些
41、地方取代编程器,方便程序员修改客户应用程序,方便出差工作,无需带上笨重的编程器,一块AT89S52编程时间只要几秒即可完成。目前支持芯片有AT89S51,AT89S52,AT89S53,AT89S8252,AT89LS53,AT89LS8252。一般用于电路板已留有ISP接口,作为在线编程用,没有ISP接口,可使用超小型下载板。体积小、携带方便、操作简单、经济实用,是在校大学生,初学者和电子工程师理想的编程工具。外型仅只是一个并口插座接一条1米连接线。图5.3ISP编程接口定义5.2.2 程序的烧录将电路板与电脑通过ISP线连接。通过烧录软件在电脑端将程序烧录进单片机。图5.4烧录软件主界面程
42、序下载进单片机以后就可以对循迹小车进行测试了。将小车放置在预先准备好的黑色轨道上,小车从A点启动,沿黑色路径行走。当遇到交叉如C、D、E等点时,三个传感器全部检测到黑色信号,小车将直行直至传感器检测到白色。当小车到达终点B点后,三个传感器全部检测到白色,小车将继续前进并自动寻找黑色轨道。传感器捕捉到黑色轨道后小车会继续沿轨道行驶。在这过程中,小车会遇到90的急弯道和圆弧形的弯道,还有大量的交叉线路,主要测试小车直行的顺畅度和转弯时的灵活以及精准性。图5.5小车运行线路图5.6循迹小车功能测试结论本课题研究的内容主要是智能小车的循迹系统。以实验组装小车为根底,使用了3个光电传感器来探测周围环境,
43、同时对采集到的数据信息进行融合。取得了以下成果:(1)小车可以实现按照预定轨道在无外部环境影响或改变时,小车将一直沿着黑色标记线运动。(2)小车保存了扩展功能。循迹小车在完成设计预想的前提下,主要考虑了车体结构设计的简单化,降低了制作本钱,使之更具有普及性。由于设计要求并不复杂,没有在电路中增加冗余的功能,但是保存了各种硬件接口和软件子程序接口,方便以后的扩展和进一步的开发。智能循迹小车属于应用开发工程,涉及了多种学科,由于本课题的试验性和不完善性。智能循迹小车在以下两个方面还有提升的空间:(1)环境信息采集功能:环境信息采集的实时性和完整性。(2)增加避障控制功能:包括避障的精确性和灵活度这
44、两个指标。ttinclude#defineucharunsignedchar#defineuintunsignedintsbitinl=P10;、sbitin2=P3;sbitPWInI=P2;sbitPWm2=P4;sbitZilo=P07;红外传感器1sbitzhong-P06;红外传感器2sbityou=P02;红外传感器3ucharcount=0;uchardjl=O;uchardj2=0;voidadvance()小车前进子函数inl=l;in2=l;djl=15;dj2=15;)voidIeftO小车左转微调子函数1inl=l;in2=l;djl=18;voidright()小车右
45、转微调子函数1inl=l;in2=l;djl=7;dj2=18;)voidIeftl()小车左转微调子函数2inl=l;in2=0;djl=15;dj2=18;)voidrightl()小车右转微调子函数2inl=O;in2=l;djl=18;dj2=15;)voidtimerO_init()/O.5ms定时器设置TM0D=0X01;THO=OXFE;TL0=0X33;EA=I;ETO=1;TRO=I;)voidtimer()interrupt1定时器中断函数THO=OXFE;TL0=0X33;count+;if(count=djl)pwml=l;/PWM脉宽调速elsepwml=0;if(c
46、ount=320)count=0;)voidmain()主函数timer-init();/初始化PO=OXFF;P1=0X02;P2=0X00;P3=0X00;while(l)if(zuo=0)&(ZhOng=I)&(you-0)/小车在正确的轨道上,小车前进advance();)if(zuo=0)&(ZhOng=I)&(you=l)小车偏左,执行右转微调子函数1right();)if(zuo=l)&(Zhong=I)&(you=。)小车偏右,执行左转微调子函数1left();)if(zIIO=I)&(ZhOng=O)&(you=0)小车右偏比拟大,执行左转微调子函数2leftl();)if(zuo=0)&(zhong=0)&(you=l)小车左偏比拟大,执行右转微调子函数2rightl();)if(zuo=l)&(zhong=l)&(you=l)小车行驶在十字交