1、摘要 随着计算机、微电子、信息技术迅速进步,智能化技术开发速度越来越快,智能度越来越高,应用范畴也得到了极大扩展。智能作为当代新创造,是后来发展方向,它可以按照预先设定模式在一种环境里自动运作,不需要人为管理,可应用于科学勘探等用途。智能电动小车就是其中一种体现。设计者可以通过软件编程实现它行进、循迹、停止精准控制以及检测数据存储、显示,无需人工干预。因而,智能电动小车具备再编程特性,是机器人一种。本设计采用AT89S52单片机加电机驱动电路和红外遥控及循迹模块尚有红外接受一体化传感器设计而成,采用模块化设计方案,运用红外遥控器控制小车迈进、后退、左转、右转、启动和停止。核心词:单片机;红外遥
2、控;电机驱动ABSTRACT With the rapid progress of computers,microelectronics,information technology,intelligent technology development speed faster and faster,intelligent increasing range of applications has been greatly expanded. Smart as a modern invention,is the future direction of development,it can be
3、in an environment where automatic operation in accordance with the pre-set pattern,no human management can be applied to scientific exploration and other purposes. Smart electric car is one of expression. Designers can be programmed by software to the road,tracking,stop the precise control and test
4、data storage and display,without human intervention. Therefore,smart electric car has a re-programming features,is a kind of robot.This design uses AT89S52 SCM and the motor drive circuit and the infrared remote control and ultrasonic module infrared receiver integrated sensor design made use of mod
5、ular design,use the infrared remote control car forward,backward,turn left,turn right,start and stop .Keywords:SCM;infrared remote control;motor drive目 录第一章 绪论11.1 设计背景和意义11.2 智能小车发呈现状21.3 该设计重要内容和目4第二章 系统总体方案设计与论证52.1 系统总体方案设计52.2 主控系统52.3 电机驱动模块62.4 循迹模块62.5 显示模块6第三章 系统硬件电路设计73.1 主控模块电路设计73.1.1 AT
6、89S52单片机简介73.1.2 单片机工作电路113.1.3 时钟电路123.1.4 复位电路123.2 红外遥控模块电路设计143.2.1 红外遥控实现原理143.2.2 红外发射器153.2.3 红外接受器163.3 电机驱动模块电路设计173.4 循迹模块电路设计183.5 显示模块电路设计19第四章 系统软件设计214.1 主程序214.2 LCD显示程序24第五章 总结与展望29致 谢30参照文献30附录一 系统硬件电路图32附录二 PCB33附录三 程序33附录四 元件清单38第一章 绪论1.1 设计背景和意义 自第一台工业机器人诞生以来,机器人发展已经遍及机械、电子、冶金、交通
7、、宇航、国防等领域。近年来机器人智能水平不断提高,并且迅速地变化着人们生活方式。人们在不断探讨、改造、结识自然过程中,制造能代替人劳动机器始终是人类梦想。随着计算机、微电子、信息技术迅速进步,智能化技术开发速度越来越快,,智能度越来越高,应用范畴也得到了极大扩展。在海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。智能电动小车系统以迅猛发展汽车电子为背景,涵盖了控制、模式辨认、传感技术、电子、电气、计算机、机械等各种学科。重要由途径辨认、角度控制及车速控制等功能模块构成。同步,当今机器人技术发展如火如荼,其应用在国防等众多领域得到广泛开展。神五、神六升天、无人飞船等等无不得益于机
8、器人技术迅速发展。某些发达国家已把机器人制作比赛作为创新教诲战略性手段。如日本每年都要举办诸如“NHK杯大学生机器人大赛”、“全日本机器人相扑大会”、“机器人足球赛”等各种类型机器人制作比赛,参加者多数为学生,目在于通过大赛全面培养学生动手能力、创造能力、合伙能力和进取精神,同步也普及智能机器人知识。从某种意义上来说,机器人技术反映了一种国家综合技术实力高低,而智能电动小车是机器人雏形,它控制系统研制将有助于推动智能机器人控制系统发展,同步为智能机器人研制提供更有利手段。人类研究活动已挣脱了地球生物圈束缚而广泛地进入外层空间和海洋深处。对月球和太阳系其她行星探测,对太阳系以外宇宙进行考察,对数
9、千米如下海底研究,都是当前单靠人力所不能及。自动控制系统正在代替人们完毕这些任务。在战场上军事活动中,在恶劣环境条件下生产劳动中,凡不适当由人直接承担任务,均可由自动控制系统代替,如智能小车可以适应不同环境,不受温度、湿度等条件影响,完毕危险地段、人类无法介入等特殊状况下任务。高科技自动控制系统及装置已日益成为当代社会活动中离不开自动智能设备。1.2 智能小车发呈现状美国物流学会自动引导车系统产品部把自动引导车(Automated Guided Vehicle,如下简称AGV)定义为装有电磁或光学自动引导装置运送车。该AGV可以沿规定引导途径行驶,并配备有AGV编程与停车选取装置,安全保护和其
10、她系统所需要特殊功能装置。自动引导车是计算机技术,自动控制技术,管理技术,加工制造技术等多学科技术综合。世界上第一台AGV是由美国Barrett电子公司于20世纪50年代开发成功,它是一种牵引式小车系统,小车跟随一条钢丝引导途径行驶,并具备一种以真空管技术为基本控制器。智能小车项目已经成为一种当今世界热门研究题目,在国外高中重要智能小车研究有如下几种最具代表性:大谷机器人ASURO世界最具影响力三大教诲机器人教材生产厂家之一,ASURO被评为美国中学生暑期电子课作业指定教材。风靡欧洲教诲界ASURO和两足机器人,用是免费AVR软件,可以把电脑上C语言原程序转换成机器人可以辨认16进制代码,通过
11、与电脑相连接红外发射板,可以无限把机器人可以辨认16进制代码发射到产品上面,就会展示新动作,以实现可重复编程,发射不同程序,可实现不同功能,如线性追踪,自动寻迹,追踪光源,设定路线转弯,电脑遥控,唱歌,机器人走迷宫,感应人身体后可后退等动作对ASURO来说,轻而易举。韩国飞思卡尔智能车大赛,早在就由韩国汉阳大学举办,面向韩国各个大学。韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办以HCSI2单片机为核心大学生课外科技竞赛。组委会提供一种原则汽车模型、直流电机和可充电式电池,参赛队伍要制作一种可以自主辨认途径智能车,在专门设计跑到上自动辨认道路行驶,谁最快跑完全程而没有冲出跑道并且技术
12、报告评分较高,谁就是获胜者。其设计内容涵盖了控制、模式辨认、传感技术、汽车电子、电气、计算机、机械、能源等各种学科知识,对学生知识融合和实践动手能力培养,具备良好推动作用、IEEE国际原则电脑鼠走迷宫竞赛所谓“电脑鼠”,英文名叫做MicroMouse,是使用嵌入式微控制器、传感器和几点运动部件构成一种智能行走装置俗称。它可以在迷宫中自动搜索迷宫,记忆迷宫地图,智能分析选取途径,最后以最快时间完毕比赛。迷宫地图是在竞赛开始前几分钟随机设立,因此竞赛难度较大。国际电工和电子工程学会(IEEE)每年都要举办一次国际性电脑鼠走迷宫竞赛,自举办以来参加踊跃。1972年美机械杂志发起比赛,最初电脑鼠是机械
13、,由弹簧驱动。1977年IEEE Spectrum杂志提出电脑鼠概念:电脑鼠是一种小型由微解决器控制机器人车辆,在复杂迷宫中具备译码和导航功能。真正到场电脑鼠迷宫竞赛于1979年于纽约举办,1991年以来,每年均有世界级比赛。国内AGV发展历史较短。北京起重运送机械研究所、中华人民共和国邮政科学研究规划院、中华人民共和国科学院沈阳自动化所、大连组合机床研究所、清华大学、国防科技大学和华东工学院都在进行不同类型AGV研制并小批量投入生产。1975年北京起重运送机械研究所完毕国内第一台电磁引导定点通信AGV,1989年北京邮政科学研究规划院完毕国内第一台双向无线电通信AGV,该院已能进行AGV批量
14、生产。沈阳自动化所在AGV技术方面已获得了多项研究开发成果和专利,解决了AGV车体设计、控制、导航和高度管理等一系列核心技术问题,成为国内唯一可以提供自主品牌AGV产品单位。AGV自动导航车系统是随着着柔性装配系统、计算机集成制造系统以及自动化立体仓库产业发展起来,是物流系统中革命性换代产品。为一种高效物流输送设备和工厂自动化抱负手段,随着经济发展,在国内AGV领域必将越来越大。这几年,智能小车研究是国内高校大学生热点研究项目。,“飞思卡尔”杯智能车大赛登陆中华人民共和国,通过教诲部批准,由飞思卡尔半导体公司赞助,由清华大学协办,在清华大学举办了第一届“飞思卡尔”杯智能车大赛。去年则是第五届“
15、飞思卡尔”杯全国大学生智能车带赛,与往届不同,第五届智能车竞赛新增长了电磁组竞赛单元,参赛者需要用电磁器件代替老式光电和CCD,通过电磁感应来警醒赛道信息获取渠道,以此控制智能车在赛道上行驶。IEEE国际原则电脑鼠走迷宫竞赛,9月开始在广州周立功单片机发展有限公司赞助下,中华人民共和国嵌入式系统学会组织上海市、江苏省、浙江省30多所高校持续举办了两次联赛。全国“电脑鼠标走迷宫”总决赛于11月8日在北京航空航天大学举办。1.3 该设计重要内容和目该红外遥控智能小车可以分为四大构成某些:红外遥控某些、传感器检测某些、执行某些、CPU。智能小车要实现循迹辨认路线,选取对的行进路线。该设计重要通过对系
16、统硬件电路设计,软件设计和程序编写,然后通过后期软硬件调试达到设计初衷。随着汽车工业迅速发展,关于汽车研究也就越来越受人关注。全国电子竞赛和省内电子竞赛几乎每次均有智能小车这方面题目,全国各高校也都很注重该题目研究,经常举办此类比赛来培养学生对综合知识应用能力。第二章 系统总体方案设计与论证2.1 系统总体方案设计 该系统以AT89S52单片机为核心控制电路,采用模块化设计方案,运用红外遥控器代替开关按键控制小启动和停止,可以轻松自如实现小车启动停止、左转、右转和迈进后退等功能,如果咱们但愿小车运营到黑线上来检测与否有循迹功能,就可以用遥控器控制小车行驶到有黑线地方,当小车遇到有黑线时,会自动
17、启动循迹功能模块,让小车沿黑线跑。每个模块都是互相独立又互相协调配合,实现了小车智能控制。系统控制框图如图2-1所示: AT89S52红外遥控模块红外接受模块电机驱动模块循迹模块显示模块图2-1 系统控制框图2.2 主控系统 采用单片机作为整个系统核心,用其控制行进中小车,以实现其既定性能指标。充分分析咱们系统,其核心在于实现小车自动控制,而在这一点上,单片机就显现出来它优势控制简朴、以便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大控制功能及可位寻址操作功能、价格低廉等长处。因而,这种方案是一种较为抱负方案。针对本设计特点多开关量输入复杂程序控制系统,需要擅长解决多开关量原则单
18、片机,而不能用精简I/O口和程序存储器小体积单片机,D/A、A/D 功能也不必选用。依照这些分析,我选定了AT89S52 单片机作为本设计主控装置。2.3 电机驱动模块 采用功率三极管作为功率放大器输出控制直流电机。线性型驱动电路构造和原理简朴,加速能力强,采用由达林顿管构成H型桥式电路。用单片机控制达林顿管使之工作在占空比可调开关状态下,精准调节电动机转速。这种电路由于工作在管子饱和截止模式下,效率非常高,H型桥式电路保证了简朴实现转速和方向控制,电子管开关速度不久,稳定性也极强,是一种广泛采用PWM 调速技术。现市面上有诸多此种芯片,因而选用L298。这种调速方式有调速特性优良、调节平滑、
19、调速范畴广、过载能力大,能承受频繁负载冲击,还可以实现频繁无级迅速启动、制动和反转等长处。2.4 循迹模块 采用两只红外对管,分别置于小车车身左右两侧,依照两只光电开关接受到白线与黑线状况来控制小车转向来调节车向,合理安装好两只光电开关位置就可以较好实现循迹功能。2.5 显示模块惯用数码显示屏件重要有LED数码显示屏和LCD液晶显示屏。LCD显示屏具备低功耗、散热小、浅薄轻巧、显示锐利、屏幕调节以便等特点,同步又是当前市场主流产品,价格较以往也有大幅下降。惯用有12864和1602考虑到价格和实用性最后选取了1602液晶屏,既可以满足产品需要价格也相对低廉。第三章 系统硬件电路设计3.1 主控
20、模块电路设计3.1.1 AT89S52单片机简介 AT89S52 是一种低功耗、高性能CMOS8位微控制器,具备8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash容许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有机灵8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效解决方案。下图为AT89S52引脚图。 图3-1 AT89S52引脚图 (1)重要特性:与MCS-51 兼容 8K字节可编程闪烁存储器 寿命:1000写/擦循环数据保存时间:全静态工作:0H
21、z-24MHz三级程序存储器锁定256*8位内部RAM32可编程I/O线两个16位定期器/计数器5个中断源 可编程串行通道低功耗闲置和掉电模式片内振荡器和时钟电路 (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口管脚
22、写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉缘故。在FLASH编程和校验时,P1口作为第八位地址接受。 P2口:P2口为一种内部上拉电阻8位双向I/O口,P2口缓冲器可接受,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因而作为输入时,P2口管脚被外部拉低,将输出电流。这是由于内部上拉缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址高八位。在给出地址“1”时,它运用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器内容。P2口在FLASH编程和
23、校验时接受高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻双向I/O口,可接受输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉缘故。 P3口也可作为AT89S52某些特殊功能口,如下表3-1所示: 表3-1 特殊功能引脚对照表引脚号特殊功能P3.0RXD 串行通信输入P3.1TXD 串行通信输出P3.2INT0 外部中断0 输入,低电平有效P3.3INT1 外部中断1 输入,低电平有效P3.4T0 计数器0 外部事件计数输入端P3.5T1 计数器1 外部事件计数输入端P3.6
24、WR 外部随机存储器写选通,低电平有效P3.7RD 外部随机存储器读选通,低电平有效P3口同步为闪烁编程和编程校验接受某些控制信号。RST:AT89S52 复位信号输入引脚,高电位工作,当要对芯片复位时,只要将此引脚电位提高到高电位,并持续两个机器周期以上时间,AT89S52 便能完毕系统复位各项工作,使得内部特殊功能寄存器内容均被设成已知状态。ALE/PROG:当访问外部存储器时,地址锁存容许输出电平用于锁存地址地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变频率周期输出正脉冲信号,此频率为振荡器频率1/6。因而它可用作对外部输出脉冲或用于定期目。然而要注意是:
25、每当用作外部数据存储器时,将跳过一种ALE脉冲。如想禁止ALE输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。此外,该引脚被略微拉高。如果微解决器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效/PSEN信号将不浮现。EA/VPP:该引脚为低电平时,则读取外部程序代码 (存于外部EPROM 中)来执行程序。因而在8031中,EA引脚必要接低电位,由于其内部无程序存储器空间。如果是使用AT89S52或其他内部有程序空间单片机时,此引
26、脚接成高电平使程序运营时访问内部程序存储器,当程序指针PC值超过片内程序存储器地址(如8051/8751/89C51PC超过0FFFH)时,将自动转向外部程序存储器继续运营。此外,在将程序代码烧录至8751内部EPROM、89C51内部FALSH时,可以运用此引脚来输入提供编程电压(8751为2lV、AT89S52为12V、8051是由生产厂方一次性加工好)。XTAL1:接外部晶振一种引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,此引脚应接地。XTAL2:接外部晶振一种引脚。在片内接至振荡器反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时
27、,则此引脚接外部振荡信号输入。(3)振荡器特性:XTAL1和XTAL2分别为反向放大器输入和输出。该反向放大器可以配备为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一种二分频触发器,因而对外部时钟信号脉宽无任何规定,但必要保证脉冲高低电平规定宽度。 (4)芯片擦除:整个PEROM阵列和三个锁定位电擦除可通过对的控制信号组合,并保持ALE管脚处在低电平10ms 来完毕。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程此前,该操作必要被执行。此外,AT89S52设有稳态逻辑,可以在低到零频率条件下静态逻辑,支持两
28、种软件可选掉电模式。在闲置模式下,CPU停止工作。但RAM,定期器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM内容并且冻结振荡器,禁止所用其她芯片功能,直到下一种硬件复位为止。 3.1.2 单片机工作电路AT89S52单片机有8KBFlash ROM(闪存)作为内部程序存储器(ROM),因而用这种芯片构成最小应用系统简朴、可靠。用AT89S52单片机构成最小应用系统时,只需将单片机接上时钟电路和复位电路即可。该最小应用系统具备如下特点:(1)有可供顾客使用大量I/O线。P0、Pl、P2、P3都可作为顾客I/O口用,由于没有外部存储器扩展EA应接高电平。(2)内部存储器容量有限只有
29、8KB地址空间。当内部程序存储器不够用时。就需要扩展外部程序存储器。AT89S52单片机内部ROM容量有限,AT89S52单片机I/O口数量和功能很有限。但在本电路不需要太多I/O口。且内部程序存储器也够用,因此不用扩展外部数据存储器和外部接口芯片。其电路图如图3-2所示:图3-2 单片机最小系统3.1.3 时钟电路时钟电路就是产生像时钟同样精确振荡电路。AT89S52内部有一种用于构成片内振荡器高增益反相放大器,振荡器产生信号送到CPU,作为CPU时钟信号驱动CPU产生执行指令功能机器周期。引脚XTAL1和XTAL2是此放大器输入端和输出端。这个放大器与作为反馈元件片外石英晶体或陶瓷谐振器一
30、起可构成一种自激振荡器。时钟电路连接如图3-3所示:图3-3 时钟电路 图中外接石英晶体(或陶瓷谐振器)以及电容C1和C2构成并联谐振电路,接在放大器反馈回路中。对外接电容C1和C2值虽然没有严格规定,但电容大小多,会影响振荡器频率高低、振荡器稳定性、起振圈内部振荡器接法迅速性和温度稳定性。外接石英晶体时,C1和C2普通取(30pF10pF);外接陶瓷谐振器时。C1和C2普通取(40pF10pF)。外接是石英晶体,因此C1、C2选取标称值30pF。3.1.4 复位电路单片机复位是使CPU和系统中其她功能部件都处在一种拟定初始状态。并从这个状态开始工作。无论是在单片机刚开始接上电源时,还是断电后
31、或者发生故障后都要复位。89系列单片机复位信号是从RST引脚输入到芯片施密特触发器中。当系统处在正常工作状态时,且振荡器稳定后。如果RST引脚有高电平并维持2个机器周期(24个振荡周期)则CPU就可响应并且将系统复位。复位电路由两某些构成,电容和电阻。当系统通电时VCC 上电压从无到有在RESET处会先处在高电平一段时间,然后由于该点通过电阻接地则RESET该点电平会逐渐变化为低电平,从而使得单片机复位口电平从1到0,达到给单片机复位功能。上电复位:上电瞬间,电容充电电流最大,电容相称于短路,RST端为高电平,自动复位;电容两端电压达到电源电压时,电容充电电流为零,电容相称于开路,RST端为低
32、电平,程序正常运营。手动复位:一方面通过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同步电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,依然是复位,充电完毕后,电容相称于开路,RST为低电平,正常工作。单片机复位电路图如图3-4所示:3.2 红外遥控模块电路设计3.2.1 红外遥控实现原理红外遥控实现重要是如何用程序去分析位0和位1。位0和位1所不同之处就是在高电平脉冲后低电平脉宽不同样,采用脉宽调制串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms组合表达二进制“0”;以脉宽为0.565ms、间隔1.685ms
33、、周期为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
34、.5ms结束码完毕后才干读码。红外遥控系统重要分为调制、发射和接受三某些。红外遥控芯片将红外码调制成适当脉冲信号经红外发射二极管发射红外编码后由红外接受器把接受到信号解决后输出给单片机。红外遥控流程图如图3-5所示。键盘编码调制LED光/电放大解调解码遥控接受器图3-5 红外遥控系统框图遥控发射器红外线遥控是当前使用最广泛一种通信和遥控手段。由于红外线遥控装置具备体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其他小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不但完全可靠并且能有效地隔离电
35、气干扰。3.2.2 红外发射器 该电路重要控制器件为遥控器芯片HT6221。HT6221是Holtek公司生产多功能编码芯片,采用PPM(Pulse Position Modulation)进行编码,1.12ms为0,2.24ms为1。 HT6221能编码16位地址码和8位数据码,最多能同步支持32个开核心。HT6221键码形成:当一种键按下超过36ms,振荡器使芯片激活,如果这个按键按下且延迟大概108ms,这108ms发射代码由一种起始码(9ms),一种成果码(4.5ms),低8位地址码(9ms18ms),高8位地址码(9ms18ms),8位数据码(9ms18ms)和这个8位数据码反码(9
36、ms18ms)构成,如果按键按下超过108ms仍未松开,接下来发射代码将仅由起始码(9ms)和结束码(2.5ms)构成。按照下图接法,K1K8数据码分别为:0x00,0x01,0x02,0x04,0x05,0x06,0x07。红外遥控发射器电路图如图3-6所示。HT6221将红外码调制成38KHZ脉冲信号通过红外发射二极管发出红外编码。图3-6中D1是红外发射二极管,D2是按键批示灯,当有按键按下时D2点亮。各个开关功能分别为:K1停止;K2右转;K3左转;K4启动;K5加速;K6循迹;K7制动;K8后退。图3-6 遥控发射器电路原理图3.2.3 红外接受器 红外接受电路普通被厂家集成在一种元
37、件中,成为一体化红外接受头。内部电路涉及红外监测二极管,放大器,限幅器,带通滤波器,积分电路,比较器等。红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定水平,而无论红外发射器和接受器距离远近。交流 信号进入带通滤波器,带通滤波器可以通过30KHZ到60KHZ负载波,通过解调电路和积分电路进入比较器,比较器输出高低电平,还原出发射端信号波形。注意输出高低电平和发射端是反相,这样目是为了提高接受敏捷度。该模块使用红外接受头1838,有三个引脚,涉及供电脚,接地和信号输出脚。其电路如图3-7所示。瓷片电容104为去耦电容,滤除输出信号干扰。1端是解调信号输出端,
38、直接与单片机P3.2口相连。有红外编码信号发射时,经红外接头解决后,输出为检波整形后方波信号,并直接提供应单片机,执行相应操作来达到控制电机目。图3-7 红外接受硬件图3.3 电机驱动模块电路设计该模块重要芯片L298,其可以同步控制两个电机正反转,以及变化电机转速,足以满足设计规定。L298是SGS公司产品,比较常用是15脚Multiwatt封装L298,内部同样包括4通道逻辑驱动电路。可以以便驱动两个直流电机,或一种两相步进电机。L298芯片是一种高压、大电流双全桥式驱动器。其中SENSEA、SENSEB分别为两个H桥电流反馈脚,不用时可以直接接地。VCC,VS是接电源引脚,电压范畴分别是
39、4.57V、2.546V,设计中VCC端与单片机电源端共用5V工作电源,VS端接12V电源。ENA,ENB为使能端,低电平禁止输出。IN1,IN2,IN3,IN4为数据输入引脚,分别于单片机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输
40、入低电平时,电机MG2反转。高电平输入时,电机不工作。D1D8是保护二极管(IN5819),用于释放掉电机紧急制动停车时产生反向尖峰电势,起到保护L298不被损坏作用。电机驱动模块电路图如图3-8所示:图3-8 电机驱动电路原理图 3.4 循迹模块电路设计为了保证小车沿黑线行驶,在前部左右两侧安装两对TCRT5000红外对管。在小车行走过程中,若向左方向偏离黑线,则右侧探头就会检测到黑线,把信号传送到单片机。进行解决校正。控制其向右转,反之,向左转。黑线检测原理是运用红外线在黑线和白纸对光反射系数不同特点,在小车在行驶过程中不断向地面发射红外光,依照接受到反射光强弱来判断与否是黑线。运用这个原
41、理,可以控制小车行走路迹。当红外发射管发射红外光线到路面,红外光线遇到白色线则反射,接受管收到反射光,光敏三极管导通,经施密特触发器整形后输出低电平,而红外光线遇到黑色线时会被吸取,接受管接受不到反射光线。光敏三极管截止,经施密特触发器整形后输出高电平,这就实现了通过红外检测功能功能。将检测到信号送到单片机进行分析解决。然后将解决后成果发送到电机驱动模块,进行校正,从而保证小车能沿着黑线行驶。 循迹模块电路图电路如图3-9所示。图中施密特触发器DM74LS14是一种特殊门电路。它是一种阈值开关电路,具备突变输入输出特性门电路。这种电路被设计成制止输入电压浮现微小变化(低于某一阈值)而引起输出电
42、压变化。施密特触发器采用电位触发方式,其状态由输入信号电位维持特性保证了低高电平输出稳定性。图3-9 系统循迹电路原理图3.5 显示模块电路设计本系统采用14脚1602型号LCD显示屏(无背光14脚,有背光16脚)。其电路原理图如图3-10所示,图中RP1是9个插针作为排阻封装上拉电阻,重要是对器件1602注入电流,把不拟定信号通过电路钳位在高电平,同步也起到限流作用。1602LCD显示屏D0D8分别接在单片机P0口,RS引脚高电平输入时输入数据,低电平输入时输入指令,接在单片机p2.0口。RW引脚低电平输入时向LCD写入指令或数据,高电平输入时从LCD读取信息,接在单片机P2.1口。E引脚使
43、能信号,高电平输入时读取信息,高电平向低电平转换时执行指令,接在单片机P2.2口。图3-10 系统显示电路第四章 系统软件设计4.1 主程序 主程序是个死循环,程序启动后,开始检测黑白线,如果左右两侧都检测到黑线,则控制小车迈进;如果左边检测到黑线,右边检测到白线,则控制小车左转;如果右边检测到黑线,左边检测到白线测控制小车右转;如果左右两边都检测到白线则后退。 设小车左右两侧红外对管分别为1和2,则系统主程序流程图如图4-1所示。启动1、2遇黑线N1遇白线2遇黑线1遇黑线2遇白线左转右转1遇白线2遇白线迈进NNNYYYY驱动模块模块后退循迹模块图4-1 主程序流程图 主程序编写环节: 1.
44、定义头文献,如#include ; 2. 对单片机引脚进行定义,定义方式如:sbit rs=P20;; 3. 对程序所用变量进行定义,如unsigned int i;可赋值; 4. 当单片机接受到电机驱动信号时,依照所需功能程序设计如下: while(1) if(KEY1=0) /左右电机反转函数 IN1 = 0;/右电机反转函数 IN2 = 1; IN3 = 0;/左电机反转函数 IN4 = 1; if(KEY2=0) /左右电机正转函数 IN1=1;/右电机正转函数 IN2=0; IN3=1;/左电机正转函数 IN4=0; if(KEY3=0) /左转函数 IN1=1;/ 右电机正转函数
45、IN2=0; IN3=1;/左电机停止函数 IN4=1; if(KEY4=0) / 右转函数 IN1=1;/右电机停止函数 IN2=1; IN3=1;/左电机正转函数 IN4=0; if(KEY5=0) /停止函数 IN1=1;/右电机停止函数 IN2=1; IN3=1;/左电机停止函数 IN4=1; IN1和IN2分别控制小车右边电机正反转,IN3和IN4分别控制左边电机正反转。通过左右电机正反转配合执行,控制小车迈进、后退、左右转和停止。当IN1=1,IN2=0,IN3=1,IN4=0时,小车迈进;当IN1=0,IN2=1,IN3=0,IN4=1时,小车后退;当IN1=1,IN2=0,IN3=1,IN4=1时,小车向左转;当IN1=1,IN2=1,IN3=1,IN4=0时,小车向右转;当IN1=1,IN2=1,IN3=1,IN4=1时,小车停止。4.2 LCD显示程序 显示程序流程图如图4.2所示:显示内容清屏LCD初始化开始图4-2 LCD显示流程图LCD显示程序编写:(一) 对头文献,引脚和所需变量定义与主程序类似;(二) LCD初始化主程序如下:init_lcd() /LC