智能小车的遥控单元设计论文.doc_第1页
智能小车的遥控单元设计论文.doc_第2页
智能小车的遥控单元设计论文.doc_第3页
智能小车的遥控单元设计论文.doc_第4页
智能小车的遥控单元设计论文.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

邯郸学院本科毕业论文(设计)题 目 智能小车的遥控单元设计学 生 韩林林指导教师 李俊峰 讲师年 级 2012级专 业 电气工程及其自动化二级学院 机电学院(系、部)邯郸学院机电学院(系、部)2016年4月郑重声明本人的毕业论文(设计)是在指导教师李俊峰老师的指导下独立撰写完成的。如有剽窃、抄袭、造假等违反学术道德、学术规范和侵权的行为,本人愿意承担由此产生的各种后果,直至法律责任,并愿意通过网络接受公众的监督。特此郑重声明。 毕业论文(设计)作者(签名):韩林林 2016年 4月 27日智能小车的遥控单元设计摘要随着工业自动化的不断发展,计算机、微电子、信息计算的快速升级,各个领域的相互融合与促进,导致智能化技术开发加快,智能度的空前提升,在工业、生活、军事、医疗等多个领域应用范围也得到快速扩展。智能成为现代产品的新标志,是以后发展的方向。智能小车是智能产品的一个体现,设计人员可以运用软件编程实现小车的前进、停止、循迹等精确控制,属于智能机器人一种。本设计针对智能小车的遥控部分进行了研究与设计。本设计采用AT89C51单片机、直流电机驱动电路、红外遥控电路集成一体化的传感器集成体设计而成,从而进一步掌握红外遥控技术。本文设计主要包括小车的硬件电路设计和软件编程设计两部分,介绍了其设计与开发过程。智能小车总系统采用模块化设计思想,主要核心分为:红外遥控模块、电机驱动模块、车速控制模块。小车的运动过程为:使用者使用红外遥控器控制智能小车的前进、后退、左右转向、启动与停止。关键词:红外遥控 51单片机 直流电机驱动Smart car remote control unit designAbstractWith the continuous development of industrial automation, computer, microelectronics, information to calculate the rapid upgrade, all areas of fusion and promote each other and lead to intelligent technology development is accelerated, the intelligent degree of unprecedented ascension, in the industrial, life, military, medical and other fields application areas have been rapidly expanding. Intelligent become a new symbol of modern products, the developing direction of the future. Intelligent car is a reflection of intelligent products, designers can use the software programming to realize the car forward, stop, tracking precision control, belongs to a kind of intelligent robot.This design for the remote control of intelligent car part has carried on the research and design.This design USES AT89C51, dc motor drive circuit, infrared remote sensor integration design of integrated circuit integration, so as to further grasp the infrared remote control technology. This design mainly includes the car design of hardware circuit and software programming design of two parts, the design and development process are introduced. Smart car total system adopts modular design thought, main core is divided into: infrared remote control module, motor drive module, the speed control module. The movement process is: the users of the car infrared remote control of the intelligent car forward, backward, turn left, start and stop.KEY WORDS: Infrared remote control 51 single chip microcomputer Dc motor drive44目 录前言随着高新科技的日益发展,科技在方方面面占据了很大的比重。人类的活动从地球的生物圈深海到太阳系的星系探测活动。智能遥控小车在这些方面发挥着巨大的作用。在地球的深海,巨大的压强与缺氧黑暗环境;在宇宙中的星系探测,缺氧与各种辐射环境,这些都限制了人的活动。但是智能小车可以代替人完成这些活动。各国在智能小车的科研中都施加了很大的力度,在各大高校中也有相关的小车比赛。可见智能小车已在社会各个方面都具有很大的作用。本文是研究智能小车的遥控系统,将复杂的系统采用模块化设计,分成红外遥控模块、红外接收模块与电机驱动模块。先设计出硬件电路的设计工作,在画出程序流程图并做出程序,最后在仿真成功后做出实物小车。通过本次课设,不仅可以检验我的专业知识,还能锻炼我独立完成任务的能力,进一步了解现代智能小车的遥控系统。1 绪论1.1 设计背景和意义早就在1962年,美国就研制出世界上第一台工业用途机器人,比起号称机器人王国的日本起步至少要早五六年。70年代是世界科技发展的一个新里程碑:人类登上星空中的月球,实现在在太阳系中金星和火星的软着陆.我国也发射了第一颗人造地球卫星。随着微型计算机和控制系统的开发,工业机器人走向了实用化,扩大了它的应用范围。80年代是国际高技术竞争的年代,实现了在太空行走、炼钢,可乘坐航天飞机和无人驾驶地铁列车,并且随着32位微型计算机的出现,机器人技术进入了一个智能新阶段。上世纪90年代,以微电子技术为代表的高科技技术渗透进各个领域,机器人已普及应用于柔性自动化生产系统中,智能机器人已走向实用化。随着工业自动化的不断发展,计算机、微电子、信息计算的快速升级,各个领域的相互融合与促进,导致智能化技术开发加快,智能度的空前提升,在工业、生活、军事、医疗等多个领域应用范围也得到快速扩展,机器人的发展已经遍及机械、社会服务、娱乐、电子、冶金、交通、工农业生产、军事、宇航、国防、海洋开发、宇宙探测、等领域。器人的智并且飞速地改变着人们的生活方式。智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科。主要由路径识别、角度控制及车速控制等功能模块组成。同时,当今机器人技术发展势头高涨,其应用在国防等众多领域得到广泛开展。世界各国在微型智能车领域进行了大量研究,己经应用于各个领域,在航天探测和军事领域使用特别多。近年来,我国也开展了大量的研究工作,以满足不同用途的需要。世界各国开发、研制星球探测车系统己经有了多年的历史。1961.4.12 前苏联宇航员加加林乘“东方一号”飞船上天,成为世界航天第一人。1969.7.21 格林尼治时间3时15分,飞船的登月舱在月球降落,阿姆斯特朗第一个踏上月球。2003年10月15日 中国发射神州五号飞船,载航天员杨利伟到太空飞行21小时后返回地面。中国成为世界上第三个实现载人太空飞行的国家。 2004年8月3日 美国发射信使号探测器,开始飞赴水星考察。2005年10月12日 中国载2名航天员的神州六号飞船发射升空,在太空遨游5天后返回地面,标志中国载人航天技术又迈进了新的重要的一步。2014年10月22日,我国探月工程将首次实施载人返回飞行试验,飞行试验器计划于10月24日至26日择机在西昌卫星发射中心发射。人类的研究活动现在已经摆脱了地球的束缚而广泛地进入生物圈外层空间和海洋深处。对月太阳系的他行星及其月球的探测,对太阳系以外的宏观宇宙进行考察,对数千米以下的海底的研究,都是目前单靠人力所不能及的。智能控制小车正在代替人们完成这些任务。在未来战场上的军事活动中,在恶劣环境条件下的生产劳动中,凡是不宜由人直接承担的任务,都可以由智能控制系统代替,如智能小车可以适应不同环境,不受温度、湿度等条件的影响,完成危险地段、人类无法介入等特殊情况下的任务。高科技智能自动控制系统及装置已日益成为现代社会活动中离不开的自动智能设备。 一些发达国家现已把智能机器人制作大赛作为科技创新教育的战略性手段。如日本每年都要举行诸如“NHK杯大学生机器人大赛”、“全日本机器人相扑大会”、“机器人足球赛”等各种类型的机器人制作比赛,参加者大多数为学生,目的在于通过大赛全面培养学生的动手能力、创造能力、合作能力和进取精神,同时也普及智能机器人的知识。从某种意义上来说,机器人技术反映了一个国家综合技术实力的高低,而智能电动小车是机器人的雏形,它的控制系统的研制将有助于推动智能机器人控制系统的发展,同时为智能机器人的研制提供更有利的手段。另一方面,由于单片机的自生优势使其应用领域越来越广泛,无论是在生活,生产上,单片机无处不在。ATMEL公司的AT89S51单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AT89S51可以说是单片机领域的主流产品,其应用如此广泛,所以有必要去学习和应用该单片机,以满足实际产品开发的需要,也是适应社会智能化、自动化的趋势。通过构建智能小车系统,培养设计并实现自动控制系统的能力。在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测、驱动和显示等外围电路,采用智能控制算法实现小车的智能循迹。灵活应用机电等相关学科的理论知识,联系实际电路设计的具体实现方法,达到理论与实践的统一。在此过程中,加深对控制理论的理解和认识。本设计对智能小车进行研究,主要是设计其遥控部分。1.2 国内外的研究现状世界上成规模的巡线智能车比赛最早起源于日本,由社团法人全国工业高中协会等主办,日本瑞萨科技赞助的日本超级MCU模型车大赛(JMCR,JapanMicomCarRally)自1996年开始每年都会进行。该项赛事的规模年年都在扩大,从公司职员、大学生、高中生、到中小学生,参加者不断增多,在培养日本的电子技术人员成长和动手能力上做出了巨大贡献。截至2009年,在日本超级MCU模型车大赛中,模型车在300mm宽的赛道上已经可以达到平均速度3.8-4m/s,最高速度接近5m/s,且从赛道的制作,赛车的制作等方面都达到相当高的水平。日本超级MCU模型车大赛从平均速度,赛道难度,比赛的观赏性上、比赛规模、比赛质量上均为全球类似巡线智能车比赛的顶级水平。DARPA大奖赛(TheDARPAGrandChallenge)是一项由美国国防高级研究计划局(DefenseAdvanceResearchProjectAgency)赞助的,旨在推动无人驾驶车辆导航创新的一项比赛。此项比赛的目的是开发出一种能自主行驶地到达指定目的地的越野型移动机器人。自2004年来DARPA大奖赛共举办3届,最高奖金可达200万美元,第一届没有一支队伍完成130多英里的极其复杂的沙漠赛段;第二届比赛,斯坦福大学的参赛车辆“Stanley”成为最后赢家,以6小时54分完成全程;第三届比赛主题为“城市挑战”,更加有挑战性,不仅有各种复杂的野外赛段,而且还有城市赛段,参赛车辆要像有人驾驶一样,遵守城市交通规则。最终获胜队伍来自卡内基梅隆大学。与巡线智能车比赛相比,DARPA大奖赛是真正的智能汽车大赛,最大限度接近真实世界的情况,通过该项比赛所产生的成果将对人类的未来产生深远影响。这几年,智能小车的研究是我国的高校大学生热点研究的项目。全国大学生“飞思卡尔”杯智能汽车竞赛起源于韩国,是韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办的以HCS12单片机为核心的大学生课外科技竞赛。为加强大学生实践、创新能力和团队精神的培养,促进高等教育教学改革,受教育部高等教育司委托(教高司函2005201号文,附件1),由教育部高等学校自动化专业教学指导分委员会(以下简称自动化分教指委)主办全国大学生智能汽车竞赛。自2006年首届在清华大学举办以来,已在国内各大高校成功举办十一届,得到了教育部吴启迪副部长、张尧学司长及理工处领导、飞思卡尔公司领导与各高校师生的高度评价,已发展成全国30个省市自治区200余所高校广泛参与的全国大学生智能汽车竞赛。IEEE国际标准电脑鼠走迷宫竞赛,意指培养在校大学生的科技创新意识和动手设计能力,2009年开始举办,已成功举办三届。2007年9月开始在广州周立功单片机发展有限公司的赞助下,中国嵌入式系统学会组织上海市、江苏省、浙江省30多所高校连续举办了两次联赛。2009全国“电脑鼠标走迷宫”总决赛于11月8日在北京航空航天大学举行。我国从20世纪80年代开始进行无人驾驶汽车的研究,国防科技大学在1992年成功研制出我国第一辆真正意义上的无人驾驶汽车。我国自主研制的无人车由国防科技大学自主研制的红旗HQ3无人车,2011年7月14日首次完成了从长沙到武汉286公里的高速全程无人驾驶实验,创造了我国自主研制的无人车在复杂交通状况下自主驾驶的新纪录,标志着我国无人车在复杂环境识别、智能行为决策和控制等方面实现了新的技术突破,达到世界先进水平。2012年11月24日,军事交通学院猛狮3号(JJUV-3)从北京台湖收费站出发,沿着京津高速一路飞奔,85分钟后安全到达天津东丽收费站。根据国家自然科学基金委和北京理工大学有关专家现场宣布的测试结果,该无人驾驶智能车全程行驶114公里,最高时速105千米,共完成12次自主超车,36次换道操作,30次刹车操作。“军交猛狮号”无人驾驶车到目前为止已经完成了一万多公里测试,最高时速曾达到120公里。1.3 设计的内容与目的本设计采用AT89C51单片机、直流电机驱动电路、红外遥控电路集成一体化的传感器集成体设计而成。本文设计主要包括小车的硬件电路设计和软件编程设计两部分,介绍了其设计与开发过程。智能小车总系统采用模块化设计思想,红外遥控智能小车遥控部分可以分为三大组成部分:红外遥控模块、电机驱动模块、车速控制模块。本设计是要实现红外遥控器控制智能小车的前进、后退、左右转向、启动与停止,最后并作出实物。主要通过对小车系统硬件电路的设计,以及软件设计和遥控程序的编写,然后根据小车硬件电路图和软件部分设计,在计算机软件中仿真出小车系统设计结果。本设计不仅能让学生灵活应用机电等相关学科中所学的的理论知识,并且联系实际电路设计的解决实际问题具体方法,使其达到理论与实践的统一。在完成毕业设计过程中,加深对控制理论的理解和认识。并且随着现代汽车工业的快速发展,关于汽车的智能研究也就越来越受到人关注。全国大学生电子竞赛和省内大学生电子竞赛几乎每次都有智能遥控小车这方面的题目,全国各高校也都十分积极举办竞赛并重视该题目的研究,培养学生对综合知识的应用能力是至关重要的。2 总体方案设计及其论证2.1 小车系统的总体方案设计该智能小车系统以AT89C51单片机为核心的智能控制电路,应用模块化的设计方案,使用红外遥控器替换开关按键实现智能控制小车的启动与停止,左转、右转、前进、后退等功能。设计方案分成了几大模块,分别是:以单片机为核心的智能控制系统模块、红外遥控模块(包括红外发射、红外接收)、直流电机驱动模块和方向控制模块。各个模块相互独立又相互协调配合运作,达到智能控制小车的目的。总体方案设计采用模块化设计,使原先庞大的混合系统使其分开独立,但是又协调运作,达到了简化简明的目的,变相缩小了设计的范围。系统控制整体框架如下图:2.2 核心智能控制系统模块该智能小车系统以AT89C51单片机为核心的智能控制电路,根据本课题的设计需要,有以下2种方案,可以根据需要选择:方案一:采用ARM处理器作为核心进行数据处理,虽然ARM处理器处理数据比较迅速,并且自身端口比较多,可以同时处理多个任务。但是价格比较昂贵,增加了本设计制作的费用,学习入门比较困难,熟练掌握比较困难,还有就是小车运动过程中,需要处理的数据量不是很大,过多的端口控制反而不利于便捷控制。方案二:采用AT89C51单片机,ROM是1*4K,RAM是128b,AT89C51能完全满足本设计要求,且AT89C51单片机比较普及,有关这方面的图书和教材比较多,所学的专业知识有所涉及,便于学习易于掌握,通用灵活、使用方便,价格便宜等优点。针对本课题特点多开关量输入输出的复杂程序智能控制系统,需要擅长处理多开关量的标准单片机,所以我选定了AT89C51单片机作为本课题的核心控制装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达4K,对于本课题也足够用,另外一点是51单片机价格低廉,节约了成本,比较适合实验所用。2.3 红外遥控模块根据本课题设计的特点及其要求,遥控部分我选用的是红外遥控模块。红外遥控是一种无线、非接触控制技术,利用红外线来传递数据。自上世纪60年代开始至今,红外遥控技术发展以相对比较成熟,它具有抗干扰能力强,信号传输可靠,自身功耗低,成本廉价,易实现等显著优点,但是也有传输距离近的缺点,但是结合本课题的特点与要求,智能小车的控制距离不是很远,所以红外遥控完全满足要求。红外遥控模块又可以划分为:红外发射模块、红外接收模块、接口电路。红外遥控系统采用编/解码专用集成电路与单片机来实行控制操作。红外遥控发射端用来产生遥控编码脉冲,进而驱动红外发射管发出红外遥控信号,遥控接收头接受遥控信号,并将信号进行放大、检波、整形、解调步骤,得到遥控编码脉冲。遥控编码脉冲是一组串行二进制码,再讲此串行码输入到51单片机,由其内部CPU完成对遥控指令解码,并执行相应的遥控功能实现对电机驱动的控制从而控制小车的行驶。红外遥控模块框架如下图:2.4 直流电机驱动模块51单片机接收到传输过来的遥控编码,内部CPU完成解码,之后实现对电流的控制,从而驱动电机运作,达到小车运动的效果。电机采用有L298电机,电机驱动模块采用功率三极管作为功率放大器的输出端口控制直流电机。电路采用线性型驱动,此电路结构和原理简单,加速能力强,并且使用由达林顿管组成的H型桥式电路。用单片机智能控制达林顿管使之工作在占空比可调的开关状态下,达到精确调整电动机转速。这种电路因为工作在管子的饱和截止模式下,所以效率非常高,H型桥式电路保证了电机简单的实现转速和方向的控制,电子管的开关速度很迅速,稳定性也极强,是一种广泛采用的PWM调速技术。现市面上有很多此种芯片,因此选用L298。这种电机调速方式的优点为:优良的调速特性、调整十分平滑、调速范围较广、乘载能力大,可以承受频繁的负载冲击,还能实现频繁的无级快速启动、制动、正反转操作、左右转向。3 系统硬件电路的设计3.1 核心智能控制系统模块3.1.1 AT89C51单片机3.1.1.1 主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位的内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路3.1.1.2 管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.1.1.3 振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.114单片机 I/O 口模拟串行通信的实现方法目前普遍采用的 MCS51 和 PIC 系列单片机通常只有一个(或没有)UART异步串行通信接口,在应用系统中若需要多个串行接口(例如在多机通信系统中,主机既要和从机通信又要和终端通信)的情况下,通常的方法是扩展一片 8251 或 8250 通用同步/异步接收发送芯片(USART),需额外占用单片机 I/O 资源。本文介绍一种用单片机普通 I/O 口实现串行通信的方法,可在单片机的最小应用系统中实现与两个以上串行接口设备的多机通信。3.1.1.4 串行接口的基本通信方式 串行接口的有异步与同步两种基本通信方式。异步通信采用用异步传送格式,如图 1 所示。数据发送和接收均将起始位和停止位作为开始和结束的标志。在异步通信中,起始位占用一位(低电平),用来表示字符开始。其后为 7 或 8 位的数据编码,第 8 位通常做为奇偶校验位。最后为停止位(高电平)用来表示字符传送结束。上述字符格是通常作为一个串行帧,如无奇偶校验位,即为常见的 N.8.1 帧格式。串行通信中,每秒传送的数据位称为波特率。如数据传送的波特率为1200 波特,采用 N.8.1 帧格式(10 位),则每秒传送字节为 120 个,而字节中每一位传送时间即为波特率的倒数:T=I/1200=0.833ms。同样,如数据传送的波特率为 9600 波特,则字节中每一位传送时间为 T=1/9600=0.104 ms。根据数据传送的波特率即字节中每一位的传送时间,我们便可用普通 I/O 口来模拟实现串行通信的时序。89C51 单片机通过普通 I/O 口与 PC 机 RS232 串口实现。由于 PC 系列微机串行口为 RS232C 标准接口,与输入、输出均采用 TTL 电平的 89C51 单片机在接口规范上不一致,因此 TTL 电平到 RS232 接口电平的转换采用 MAXIM 公司的 MAX232 标准RS232接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑“1”(-3V15V)和逻辑“0”(+3V15V)的电平转换。图中 89C51 的 P1.0模拟发送端,P1.1 模拟接收端。软件设计中,89C51 单片机的 P1.0 和 P1.1 口分别模拟串行通信的发送和接收,其接口程序主要由 INPUT 发送子程序和OUTPUT 接收子程序组成。通信速率 1200 bit /s,帧格式为 N.8.1。发送时,先发送一个起始位(低电平),接着按低位在先的顺序发送 8 位数据,最后发送停止位。接收时,先判断 P1.1 接收端口是否有起始低电平出现,如有则按低位在先的顺序接收 8 位数,最后判断 P1.1 口是否有停止高电平出现,如有则完成一个数据接收,否则继续等待。其中软件编写要严格按照异步通信的时序进行,每 bit 位传送时间间隔按通信速率 1200 bit /s 计算为 833s。其模拟串行通信程序清单见下,系统要求单片机晶振为 6M。程序清单如下:TXD EQU P1.0RXD EQU P1.1 ;定义 89C51 P1.0 为发送端,P1.1 为接收端ORG 0000HAJMP MAINORG 0100HMAIN: MOV A, #30HMOV R5,#NSETB RXD ;P1.0 置高TX: LCALL INPUT ;调用发送子程序,将寄存器 A 中内容发给 PC 机;SETB TXD ;P1.1 置高MOV R0,#40HRX: LCALL OUTPUT ;调用接收子程序,将接收的 N 个数据存放在以 40H 开始的地址中MOV R0,AINC R0DJNZ R5, RX ;N 个数据接收结束,则等待,否则转 RX 继续接收3AJMP $;*延时 833s 子程序*DEL833: MOV R7 ,#205MS11: DJNZ R7,MS11RET; *;* 89C51 发送数据给 PC 机子程序*INPUT: CLR CMOV TXD,C ;发送起始位LCALL DEL833 ;延时MOV R3,#8REP: RRC AMOV TXD ,CLCALL DEL833DJNZ R3,REP ;发送 8 位数据SETB C ;发送停止位MOV TXD,CLCALL DEL833RET;*从 PC 机接收数据子程序*OUTPUT: JB RXD, $ ; 判断是否有起始位出现LCALL DEL833MOV R3,#8OUT: MOV C ,RXDRRC ALCALL DEL833DJNZ R3,OUT ; 接收 8 位数据JNB RXD ,$ ; 判断是否有停止位出现RET3.1.2 单片机工作电路AT89C51单片机有4KB的FlashROM(闪存)作为内部程序存储器(ROM),因此用这种芯片构成的最小应用系统简单、可靠。用AT89C51单片机构成最小应用系统时,只需将单片机接上时钟电路和复位电路即可。该最小应用系统具有以下特点:(1)有可供用户使用的大量I/O线。P0、Pl、P2、P3都可作为用户I/O口用,由于没有外部存储器扩展EA应接高电平。(2)内部存储器容量有限只有4KB的地址空间。当内部程序存储器不够用时。就需要扩展外部程序存储器。AT89C51单片机内部RAM容量很小,当单片机需要存放大量数据时就必须扩展外部数据存储器。此外AT89C51单片机的I/O口数量和功能很有限。也常常要扩展外部接口芯片。在本电路不需要太多的I/O口。且内部程序存储器也够用,所以不用扩展外部数据存储器和外部接口芯片。其电路图如下: 3.1.3 时钟电路时钟电路就是产生像时钟一样准确的振荡电路。AT89C51内部有一个用于构成片内振荡器的高增益反相放大器,振荡器产生的信号送到CPU,作为CPU的时钟信号驱动CPU产生执行指令功能的机器周期。引脚XTAL1和XTAL2是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器。时钟电路的连接如图图中外接石英晶体(或陶瓷谐振器)以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容C1和C2的值虽然没有严格的要求,但电容的大小多,会影响振荡器频率的高低、振荡器的稳定性、起振圈内部振荡器的接法的快速性和温度稳定性。外接石英晶体时,C1和C2一般取(30pF10pF);外接陶瓷谐振器时。C1和C2一般取(40pF10pF)。外接的是石英晶体,所以C1、C2选择标称值30pF。3.1.4 复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态。并从这个状态开始工作。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。89系列单片机的复位信号是从RST引脚输入到芯片的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后。如果RST引脚有高电平并维持2个机器周期(24个振荡周期)则CPU就可响应并且将系统复位。复位电路由两部分组成,电容和电阻。当系统通电时VCC上电压从无到有在RESET处会先处于高电平一段时间,然后由于该点通过电阻接地则RESET该点的电平会逐渐的改变为低电平,从而使得单片机复位口电平从1到0,达到给单片机复位的功能。上电复位:上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。手动复位:首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。单片机复位电路图如图:3.2 红外遥控模块3.2.1 红外遥控技术实现原理红外遥控的实现方法主要是怎样用编程来分析位0和位1。高电平脉冲后的低电平脉宽的区别确定了位0和位1的不同,采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图3所示。有一点必须要注意的是,遥控芯片输出的波形,接收端在接收到信号时是取反的,如图5所示,也就是说接收端输出波形正好和遥控芯片输出的相反。图4就是其中一段引导码和自定义码发射端和接收端的波形3。图3和图4就是其中一段引导码和自定义码遥控信号的编码波形图。遥控编码是32位连续的二进制码组,其中前16位为用户识别码,用来区别不同的电器设备,避免不同设备的编码组相互影响。芯片厂商把用户识别码固定为十六进制的一组数;后16位为8位操作码(功能码)及8位操作码(反码)。如何识别“0”和“1”也是解码的关键,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区来区别位0和位1。若从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,若反之超过0.56ms后才读到低电平则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右即可。根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。红外遥控的实现主要是如何用程序去分析位0和位1。位0和位1所不同之处就是在高电平脉冲后的低电平脉宽不一样,采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。解码的关键也是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”, 为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。根据码的格式,应该等待9ms的起始码和4.5ms的结束码完成后才能读码。红外遥控系统主要分为调制、发射和接收三部分。红外遥控芯片将红外码调制成合适的脉冲信号经红外发射二极管发射红外编码后由红外接收器把接收到的信号处理后输出给单片机。红外遥控的流程图如图所示。系统的功能实现方法3.3.1遥控码的编码格式该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲。为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控码数据帧间隔大于10ms.3.2遥控码的发射采用的是89C2051芯片。用P1口组成键盘,获取键值,用内部的定时器1产生一个40KHz的软件定时中断,当作红外线的调制基波,当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成40kHz方波由红外线发光管发射出去。P3.5端口的输出调制波如图33所示.3.3数码帧的接收处理当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在数据帧接收时,将对第一位(起始位)码的码宽进行验证。若第一位低电平码的脉宽小于2ms,将作为错误码处理。当间隔位的高电平脉宽大于3ms时,结束接收,然后根据累加器A中的脉冲个数,执行相应输出口的操作。图34就是红外线接收器输出的一帧遥控码波形图。解码方法1)设外部中断0为下降沿中断,定时器0为16位计时器初始值均为O。2)第一次进入遥控中断后,开始计时。3)从第二次进入遥控中断起,先停止计时。并将计时值保存后,再重新计时。如果计时值等于前导码的时间,设立前导码标志。准备接收下面的一帧遥控数据,如果计时值不等于前导码的时间,但前面已接收到前导码,则判断是遥控数据的O还是1。14)继续接收下面的地址码、数据码、数据反码。5)当接收到32位数据时,说明一帧数据接收完毕。此时可停止定时器的计时,并判断本次接收是否有效,如果两次地址码相同且等于本系统的地址,数据码与数据反码之和等于0FFH,则接收的本帧数据码有效。否则丢弃本次接收到的数据。6)接收完毕,初始化本次接收的数据,准备下一次遥控接收。3.2.2 红外发射器 该电路的主要控制器件为遥控器芯片HT6221。HT6221是Holtek公司生产的多功能编码芯片,采用PPM(PulsePositionModulation)进行编码,1.12ms为0,2.24ms为1。HT6221能编码16位地址码和8位数据码,最多能同时支持32个开关键。HT6221键码的形成:当一个键按下超过36ms,振荡器使芯片激活,如果这个按键按下且延迟大约108ms,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms18ms),高8位地址码(9ms18ms),8位数据码(9ms18ms)和这个8位数据码的反码(9ms18ms)组成,如果按键按下超过108ms仍未松开,接下来发射的代码将仅由起始码(9ms)和结束码(2.5ms)组成。按照下图的接法,K1K8的数据码分别为:0 x00,0 x01,0 x02,0 x04,0 x05,0 x06,0 x07。红外遥控发射器电路图如图3.6所示。HT6221将红外码调制成38KHZ的脉冲信号通过红外发射二极管发出红外编码。图3.6中D1是红外发射二极管,D2是按键指示灯,当有按键按下时D2点亮。各个开关的功能分别为:K1停止;K2右转;K3左转;K4启动;K5加速;K6循迹;K7制动;K8后退。据码(9ms18ms)和这个8位数据码的反码(9ms18ms)组成,如果按键按下超过108ms仍未松开,接下来发射的代码将仅由起始码(9ms)和结束码(2.5ms)组成。按照下图的接法,K1K8的数据码分别为:0 x00,0 x01,0 x02,0 x04,0 x05,0 x06,0 x07。红外遥控发射器电路图如图3.6所示。HT6221将红外码调制成38KHZ的脉冲信号通过红外发射二极管发出红外编码。图3.6中D1是红外发射二极管,D2是按键指示灯,当有按键按下时D2点亮。各个开关的功能分别为:K1停止;K2右转;K3左转;K4启动;K5加速;K6循迹;K7制动;K8后退。3.2.3 红外接收器红外接收电路通常被厂家集成在一个元件中,成为一体化红外接收头。内部电路包括红外监测二极管,放大器,限幅器,带通滤波器,积分电路,比较器等。红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。交流信号进入带通滤波器,带通滤波器可以通过30KHZ到60KHZ的负载波,通过解调电路和积分电路进入比较器,比较器输出高低电平,还原出发射端的信号波形。注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度。该模块使用红外接收头1838,有三个引脚,包括供电脚,接地和信号输出脚。其电路如图3.7所示。瓷片电容104为去耦电容,滤除输出信号的干扰。1端是解调信号的输出端,直接与单片机的P3.2口相连。有红外编码信号发射时,经红外接头处理后,输出为检波整形后的方波信号,并直接提供给单片机,执行相应的操作来达到控制电机的目的。 图3.8红外接收电路图3.3 电机驱动模块该模块主要芯片L298,其可以同时控制两个电机的正反转,以及改变电机的转速,足以满足设计要求。其产品参数如下:1.驱动芯片:L298N双H桥直流电机驱动芯片。2.驱动部分端子供电范围Vs:5V12V;如需要板内取电,则供电范围Vs:+6V+12V。3.驱动部分峰值电流Io:2A。4.逻辑部分端子供电范围Vss:5V7V(可板内取电5V)。5.逻辑部分工作电流范围:036mA。6.控制信号输入电压范围(IN1IN2IN3IN4):低电平:0.3VVin1.5V;高电平:2.3VVinVss。7.使能信号输入电压范围(ENAENB):低电平:0.3Vin1.5V(控制信号无效);高电平:2.3VVinVss(控制信号有效)。8.最大功耗:20W(温度T75时)。9.存储温度:25130。10.驱动板尺寸:55mm*45mm*33mm(带固定铜柱和散热片高度)。12.其他扩展:控制方向指示灯、逻辑部分板内取电接口。L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。L298芯片是一种高压、大电流双全桥式的驱动器。其中SENSEA、SENSEB分别为两个H桥的电流反馈脚,不用时可以直接接地。VCC,VS是接电源引脚,电压范围分别是4.57V、2.546V,设计中VCC端与单片机电源端共用5V工作电源,VS端接12V电源。ENA,ENB为使能端,低电平禁止输出。IN1,IN2,IN3IN4为数据输入引脚,分别于单片机的P1.0、P1.1、P1.2、P1.3连接,从单片机内输入控制信号。OUT1,OUT2、OUT3,OUT4为数据输出引脚,分别接电动机MG1和MG2。通过调节IN1,IN2,IN3,IN4之间输入的高低电平的变化来实现电动机MG1和MG2的正反转动,从而实现小车的前进、后退、左转和右转等功能。当IN1输入低电平时,电机MG1正转;当IN2输入低电平时,电机MG1反转;当IN3输入低电平时,电机MG2正转;当IN4输入低电平时,电机MG2反转。高电平输入时,电机不工作。D1D8是保护二极管(IN5819),用于释放掉电机紧急制动停车时产生的反向尖峰电势,起到保护L298不被损坏的作用。电机驱动模块的电路图如图3.8所示:L298实物图: 4 系统软件设计4.1红外遥控发射器程序流程图:4.2红外接收器程序流程图: 4.3主控流程图:4.4程序:附录B5 系统的软件仿真5.1 利用计算机绘制仿真电路根据智能小车系统的硬件电路设计,在计算机仿真软件Proteus7.5中绘制仿真电路,其仿真电路图图如图5.1所示:图5.1小车仿真电路图5.2 仿真过程的介绍在软件Proteus7.5中绘制仿真电路图完成后,进行模拟仿真,过程中红色代表高电平电位1,蓝色代表低电平电位0,灰色代表不确定电平(floating)。仿真软件也是存在缺陷的,无法模拟红外遥控信号和光电感应信号,所以只能在整个仿真过程中采用按键方式来提供仿真过程所需的各种信号。仿真过程如下:1. 创建仿真文件。用keiluv3编写智能小车仿真程序,生成仿真所需要的HEX文件。2.添加小车仿真文件。双击AT89C51单片机,出现它的属性对话框,在ProgramFile中单击出现文件浏览对话框,找到创建的仿真程序文件,左键单击确定完成添加文件。3.单击开始仿真按键,进入小车仿真状态,如图5.2所示:图5.2小车仿真电路开始状态图4. 当小车前进信号输入时,即按下KEY1按键,两个电动机反向转动,小车实现后退动作,同时显示器第一行将显示“goback”,第二行显示“zhangjun”。如图5.3所示:图5.3智能小车后退仿真图5. 当输入后退信号时,即按下KEY2按键,两个电动机实现正向转动,小车实现前进动作,同时显示器第一行显示“goalong”语句,第二行显示“zhangjun”语句。如图5.4所示:图5.4智能小车前进仿真图6. 当输入小车左转信号时,即按下KEY3按键,左电机停止转动,右电机正向转动,小车实现左转弯动作,同时显示器第一行显示“goleft”语句,第二行显示“zhangjun”语句。如图5.5所示:图5.5智能小车左转仿真图7.当输入小车右转信号时,即按下KEY4按键,左电机正向转动,右电机停止转动,小车实现右转弯动作,同时显示器第一行显示语句:“goright”,第二行显示语句:“zhangjun”。如图5.6所示:图5.6智能小车右转仿真图8. 当输入小车停止信号时,即按下KEY5按键,两个电动机停止转动,小车实现停止动作,同时显示器第一行显示语句“stop”,第二行显示语句“zhangjun”。如图5.7所示:图5.7智能小车停止仿真图6 总结与收获本课设的题目是智能小车的遥控单元设计,目的在于设计出智能小车的遥控系统。在本次课设中我采用红外遥控技术来达到实验目的。由于课设中智能小车的遥控系统过于复杂,我采用模块化的设计思路,将遥控系统分成红外遥控发射模块、红外接收模块、电机驱动模块,起到了简化的目的。从开始的硬件电路设计,到后来的程序仿真,在自己设定的计划中稳步进行,最后设计出课设实物红外遥控智能小车。在红外遥控器的指令下,实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论