基于51单片机循迹小车电路设计与制作

上传人:1888****888 文档编号:36377788 上传时间:2021-10-30 格式:DOC 页数:40 大小:591.01KB
收藏 版权申诉 举报 下载
基于51单片机循迹小车电路设计与制作_第1页
第1页 / 共40页
基于51单片机循迹小车电路设计与制作_第2页
第2页 / 共40页
基于51单片机循迹小车电路设计与制作_第3页
第3页 / 共40页
资源描述:

《基于51单片机循迹小车电路设计与制作》由会员分享,可在线阅读,更多相关《基于51单片机循迹小车电路设计与制作(40页珍藏版)》请在装配图网上搜索。

1、 第 1 页 共 4 页 桂林航天工业学院论文循迹小车电路设计与制作Circuit design and production tracking car专 业:应用电子技术学 生:陈容琴指导教师:熊 川 副教授桂林航天工业学院电子工程系二零壹三年十二月 桂林航天工业学院毕业设计(论文) 第 5 页 共 4 页毕 业 设 计( 论 文 )评 语指导教师评语 签字: 201 年 月 日评阅教师评语 签字: 201 年 月 日毕业设计(论文)答辩记录成绩及评语答辩提问记录 记录人: 201 年 月 日答辩委员会评语成 绩:主任签字: 201 年 月 日桂林航天工业学院电子工程系毕 业 设 计 任 务

2、 书装 订 线专业:应用电子技术 年级:2011级姓名陈容琴学号201104320132指导教师(签名)毕业设计题目遥控玩具车电路设计与制作任务下达日期2013年11月10日设计提交期限2014年6月10日设计主要内容遥控器发射电路、无线接收及控制电路,实现前进后退,左右转弯的控制电路设计。主要技术参数指标玩具车必须是双驱马达的遥控功能必须实现前进、后退、左转和右转控制距离在10米以内无线控制控制准确,运行稳定,反应速度快成果提交形式设计论文、电路板实物及光盘各一份设计进度安排3-4月收集整理资料5月15日前进行方案论证及原理设计5月15日-6月10日进行实物制作与调试6月10日提交设计论文和

3、实物教研室意见 签名: 年 月 日 系主任意见签名: 年 月 日桂林航天工业学院电子工程系毕 业 设 计 开 题 报 告装 订 线姓名陈容琴学号201104320132指导教师熊 川毕业设计题目遥控玩具车电路设计与制作同组设计目的意义 方案论证 时间安排 指导教师意见 签字: 20 年 月 日 审核小组意见 组长签字: 20 年 月 日摘要 本设计的智能循迹小车是以STC89S52单片机为控制核心,结合红外反射式光电传感器以及PID算法实现循迹功能的智能小车。利用反射式光电传感器检测黑线实现小车循迹,整个系统具有自动寻迹、寻光和速度测试功能。其中,控制部分采用STC89S52,STC89S52

4、是一款8位单片机,它的易用性和多功能性受到了广大使用者的好评。电机驱动芯片采用L293D电机驱动芯片,电机驱动采用常用的PWM方式进行电机的调速控制,整个系统的电路结构较简单,可靠性能高,能满足各种设计的要求。关键词:智能循迹小车、STC89C52单片机、光电传感器、L293D、 ABSTRACT Intelligent design is based on the tracking car STC89S52 microcontroller core, combined with infrared reflective photoelectric sensors and PID algorit

5、hm smart car tracking functions. Use reflective photoelectric sensors detect the black line to achieve car tracking, tracing the entire system with automatic, look for light and speed testing. Among them, the control part STC89S52, STC89S52 is an 8-bit microcontroller, its ease of use and versatilit

6、y by the majority of users praise. L293D motor driver chip motor driver chip, the motor-driven manner using a conventional PWM motor speed control circuit of the system is relatively simple structure, high reliability, to meet the design requirements.Keywords: “Intelligent tracking car”、“STC89C52 MC

7、U”、“photoelectric sensors”、“L293D”、目 录第一章 循迹小车概述11.1 开发背景11.2 智能小车现状2第二章 方案设计与论证32.1 设计目的32.2 系统主控方案32.3 电机驱动模块选择42.4 循迹模块62.5 机械系统62.6 电源模块72.7系统各模块最终方案7第三章 系统各模块介绍83.1 STC89C52单片机介绍83.1.1 AT89C52单片机的引脚及其功能93.1.2 AT89C52单片机定时器103.1.3 单片机中断123.2 L293D电机驱动模块介绍133.3 循迹模块介绍15第四章 硬件电路设164.1 总体设计164.2 电机

