基于51单片机的智能小车控制系统设计.doc
工业职业技术学院毕 业 设 计课题名称 基于51与单片机的智能小车控制系统系(院)名称 电气工程系 专业与班级学生学 号指导教师完成日期年11月19日26 / 32摘 要随着我国科学技术的进步,智能化作为现代社会的新产物开始越来越普与,各种高科技也广泛应用于智能小车和机器人玩具制造领域,使智能机器人越来越多样化。智能小车是一个多种高薪技术的集成体,它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识,可以涉与到当今许多前沿领域的技术。 整个小车平台主要以51单片机为控制核心,通过无线遥控实现前进后退和转向行驶,通过红外线传感器,实现小车的自适应巡航、避障等功能。设计采用对比选择,模块独立,综合处理的研究方法。通过翻阅大量的相关文献资料,分析整理出有关信息,在此基础上列出不同的解决方案,结合实际情况对比方案优劣选出最优方案进行设计。从电机车体,最小系统到无线遥控,红外线对管的自动寻迹再到红外线自动避障和语音控制,完成各模块设计。通过调试检测各模块,得到正确的信号输出,实现其应有的功能。最后将各个调试成功的模块结合到小车的车体上,结合程序,通过单片机的控制,将各模块有效整合在一起,达到所预期的目标,完成最终设计与制作,能使小车在一定的环境中智能化运转。关键字:智能小车,单片机,红外传感器。目录第一章 绪 论- 1 -1.1.1智能循迹小车概述- 1 -1.1.2课题研究的目的和意义- 2 -1.1.3智能循迹小车智能循迹分类- 3 -1.1.4智能循迹小车的应用- 3 -第二章 方案设计- 5 -2.1 主控系统- 5 -2.2单片机最小系统- 6 -2.2.1 STC89C52简介- 6 -2.2.2 时钟电路- 8 -2.2.3复位与复位电路- 8 -2.3 电机驱动模块- 10 -2.4 循迹与避障模块- 11 -2.5 机械系统- 11 -2.6电源模块- 11 -第三章 硬件设计- 12 -3.1总体设计- 12 -3.1.1主板设计框图- 12 -主板设计框图如图3-1,所需原件清单如表3-1- 12 -3.2驱动电路(参考文献4)- 13 -3.3信号检测模块 - 13 -3.4主控电路- 14 -第四章 软件设计- 15 -4.1程序功能描述与设计思路- 15 -4.1.1程序功能与设计思路- 15 -4.1.2程序设计思路- 16 -4.2程序流程图- 16 -第五章 调试与总结195.1 调试195.1.1 调试工具195.1.2调试过程195.2 总结19附录23第一章 绪 论1.1.1智能循迹小车概述自智能循迹小车又被称为Automated Guided Vehicle,简称AGV,是二十世纪五十年代研发出来的新型智能搬运机器人。智能循迹小车是指装备如电磁,光学或其他自动导引装置,可以沿设定的引导路径行驶,安全的运输车。工业应用中采用充电蓄电池为主要的动力来源,可通过电脑程序来控制其选择运动轨迹以与其它动作,也可把电磁轨道黏贴在地板上来确定其行进路线,无人搬运车通过电磁轨道所带来的讯息进行移动与动作,无需驾驶员操作,将货物或物料自动从起始点运送到目的地。AGV的另一个特点是高度自动化和高智能化,可以根据仓储货位要求、生产工艺流程等改变而灵活改变行驶路径,而且改变运行路径的费用与传统的输送带和传送线相比非常低廉。AGV小车一般配有装卸机构,可与其它物流设备自动接口,实现货物装卸与搬运的全自动化过程。此外,AGV小车依靠蓄电池提供动力,还有清洁生产、运行过程中无噪音、无污染的特点,可用在工作环境清洁的地方。随着社会的不断发展,科学技术水平的不断提高,人们希望创造出一种来代替人来做一些非常危险,或者要求精度很高等其他事情的工具,于是就诞生了机器人这门学科。世界上诞生第一台机器人诞生于1959年,至今已有50多年的历史,机器人技术也取得了飞速的发展和进步,现已发展成一门包含:机械、电子、计算机、自动控制、信号处理,传感器等多学科为一体的性尖端技术。循迹小车共历了三代技术创新变革:第一代循迹小车是可编程的示教再现型,不装载任何传感器,只是采用简单的开关控制,通过编程来设置循迹小车的路径与运动参数,在工作过程中,不能根据环境的变化而改变自身的运动轨迹。支持离线编程的,第二代循迹小车具有一定感知和适应环境的能力,这类循迹小车装有简单的传感器,可以感觉到自身的的运动位置,速度等其他物理量,电路是一个闭环反馈的控制系统,能适应一定的外部环境变化。第三代循迹小车是智能的,目前在研究和发展阶段,以多种外部传感器构成感官系统,通过采集外部的环境信息,精确地描述外部环境的变化。智能循迹小车,能独立完成任务,有其自身的知识基础,多信息处理系统,在结构化或半结构化的工作环境中,根据环境变化作出决策,有一定的适应能力,自我学习能力和自我组织的能力。为了让循迹小车能独立工作,一方面应具有较高的智慧和更广泛的应用,研究各种新机传感器,另一方面,也掌握多个多类传感器信息融合的技术,这样循迹小车可以更准确,更全面的获得所处环境的信息。 1.1.2课题研究的目的和意义随着电子技术、计算机技术和制造技术的飞速发展,数码相机、DVD、洗衣机、 汽车等消费类产品越来越呈现光机电一体化、智能化、小型化等趋势。各种智能化 小车在市场玩具中也占一个很大的比例。根据美国玩具协会的调查统计,近年来全 球玩具销量增幅与全球平均GDP增幅大致相当。而全球玩具市场的在结构比重却 发生了重大改变:传统玩具的市场比重正在逐步缩水,高科技含量的电子玩具则蒸蒸日上。美国玩具市场的高科技电子玩具的年销售额2004年交2003年增长52%, 而传统玩具的年销售额仅增长3%。英国玩具零售商协会选出的2001圣诞节最受欢迎的十大玩具中,有7款玩具配有电子元件。从这些数字可以看出,高科技含量的 电子互动式玩具已经成为玩家行业发展的主流。如今知识工程、计算机科学、机电一体化和工业一体化等许多领域都在讨论智 能系统,人们要求系统变得越来越智能化。显然传统的控制观念是无法满足人们的 需求,而智能控制与这些传统的控制有机的结合起来取长补短,提高整体的优势更 好的满足人们的需求。随着人工智能技术、计算机技术、自动控制技术的迅速发展, 智能控制必将迎来它的发展新时代。计算机控制与电子技术融合为电子设备智能化 开辟了广阔前景。因此,遥控加智能的技术研究、应用都是非常有意义而且有很高市场价值的。人类的研究活动已摆脱了地球生物圈的束缚而广泛地进入外层空间和海洋深处。对月球和太阳系其他行星的探测,对太阳系以外的宇宙进行考察,对数千米以下的海底的研究,都是目前单靠人力所不能与的。自动控制系统正在代替人们完成这些任务。在战场上的军事活动中,在恶劣环境条件下的生产劳动中,凡不宜由人直接承担的任务,均可由自动控制系统代替,如智能小车可以适应不同环境,不受温度、湿度等条件的影响,完成危险地段、人类无法介入等特殊情况下的任务。高科技自动控制系统与装置已日益成为现代社会活动中离不开的自动智能设备。1.1.3智能循迹小车智能循迹分类AGV从发明至今已经有50多年的历史,随着应用领域围的不断扩大,其种类和形式也变得更加多样化。一般根据行驶的导航方式将智能循迹小车分为以下几种类型: (1)电磁感应式 电磁感应式引导一般在地面上,沿预定路径埋电线,当高频电流通过导线,电线周围产生电磁场流动,AGV小车上安装两个对称的电磁感应传感器,他们收到的电磁信号差异可以反映的AGV偏离程度路径的程度。 AGV自动化控制系统,基于这种偏差值,以控制车辆的转向,连续的动态的闭环控制设置能够保证AGV对设定路径的稳定自动跟踪。在目前商业用途的AGV中,特别是大型和中型小车,绝大多数都采用电磁感应导航。 (2)激光式 安装有可旋转的激光扫描器的AGV,可安装在墙壁或有高反射激光定位标志的支柱上或者路径上运行,AGV依靠激光扫描器发射激光束,然后接收由四周定位标志反射回的激光束,车载计算机,计算出当前车辆的位置和运动方向,通过置的数字地图和校准位置相比,以实现自动处理。目前,这种AGV类型的应用比较广泛。基于同样的原理,如果激光扫描仪被红外线发射器,或超声波发射取代,激光制导的AGV小车可以转变为红外引导和超声引导的AGV。(3)视觉式 视觉引导式AGV是的迅速发展和比较成熟的AGV,这种AGV配备CCD摄像机,传感器和车载电脑,在车载计算机中设置有AGV欲行驶路径周围环境图像数库。在AGV的行驶过程中,相机得到的图像与图像数据库进行比较,以确定当前位置和车辆周围的图像信息并对驾驶下一步作出决定。这种AGV小车并不需要设置任何的人工物理路径,所以在理论上具有灵活性,在计算机图像采集,存储和处理技术飞速发展的今天,这种类型的AGV实用性越来越强。此外,还有铁磁陀螺惯性引导式AGV、光学引导式AGV等多种形式的AGV。1.1.4智能循迹小车的应用 智能循迹小车发展历史与主要应用场所如下: (1)仓储业 1954年,来自美国南卡罗来纳州的Mercury Motor Freight公司成为第一批把AGV小车的应用到仓库的使用者,来实现出入库货物的自动处理。至今世界上有超过2100个厂家把大约2万台大型或小型的AGV小车应用到自己的仓库中。中国的海尔集团在2000年把9台AGV小车投产到了自己的仓库区,形成一个灵活的AGV自动数据库处理系统,轻松地完成了每天至少33500的储存和装卸货物的任务。 (2)制造业 在制造业的的生产线中AGV小车大显身手,快速,精确,灵活的完成材料的运送任务。由多台AGV小车组成的物流运输处理系统,较人工搬运系统来说更灵活,运输路线可以根据生产过程与时调整,使一条生产线,生产十几个产品,大大提高了生产的灵活性,企业的竞争力。在1974年瑞典的沃尔沃卡尔马的汽车组装厂,提高了运输系统的灵活性,使用以AGV小车为载运工具的装配线,采用该装配线后,减少了20%装配时间、减少了39%组装错误,减少了57%投资资金回收时间以与减少了5%的员工费用。目前,在世界主要的汽车生产厂家,如通用、丰田、克莱斯勒、大众AGV小车已被广泛应用。近年来,作为CIMS(Computer Integrated Manufacturing Systems,直译为基于计算机的现代集成制造系统)的基础搬运工具,AGV已经深入到机械加工,家电制造,微电子制造,烟草等行业,生产业和加工业已成为AGV小车使用最广泛的领域。(3)邮局、图书馆、港口码头和机场 在邮局,图书馆,码头和机场候机楼等人口密集的公众场所,存在着大量的物品的运送工作,充满不定性和动态性强的特点,搬运过程往往也很单一。AGV有着可并行工作、自动化、智能化和处理灵活的特点,可以很好的满足这些场合的运输要求。1983年瑞典的大斯得哥尔摩邮局,1988年日本东京的多摩邮局,1990年中国的邮政相继开始使用AGV小车来完成邮品的搬运工作。在荷兰的鹿特丹港口,50辆被称为“院子里的拖拉机”的AGV小车每天都在把集装箱从船边运送到几百米以外的仓库中。 (4)烟草、医药、化工、食品对于处理一些需要在清洁、安全、无排放污染等其他特殊环境要求的产品生产如烟草、制药、食品、化工等产品时应考虑AGV小车的应用。在全国许多卷烟企业,如颐中集团、红塔集团、红河卷烟厂、卷烟厂,应用激光引导式AGV完成托盘货物的搬运工作。 (5)危险场所和特种行业 在军事方面,以AGV小车为基础有着自动驾驶和检测功能的设备,可用于战场侦察和扫雷,英国军方正在开发MINDER侦察系统,这是一种具有地雷探测、销毁和路线验证能力自动型侦察车。在钢铁厂,AGV小车负责炉料运输,大大降低了工人们的劳动强度。在核电厂的核储存地点使用AGV小车,以避免辐射的危险。AGV小车可在黑暗环境中,准确、可靠的运输物料。第二章 方案设计根据课题要求,确定以下方案:在现有的智能小车的基础上,加上超声波测距器,实现智能小车的速度、位置、运行状况的实时测量,并将测量的数据传至单片机进行处理,然后由单片机根据所测量的各种数据实现对电动车的智能控制。这种方案能实现对电动机运动状态进行实时控制,控制灵活、可靠、精度高,可满足对系统的各项要求。2.1 主控系统根据设计要求,我认为该设计属于多输入的复杂程序控制问题,因此我拟定了以下几种方案,具体如下:方案一:STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。方案二:AVR单片机是 Atmel 公司 1997 年推出的 RISC 单片机。RISC(精简指令系统计算机)是相对于CISC(复杂指令系统计算机)而言的。RISC 并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度的。RISC 优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。由于 AVR 采用了 RISC 的这种结构,使AVR系列单片机都具备了1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。方案三:FPGA是由存放在片RAM中的程序来设置其工作状态的,因此,工作时需要对片的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。方案比较:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能与可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。针对本设计特点多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。根据这些分析,我选定了STC89C52单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源。2.2单片机最小系统2.2.1 STC89C52简介STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Pargramabie and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。图2-1 单片机实物图STC89C52具体介绍如下: 1.主电源引脚(2根) VCC(Pin40):电源输入,接5V电源 GND(Pin20):接地线 2.外接晶振引脚(2根) XTAL1(Pin19):片振荡电路的输入端XTAL2(Pin20):片振荡电路的输出端 3.控制引脚(4根) RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的外部选通,接低电平从外部程序存储器读指令,如果接高电平则从部程序存储器读指令。 4.可编程输入/输出引脚(32根) STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。 PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7 P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7 图2-2 单片机引脚图 STC89C52主要功能如表一所示: 表一 STC89C52主要功能 主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz 2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式低功耗空闲和掉电模式2.2.2 时钟电路STC89C52部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由部方式产生或外部方式产生。部方式的时钟电路如图2-3(a) 所示,在RXD和TXD引脚上外接定时元件,部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。 外部方式的时钟电路如图2-3(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 如图所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(a)部时钟电路(b)外部时钟电路 图2-3 时钟电路2.2.3复位与复位电路(1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表二所示表二复位状态表寄存器复位状态寄存器复位状态PC 0000HTCON00HACC00HTL0 00HPSW00HTH000HSP 07HTL100HDPTR0000HTH100HP0-P3FFH SCON00HIPXX000000BSBUF不定IE 0X000000BPCON0XXX0000BTMOD00H(2)复位信号与其产生 RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。 产生复位信号的电路逻辑如图整个复位电路包括芯片、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到部复位操作所需要的信号。 复位操作有上电自动复位相按键手动复位两种方式。 上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图24(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图24(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。其电路如图24(c)所示:(a)上位电路 (b)按键电平复位 (c)按键脉冲复位图2-4 复位电路 2.3 电机驱动模块采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图2-5)。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术。现市面上有很多此种芯片,我选用了L298N 这种调速方式有调速特性优良、调整平滑、调速围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。 图2-5 H桥式电路2.4 循迹与避障模块采用两只红外对管,分别置于小车车身前轨道的两侧,根据两只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。(参考文献3)采用一只红外对管置于小车右侧。通过测试此种方案就能很好的实现小车避开障碍物,且充分的利用资源而不浪费。(参考文献3)2.5 机械系统 本题目要求小车的机械系统稳定、灵活、简单,而三轮运动系统具备以上特点。 驱动部分:由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。 电池的安装:将电池放置在车体的电机前后位置,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。简单,而三轮运动具备以上特点。2.6电源模块 采用4支1.5V电池单电源供电,但6V的电压太小不能同时给单片机与与电机供电。 第三章 硬件设计3.1总体设计 智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用。将循迹光电对管分别装在车体下的左右。当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。避障的原理和循线一样,在车身右边装一个光电对管,当其检测到障碍物时,主控芯片给出信号报警并控制车子倒退,转向,从而避开障碍物。3.1.1主板设计框图主板设计框图如图3-1,所需原件清单如表3-1图3-1 主板设计框图元件 数量元件数量元件 数量 直流电机2只电阻若干集成电路芯片若干单片机 1 块二极管若干电容若干红外对管3只蜂鸣器1只 电位器 若干12M晶振1只 杜邦线 若干玩具小车1个排针 若干 3.2驱动电路(参考文献4) 小型直流电机专用驱动器,所用芯片L293属于H桥集成电路,其输出电流为1000mA,最高电流2A,最高工作电压36V,可以驱动感性负载,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动小型直流电机时,可以直接控制两路电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。本模块具有体积小,控制方便的特点。采用此模块定会使您的电机控制自如,应对小车题目轻松自如。驱动原理图如图3-2。 图3-2 电机驱动电路 3.3信号检测模块 小车循迹原理是小车在画有黑线的白纸 “路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”黑线。笔者在该模块中利用了简单、应用也比较普遍的检测方法红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,不断地向外发射红外光,当红外光遇到白色障碍物时发生漫反射,反射光被与之相对的接收管接收;如果遇到黑色物体则红外光被吸收,接收管接收不到红外光。将接收管的结果送给单片机。单片机就是否收到反射回来的红外光为依据来进行相应的处理。根据它的特性可以用于智能小车的寻迹或避障。红外对管白色为发射管,长引脚为正极,接高电位。黑色为接收管,长引脚接地,短引脚接高电位.电路图如图3-3。 图3-3 循迹原理图 3.4主控电路 本模块主要是对采集信号进行分析,同时给出PWM波控制电机速度,起停。以与再检测到障碍报警等作用。其电路图如图图3-4 主控电路 第四章 软件设计4.1程序功能描述与设计思路 进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件更为重要。4.1.1程序功能与设计思路 1、当单片机接收到光电开关与避障信号后,控制电机左转右转,实现循迹。2、编制程序使单片机驱动超声波检测模块检测前方小车距离,调整后车的 车速。 3、光电开关程序实现两小车之间的相互通信,实现超车、领跑功能。4.1.2程序设计思路1、循迹转弯设计思路当左右两边光电开关都接收到检车信号时,两光电开关都输出低电平,小车 直行;当左右光电开关分别为接收不到信号、接收到信号时,左右光电开关分别输出高、低电平,小车右拐;当左右光电开关分别为接收到信号、接收不到信号时,左右光电开关分别输出低、高电平,小车左拐。当检测到拐弯标志时,输出为高电平,并实现对标志线计数功能,作为小车起始、拐弯、超车标志,实现小车的起始、拐弯与超车。4.2程序流程图 1、主程序流程图如图所示图4-1主流程图2循迹子程序流程图如图所示图4-2循迹子程序流程3.单片机系统流程图如图所示4-3单片机系统流程图第五章 调试与总结5.1 调试5.1.1 调试工具仪器名称用途电脑调试与下载程序 数字万用表测量各种电路工作情况5.1.2调试过程我们尝试着先用STC89C52来控制小车的跑马灯,结果实验成功。证明单片机运转正常。然后尝试寻迹,结果试验成功,小车能正常的跑动起来。这个小试验,是为了检测小车的机械性能。达到了我们预期目的。主板通电前检查:电路安装完毕,我们首先直观检查电路各部分生产线是否正确,检查电源、地线、信号线、元器件引脚之间有无短路,器件有无接错。 通电检查:给电机通电,观察电机是否工作正常。电机正常工作时,后驱工作电流为320 mA,电压为5.4V;前驱电机工作电流为180mA,电压为5.41V。给主板通电,观察电路各部分器件有无异常现象。主板安装调试,在调试的过程中我们发现了原理图中有一个小小的错误。这个错误导致小车的稳压芯片过热。一起讨论之后决定,修改原理图,调换小车驱动芯片的位置。改动之后,小车电源稳压芯片过热现象消失。小车也能实现了基本的功能。在调试的过程中却发现小车不停车,经过了几天的努力,终于发现了问题的所在,原来时程序设计有误。改正后调试,终于也能实现了循迹功能。5.2 总结 本设计方案按照任务书的要求,以51单片机为控制核心,结合无线遥控模块、红外对管寻迹模块、红外线避障模块和电机控制模块实现小车的自动寻迹功能,自动避障功能,无线遥控和语音控制功能。基本完成各项指标,实现小车的智能化行驶。 系统是通过软硬结合的方式,得到硬件检测信号后输入单片机各个对应的I/O接口,通过汇编程序控制过程,小车由遥控启动后,自动寻迹,并不断检测遥控、避障和语音信号,只要得到其中任何一种信号都将转入它们对应的功能模块,实现有效控制 由于时间不足以与客观多方面的困难,整个小车相比任务书中的要求已经简化的比较多,伴随着也出现多个地方的不足:不过,这些一定的不足极大激发了我的兴趣,不断改进完善小车:遥控达到以上功能外还将加入速度控制,停启等,同时也可以加入里程计算显示或则其他温度、湿度、气压的控制检测等多方面的功能,达到智能机器人的效果。这些也需从工作中学习实现,让自己更上一个台阶。致论文完成之际,谨向xxx老师致以最诚挚的感,本人在做设计期间,本文的研究工作从始至终都得到了老师的热心指导和关心,多次寻找相关资料,为我指点迷津,帮助我开拓思路。老师以其严谨的治学态度,高度的敬业的精神,兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生重要影响。她渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。同时肖老师致力要求我自己独立完成设计,培养我以后做事的独立性。 持续几个月的忙碌,本次毕业设计已经接近尾声,虽然不是特别完美,但它凝聚了多方的心血,作为一个专科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,同学们的支持合作,想要完成这个设计是难以想象的。和他们的接触与沟通不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理。 在此深深的感老师,以与指导,关心和帮助的同学和朋友,感你们使得我不断的在学习中进步,成长。最后感在百忙之中抽出时间评阅论文的各位老师和学者,由于知识水平有限,错误在所难免,恳请各位老师批评指正。 参考文献1全力.单片机控制技术与应用M:电子工业,20042红.卫基于单片机的智能系统设计与实现.电子工业,2005.3郭惠,吴迅.单片机C语言程序设计完全自学手册M.电子工业,2008.10:1-200.4 何立民,单片机技术的现状与未来J,中国计算机报,1995No305靳桅,育山, 邬芝权.单片机原理与应用C51编程技术M,西南交通大学, 2004. 3 6建宁,单片机对步进电机升降速控制M,中小型电机, 19977瀚霖等,智能小车研究与设计,刊期论文科技致富向导,2011年26期8郁有文,常健 传感器原理与工程应用. :电子科技大学,2008.7附录电机驱动程序void goahead() s1=1; s2=0; s3=1; s4=0void goback() s1=0; s2=1; s3=0; s4=1; void turnleft() s3=1; s4=0; void turnright() s1=1; s2=0; void stop()en1=0; en2=0; 循迹程序:void xunji() if(left_red=1)&(right_red=1) en1=1; en2=1; goahead(); delay(150);en1=0;en2=0;delay(50); else if(left_red=0)&(right_red=1) en1=0; en2=1; P0_0=!P0_0; turnleft(); delay(150); en1=1; en2=0; delay(50); else stop();