8、驱动电路设计164.3 循迹模块电路设计164.4 主控电路设计17第五章 软件设计184.1 主程序设计框架184.2 循迹模块流程图18第六章 绘制PCB、实物制作与调试211.1 Altium designer 09绘制原理图软件简介211.2 利用Altium designer 09绘制原理图221.3 硬件电路的制作221.4 调试221.4 总结22参考文献23致 谢24附录一 电路原理图25附录二 程序清单27 桂林航天工业学院毕业设计(论文) 第 29 页 共 28 页第1章 循迹小车概述1.1 开发背景自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇

9、航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或 CCD,目前的 CCD 已能做到自动聚焦。但 CCD 传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系

10、统中考虑使用接近觉传感器是一种实用有效的方法。机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(AVGauto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传

11、感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。考虑到实际情况,本文选择第二种方案。CPU使用STC89C52单片机,配合软件编程实现。1.2 智能小车现状现智能小车发展很快, 从智能玩具到其它各行业都有实质成果。其基本可实现

12、循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电子设计大赛智能小车又在向声控系统发展。比较出名的飞思卡尔智能小车更是走在前列。我此次的设计主要实现循迹这个功能。第二章 方案设计与论证 根据要求,确定如下方案:在现有玩具电动车的基础上,加装光电检测器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。2.1 设计目的随着电子工业的发展,计算机技术随着集成度的提高,和大规模集成电路的发展。无线通信技术也得到更好

13、的应用,在当今社会无线通信技术已经渗透到我们生活的方方面面,小朋友的玩具也朝着智能化,高技术领域发展,另外结合无线通信技术的玩具也成为现代小朋友们非常喜欢的玩具。本次设计目的是结合我们所学专业知识,把所学知识应用到实际开发中去,提升我们就业竞争力。2.2 系统主控方案方案一: 选用一片 CPLD(如 EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD 具有速度快、编程容易、资源丰富、开发周期短等优点,可利用 VHDL 语言进行编写开发。但 CPLD 在控制上较单片机有较大的劣势。同时, CPLD 的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要

14、求也就不会太高,在这一点上,MCU 就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案。方案二:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。针对本设计特点多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简 I/O 口和程序存储器的小体积单片机, D

15、/A、 A/D 功能也不必选用。根据这些分析,我选定了 P89C51RA 单片机作为本设计的主控装置, 51 单片机具有功能强大的位操作指令,I/O 口均可按位寻址,程序空间多达 8K,对于本设计也绰绰有余,更可贵的是 51 单片机价格非常低廉。在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用 STC89C52 单片机的资源。2.3 电机驱动模块选择方案一: 采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。方案二:采用电阻网络或数字电位器调节电动机的分压,

16、从而达到分压的目的。但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。 方案三:采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H 型桥式电路(如图 2.1)。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H 型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM 调速技术。现市面上有很多此种芯片,我们选用

17、了L293D.这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。 图2-1 H桥式电路 图2-2 L293D电机驱动模块方案论证:方案一的NRF24L01采用当今最流行的2.4GHz无线电频段,传输稳定,价格低廉,传送距离符合设计要求。方案二的NRF905无线模块传送距离远,但是价格相对较高。方案三315MHZ超再生收发模块价格低廉,不设编码,因此可能面临外界的干扰,稳定性稍差。经过综合比较最终选择方案一的NRF24L01无线模块。2.4 循迹模块方案一

18、: 采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响。在使用过程极易出现问题,而且容易因为 该部件造成整个系统的不稳定。故最终未采用该方案。方案二:采用两只红外对管,分别置于小车车身前轨道的两侧,根据两只光电开关接受到白线与黑线的情况来控制小车转向来调整车向, 测试表明, 只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。 图2-3 红外对管TCRT500方案三: 采用三只红外对管,一只置于轨道中间,两只置于轨道外侧,当小车脱离轨道时,即当置于中间的一只光电开关脱离轨道时,等待外面任一只检测到黑线后,做出

19、相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。现场实测表明,小车在寻迹过程中有一定的左右摇摆不定, 虽然可以正确的循迹但其成本与稳定性都次与第二种方案。 通过比较,我选取第二种方案来实现循迹。2.5 机械系统 本题目要求小车的机械系统稳定、灵活、简单,而三轮运动系统具备以上特点。 驱动部分:由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。 电池的安装:将电池放置在车体的电机前后位置,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引

20、起的误差。简单,而三轮运动系统具备以上特点。2.6 电源模块方案一: 采用实验室有线电源通过稳压芯片供电,其优点是可稳定的提供 5V 电压,但占用资源过大。方案二: 采用 6V电池组电源供电,但 6V 的电压太小不能同时给单片机与与电机供电。方案三: 采用 12V 电池组别给单片机与电机供电可解决方案二的问题且能让小车完成其功能。 最终,我选择了方案三来实现供电。2.7系统各模块最终方案 经过仔细的分析与论证,决定系统各模块的最终方案如下: 控制模块:采用STC89C52单片机; 电机驱动模块:采用L293D H桥电机驱动芯片; 循迹模块:采用红外对管TCRT500。机械系统:采用三轮式车身。

21、电源模块:采用 12V电池组。第三章 系统各模块介绍本设计中采用收无线收发主控都以51单片机为控制核心,电机驱动模块采用L293D电机驱动芯片,循迹模块采用2只一对的红外对管。其总体方框图如下: 循迹模块 STC89C52RC 电机 L293D电机驱动模块 图3-1 系统的总体框图3.1 STC89C52单片机介绍单片机是70年代中期发展起来的一种大规模集成电路芯片,包含CPU、RAM、ROM、IO接口和中断系统。80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。8051单片机内部包含了作为微型计算机所必须的基本功能部

22、件,各功能部件相互独立的集成在同一芯片上。8051系列的基本结构如下:8位CPU 4KB字节掩膜ROM程序存储器128字节内部RAM数据存储器 两个16位定时计数器1个全双工的异步串行口5个中断源,两个中断优先级的中断控制器时钟电路,外接晶振和电容可产生1.2MHz12 MHz的时钟频率3.1.1 AT89C52单片机的引脚及其功能如图3-2所示,AT89c52有四十条引脚,共分为端口线、电源线和控制线。图32 8051的引脚1.端口线(48)P0.0-P0.7P0口8位双向口线(在引脚的39-32号端子)。P1.0-P1.7P1口8位双向口线(在引脚1-8号端子)。P2.0-P2.7P2口8

23、位双向口线(在引脚21-28号端子)。P3.0-P3.7P3口8位双向口线(在引脚10-17号端子)。这4个I/O口,具有不完全相同的功能。P0口有三个功能(1)外部扩展存储器时,当做数据总线(D0-D7为数据总线接口)(2)外部扩展存储器时,当做地址总线(A0-A7为地址总线接口)(3)不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。P1口只做I/O口使用,其内部有上拉电阻。P2口有两个功能:(1)扩展外部存储器时,当做地址总线使用。(2)做一般I/O口使用,其内部有上拉电阻。P3口有两个功能,除作为I/O口使用外(其内部有上拉电阻),还有一些特殊功能,

24、由特殊功能寄存器来设置,上拉电阻当做输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口作为输入时,处在高阻抗状态,只有外接一个上拉电阻才有效。2.电源VCC 为芯片电源,接+5V;VSS为接地线。 控制线:控制线共有4根 (1)ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 (2)PSEN:外ROM读选通信号。 (3)RST/VPD:复位/备用电源 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。

25、(4)EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 3.1.2 AT89C52单片机定时器AT89C52单片机有两个16位可编程的定时器计数器,即定时器计数器T0和定时器计数器T1.它们有两位工作模式(计数器模式和定时器模式)及4种工作方式。其控制字均在相应的特殊功能寄存器中(定时器计数器方式控制寄存器TMOD、定时器计数器控制寄存器)定时器计数器的作用一是做定时器用,可精确的确定某一段时间间隔;二是作为计数器用,累计外部输入的脉冲个数。当用做定时器时,在其输入端输入周期固定

26、的脉冲,根据定时器计数器中累积的脉冲个数,即可计算出所定的时间常数。当定时器计数器被设定为定时器模式时,计数输入信号是由内部时钟脉冲的12分频产生,计数输入脉冲的周期与机器周期相同,每个机器周期产生一个脉冲使计数器加1.当定时器计数器用作计数器时计数脉冲来自外部输入引脚T1或T0。当输入信号产生由1至0的下跳变时,计数器的值增1定时器和计数器的区别:定时器本质上也是一种计数器,只不过定时器的计数脉冲由内部时钟提供。在定时器模式工作时,每个机器周期计数加1,因此计数速率固定为振荡频率的112.正是由于计数的速率固定时间间隔易于计算,所以用来定时。而计数器指的是对外部输入脉冲的计数,因而速率一般不

27、是固定的,不能用于定时。只能数输入脉冲的个数。8051的定时器方式控制寄存器地址89H,不可位寻址。如表3-1所示,TMOD寄存器中高4位定义T1,低4位定义T0,其中M1,M0用来确定所选工作方式。TMOD寄存器中各位的功能如表3-2所示。 表3-1 TMOD构成位序B7B6B5B4B3B2B1B0位符号GATECTM1M0GATECTM1M0 定时计数器T1 定时计数器T0TMOD由TH0的8位和TL0的5位(其余位不用)组成一个13位计数器。当GATE=0时,只要TCON中的TR0为1,13位计数器就开始计;当GATE=1以及TR0=1时,13位计数器是否计数取决于INT0引脚信号,当I

28、NT0由0变1时开始计数,当INT0由1变为0时停止计数。 当13位计数器溢出时,TCON的TF0位就由硬件置1,同时将计数器清0。当方式0为定时工作方式时,定时时间计算公式为: (213 计数初值X)晶振周期12当方式0为计数工作方式时,计数值的范围是:1213(8192)。表3-2 TMOD控制位功能符 号功能说明GATE门控位 GATE=0,用运行控制位TR0(TR1)启动定时器。GATE=1,用外中断请求信号输入端(INT1或INT0)和TR0(TR1)共同启动定时器。C/T定时方式或计数方式选择位。C/T =0,定时工作方式。C/T =1,计数工作方式。M1 M0工作方式选择位。M1

29、 M0=00 方式0,13位计数器。 M1 M0=01 方式1,16位计数器。 M1 M0=10 方式2,具有自动再装入的8位计数器。 M1 M0=11 方式3,定时器0分成两个8位计数器,定时器1停止计数。3.1.3 单片机中断中断:是当CPU正在处理某件事的时候,外界发生了紧急事件请求,要求CPU暂停当前的工作转而去处理这个紧急事件,处理完以后再回到原来被中断的地方继续原来的工作,这样的过程称为中断,实现中断功能的部件,统称为中断系统。中断源:是指引起中断原因的设备或部件,或发生中断请求信号的源泉。通常中断源有以下几种外部设备中断源控制对象中断源故障中断源定时脉冲。中断的分类:中断按照功能

30、通常可分为可屏蔽、非屏蔽和软件中断三类中断嵌套: 一个CPU总会有若干中断源,可以接受若干中断源发出的中断请求,但在同一瞬间,CPU只能响应中断源中的一个中断请求,CPU为了避免在同一瞬间因响应若干中断源的请求而带来的混乱,必须给每个中断源的只能挂断请求赋一个特定的中断优先级,以便CPU先响应中断优先级高地中断请求,然后再一次响应中断优先级。中断过程:中断过程一般包括中断请求、中断响应、中断处理、中断返回四个过程。中断请求中断过程是由中断源向CPU发出中断请求而开始的,有效中断请求信号应该一直保持到CPU做出响应为止。中断响应CPU检测到中断请求信号后,在满足一定条件的情况下进行响应。中断处理

31、中断处理称为中断服务,就是执行中断源所要求的中断服务程序。中断返回 3.2 L293D电机驱动模块介绍L293D是ST公司生产的一种高电压、小电流电机驱动芯片。该芯片采用16脚封装。主要特点是:工作电压高,最高工作电压可达36V;输出电流大,瞬间峰值电流可达2A,持续工作电流为1A。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和继电器线圈等感性负载;该芯片可以驱动两台直流电机。 图33 L293D芯片L293是提供双向驱动电流高达1 A,电压是从4.5 V至36 V的;L293D提供双向驱动电流高达600毫安,电压是从4.5 V至36 V的。两个设备是专为驱动等感性负载继电器

32、,电磁阀,直流双极步进和马达,也可以给其他高电流/高电压提供电源负载。兼容所有的TTL输入。每个输出都是推拉式驱动电路,与达林顿三极管和伪达林源。启用1,2 EN驱动器和3,4 EN驱动器。当使能输入为高电平时,相关联的驱动器被启用和他们的输出处于活动状态,并在其输入端的同相。当使能输入为低,这些驱动器被禁用其输出关闭,在高阻抗状态。L293,外部输出为高速钳位二极管,应使用电感的瞬态抑制。VCC1和VCC2分开,提供逻辑输入,以尽量减少设备功耗。L293和 L293D的工作温度是从0C至70C。 图34 电机驱动应用图表33:L293D真值表输入输出YAENHHHLHLXLZ3.3 循迹模块

33、介绍TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关。传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。TCRT5000光电传感器可应用于:(1) 电度表脉冲数据采样。(2) 传真机碎纸机纸张检测。(3) 障碍检测。(4) 黑白线检测。第四章 硬件电路设 4.1 总体设计智能小车采用前轮驱动, 前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用。将循迹光电对管分别装在车体下的左右。 当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左

34、修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。4.2 电机驱动电路设计电机驱动一般采用 H 桥式驱动电路,L293D内部集成了 H 桥式驱动电路,从而可以采用 L293D电路来驱动电机。通过单片机给予 L298N 电路 PWM 信号来控制小车的速度,起停。图4-2 电机驱动模块电路设计图4.3 循迹模块电路设计 小车循迹原理是小车在画有黑线的白纸 “路面”上行驶,由于黑线和白线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”黑线。在该块中利用了简单、应用也比较普遍的检测方法红外探测法。红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在

35、小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号,再通过 LM324 作比较器来采集高低电平,从而实现信号的检测。 图4-3 循迹模块电路设计图4.4 主控电路设计 本模块主要是对采集信号进行分析,同时给出 PWM 波控制电机速度,起停。 图4-4 主控电路设计图第五章 软件设计4.1 主程序设计框架本设计中程序全部由C语言编写,利用Keil uVision3开发工具可以很方便的对单片机程序进行编写及调试。其主程序设计框图如下: 启动 循迹 是否检测到停止线 No 停止 图5-1 系

36、统主程序框图4.2 循迹模块流程图 图5-2 循迹程序框图循迹程序: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 if(left_red=1)&(right_red=0)en1=1;en2=0;P0_1=!P0_1;turnright();de

37、lay(150);en1=0;en2=1;delay(50);elsestop(); 第6章 绘制PCB、实物制作与调试1.1 Altium designer 09绘制原理图软件简介Altium(前身为Protel国际有限公司)由NickMartin于1985年始创于塔斯马尼亚州霍巴特,致力于开发基于PC的软件,为印刷电路板提供辅助的设计。最初的DOS环境下的PCB设计工具在澳大利亚得到了电子业界的广泛接受,在1986年中期,Altium通过经销商将设计软件包出口到美国和欧洲。随着PCB设计软件包的成功,Altium公司开始扩大其产品范围,包括原理图输入、PCB自动布线和自动PCB器件布局软件

38、。80 年代晚期,Altium 公司意识到在开发利用Microsoft Windows 作为平台的电子设计自动化EDA 软件方面存在商机。虽然Windows 平台在处理性能和可靠性上取得了进步,但当时很少有用于Windows 平台的EDA 软件,而当时越来越多的设计工程师使用基于Windows 的操作系统。于是,在1991 年Altium 公司发布了世界上第一个基于Windows 的PCB 设计系统,Advanced PCB。在后来几年里,凭借各种产品附加功能和增强功能所带来的好处,Altium 建立了具有创新意识的EDA 软件开发商的地位。1997 年,Altium 公司认识到越来越需要把所

39、有核心EDA 软件工具集中到一个集成软件包中,从而可以实现从设计概念直到生产的无缝集成。因此Altium 发布了专为Windows NT 平台构建的Protel98,这是首次将所有5 种核心EDA 工具集成于一体的产品,这5 种核心EDA 工具包括原理图输入、可编程逻辑器件(PLD)设计、仿真、板卡设计和自动布线。随后在1999 年又发布了Protel 99 和第二个版本Protel 99 SE,这些版本提供了更高的设计流程自动化程度,进一步集成了各种设计工具,并引进了“设计浏览器”平台。设计浏览器平台允许对电子设计的各方面设计工具、文档管理、器件库等进行无缝集成,它是Altium 建立涵盖所

40、有电子设计技术的完全集成化设计系统理念的起点。Altium 公司致力于产品开发,并为工程师提供帮助他们实现目标的最佳设计工具。AltiumDesigner基于一个软件集成平台,把为电子产品开发提供完整环境所需的工具全部整合在一个应用软件中。AltiumDesigner包含所有设计任务所需的工具:原理图和HDL设计输入、电路仿真、信号完整性分析、PCB设计、基于FPGA的嵌入式系统设计和开发。另外可对AltiumDesigner工作环境加以定制,以满足用户的各种不同需求。1.2 利用Altium designer 09绘制原理图Altium designer 09绘制原理图很简单,其步骤如下:(

41、1)新建工程、新建原理图元件库文件、原理图文件、PCB元件库文件、PCB文件等。(2) 绘制原理图元件库元件、原理图、PCB元件库元件。 (3) 导入PCB,进行初步的元件布局并自动布线。(4) 手工修改自动布线不合理的线并对PCB进行“美化”。(5) 保存、退出Altium designer 09软件。1.3 硬件电路的制作硬件电路的制作流程如下:(1)利用Altium designer 09绘制原理图以及PCB。(2)把画好的PCB图利用热转印原理印到铜板上。(3)用三氯化铁腐蚀掉废铜。(4)钻孔。(5)把元件插到印制并腐蚀好的印制板上、焊接。(6)用万用表检查线路,看有无短路、开路情况出

42、现。1.4 调试 通过改变循迹板滑动变阻器器的大小来调试红外对管的灵敏度,通过改变延时程序来改变速度的大小。下表为小车运行的情况:1.4 总结整个系统的设计以单片机为核心,利用了多种传感器,将软件和硬件相结合。本系统能实现如下功能:(1) 自动沿预设轨道行驶小车在行驶过程中,能够自动检测预先设好的轨道,实现直道和弧形轨道的前进。若有偏离,能够自动纠正,返回到预设轨道上来。(3)自动检测停车线并自动停车。 参考文献1曹巧媛.单片机原理及应用(第二版)M. 北京:电子工业出版社,20022何力民.单片机高级教程M. 北京:北京航空大学出版社,20003王志鹏.可编程逻辑其原理与程序设计M. 北京:

43、国防工业出版社,20054松井邦彦.OP放大器应用技巧100例M. 北京:人民邮电出版社,20085第二届全国大学生电子设计竞赛组委会。全国大学生电子设计竞赛获奖作品选编。北京:M北京理工大学出版社,1997.6全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品汇编M.北京:北京理工大学出版社,20047陈永真等编著.新编全国大学生电子设计大赛试题精解M.电子工业出版社8雷思孝等.单片机系统设计及工程应用M.西安电子科技大学出版社9欧大生.杨杉.电路设计与制板M.西安电子科技大学出版社.2004 10康华光.皱筹彬.电子技术基础(数字部分)M.高等教育出版社.2000 致 谢 历时将

44、近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感谢我同学和老师对我的细心指导,他们对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此向帮助和指导过我的各位老师表示最中心的感谢!感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在论文的撰写和排版灯过程中提供热情的帮助。由于我的学术水平有限,所

45、写论文难免有不足之处,恳请各位老师批评和指正!附录一 电路原理图附录二 程序清单#include#define uchar unsigned char#define uint unsigned intuchar pwm_val=0;uint i;sbit P10=P10; /左电机控制sbit P11=P11;sbit P12=P12; /右电机控制sbit P13=P13; sbit P14=P14; /左电机使能sbit P15=P15; /右电机使能 sbit P23=P23; /循迹口sbit P24=P24; /循迹口/延时函数 void delay(unsigned int k)

46、unsigned int x,y; for(x=0;xk;x+) for(y=0;y2000;y+);/行走控制函数void fun() if(P23=0&P24=0)P10=1;P11=1;P12=1;P13=1;/停车 else if(P23=0&P24=1)P10=0;P11=1;P12=1;P13=0;/左转 else if(P23=1&P24=0)P10=1;P11=0;P12=0;P13=1;/右转 else P10=1;P11=0;P12=1;P13=0;/主函数void main() delay(100); TMOD=0x11; TH0=0x3c; TL0=0xb0; TH1=0xfc; TL1=0x18; EA=1; ET0=1;TR0=1; ET1=0;TR1=0; while(1);void time0() interrupt 1 TH0=0x3c; TL0=0xb0; fun(); void time1() interrupt 3 TH1=0xfc; TL1=0x18; if(pwm_val+=10)pwm_val=0;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!