智能小车的设计毕业论文

上传人:仙*** 文档编号:80430212 上传时间:2022-04-25 格式:DOC 页数:81 大小:1.52MB
返回 下载 相关 举报
智能小车的设计毕业论文_第1页
第1页 / 共81页
智能小车的设计毕业论文_第2页
第2页 / 共81页
智能小车的设计毕业论文_第3页
第3页 / 共81页
点击查看更多>>
资源描述
摘 要摘 要80C52单片机是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。这里介绍的是如何使用80C52单片机来实现智能小车的设计,该设计是结合科研项目而确定的设计类课题。本系统以设计题目的要求为目的,采用80C52单片机作为控制核心,采用红外传感器检测道路面上的障碍,控制智能小车的自动避障,快慢速行驶,按键开车停车,并可以实现自动记录行驶时间,自动避障,自动寻线功能。最终完成智能车设计需要综合单片机编程、模数电、Protel 设计、电路焊接、自动控制算法设计等多方面内容。整个系统的电路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。采用的技术主要有:(1) 通过编程来控制小车的速度;(2) 传感器的有效应用;(3) 显示译码管的使用。关键词: 80C52单片机;光电检测器;PWM调速;智能小车- I -ABSTRACTDesign and create an intelligence electricity motive small carAbstract80C52 is a 8 bit single chip computer. Its easily using and multi-function benefit large users. This article introduces the UESTC graduation design with the 80C52 single chip computer. This design combines with scientific research object. This system regards the request of the topic, adopting 80C52 for controlling core, infrared reflection sensor for test the hinder. It can run in a high and a low speed or stop automatically. It also can record the time, distance and the speed or searching light and mark automatically the electric circuit construction of whole system is simple, the function is dependable. Experiment test result satisfy the request, this text emphasizes introduced the hardware system designs and the result analyze.The adoption of technique as:(1) Speed control by program the engine;(2) Efficient application of the sensor;(3) The adoption of the new display chip. Keywords 80C52 single chip computer; light electricity detector; PWM speed adjusting;Electricity motive small car目 录目 录第一章 引 言5第二章 方案设计与论证72.1微处理器(MCU)和场可编程逻辑门阵列(FPGA)的选择72.2直流电机和步进电机的选择92.3舵机和万向轮的选择102.4最终元器件选择11第三章 硬件设计133.1 课题的方案论证133.1.1 主要任务133.1.2 功能要求133.1.3 性能指标133.2 课题工作133.3 系统整体框图143.4 电源模块设计143.5 单片机最小系统设计143.6 红外探测模块设计163.7 后轮电机驱动模块设计173.8 测速模块设计213.9 发光二级管电路的设计223.10 七段译码管电路的设计233.11 蜂鸣器电路的设计253.12 外接排针模块的设计253.13 液晶显示屏电路的设计263.14 DS1302模块的设计263.15 M24C02BN6模块的设计263.16 巡线模块的设计263.17 火焰传感器的设计27第四章 软件设计304.1 基本原理304.2 控制真值表和卡诺图304.3 端口定义354.4 头文件定义364.5 延时函数定义384.6 PWM脉宽调制定义384.7 随机转向模块394.8 初始化模块404.9 巡线模块414.10 行驶控制模块424.11 停车模块434.12 按键检测模块和点火启动模块444.13 传感器检测模块454.14 蜂鸣器模块464.15 发光二级管模块474.16 七段译码管模块474.17 主函数模块484.18 中断模块49第五章 设计创新点515.1 在算法上的创新点515.1.1 光线反射式避障515.1.2 多种避障算法结合515.1.3 U型死角自动倒车525.2 在硬件上的创新点525.2.1 双核525.2.2 点火启动535.2.3 温度检测535.2.4 日历显示545.2.5 硬件可更改545.2.6 两种行驶方式545.3 在程序上的创新点545.3.1 大量使用状态机545.3.2 车速预置555.3.3 边沿判定555.3.4 精确停车56第六章 测试与调试576.1 测试方法与仪器576.1.1 测试仪器576.1.2 测试方法576.2 测试数据和测试结果576.2.1 定时精度576.2.2 停车精度576.2.3 直线行驶精度576.2.4 点火精度58第七章 问题与思考59第八章 结束语61致谢63参考文献64外文翻译65Intelligent Vehicle65中文翻译75智能车75- 5 - 第一章 引 言随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,可见其研究意义重大,但是,各大智能车比赛项目或活动大都是在预先设计好的赛道上进行的,在实现智能避障时,却显得乏力。本设计就是在这样的背景下提出的,本题目是结合科研项目而确定的设计类题目。设计的智能电动小车要求能够实时显示行驶时间、速度、里程,具有自动寻迹、避障功能,可程控行驶速度、精确定位停车。根据题目的要求,确定如下方案:在现有玩具电动车的基础上,外加光电、红外传感器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动小车的智能控制。这种方案能实现对电动小车的运动状态进行实时控制,控制灵活、可靠、精度高、易于调试和维护,可以根据不同环境,不同参数更改程序代码,调整硬件结构,使小车满足要求的指标。本设计采用MCS-51系列中的80C52单片机。以80C52为控制核心,利用红外传感器检测道路上的障碍,控制电动小车自动避障,快慢速行驶,并可以自动记录时间、行驶里程,即时显示速度,自动循迹和寻光功能。80C52是一片8位的微控制器,作为第三代微控制器,它的易用性和多功能性能满足大多数场合的要求。第三代单片机包括了Intel公司发展MCS-51系列的新一代产品,如8xC152、80C51FA/FB、80C51GA/GB、8xC451、8xC452,还包括了Philips、Siemens、ADM、OKI、Harria-Metra、Atmel等公司以80C51为核心推出的各具特色、与80C51兼容的单片机。新一代的单片机的最主要的技术特点是向外部接口电路扩展,向更完善的控制功能扩展,能与常用的外部接口功能单元如A/D、PWM、PCA(可编程计数器阵列)、WDT(看门狗监视定时器)、高速I/O口、计数器的捕获/比较逻辑等兼容。第三代微控制器中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。Philips公司还为80C51系列的8xC592单片机引入了具有较强功能的设备间网络系统总线CAN(Controller Area Network BUS)。这些完善的总线结构,为系统的扩展与配置打下了良好的基础。单片机发展到这一阶段,表明单片机已成为工业控制领域中普遍采用的智能化控制工具,小到玩具、家电行业,大到车载、舰船电子系统,遍及计量测试、工业过程控制、机械电子、金融电子、商用电子、办公自动化、工业机器人、军事和航空航天等领域。为满足不同的要求,出现了高速、大寻址范围、强运算能力和多机通信能力的8位、16位、32位通用型单片机,小型廉价型、外围系统集成的专用型单片机,以及形形色色各具特色的现代单片机。本设计采用80C52RC芯片作为控制单元,80C52采用CMOS工艺,功耗很低。该设计具有实际意义,其无人驾驶的特性可以应用于考古、地震救援、医疗器械、自动搬运等许多方面,尤其是在足球机器人研究方面具有很好的发展前景;在考古方面应用到的超声波传感器进行检测,所以本设计与实际结合,应用性较强。- 81 -电子科技大学学士学位论文第二章 方案设计与论证智能车制作是一个涵盖电子、电气、机械、控制等多个领域和学科的科技创新活动。简单点来说可以将其分为硬件电路(包括电源、MCU控制部分、电机驱动、传感器)、机械、算法三方面的设计。根据题目的要求,确定如下方案:在现有玩具小车的基础上,加装光电传感器,实现对电动小车的速度、位置、运行状况的实时测量,并将测量数据传动通过信号流的方式传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动小车的智能控制。这种方案能实现对电动小车的运动状态进行实时控制,控制简单、灵活、可靠、精度高,测量障碍的距离可调整,其整体模块均可以通过软件或硬件的调整来满足各种场合的需求。2.1 微处理器(MCU)和场可编程逻辑门阵列(FPGA)的选择方案一:场可编程逻辑门阵列作为控制核心方案二:微处理器作为控制核心场可编程逻辑门阵列的优缺点:高速性。作为信号高速处理的标准模块,拥有比MCU高出三个量级的频率,这意味着FPGA可以拥有高速的信号处理能力,速度高到可以实现将信号进行FFT变换,实现数字滤波,最后再进行FFT变换还原信号,这样大量的数据处理需要高速的数字器件完成。所以目前FPGA在通讯领域发挥着其不可替代的作用。稳步发展的技术。FPGA作为更新的技术,在几年之内会变得更加快速、更加便宜,此技术的发展空间和发展潜力巨大。大量的端口。相对于MCU的32个IO口,FPGA拥有高出MCU一个量级的端口数目,这为以后更好的技术的出现提供了硬件扩展支持,设计者在进行系统的初始设计期间,就能够考虑到并适应预期的技术发展,并提供额外的扩展端口为技术升级做准备。FPGA拥有的端口数为256、512、1024或者更多。严谨。作为严谨的语言,FPGA中变量和信号有所区分,不同进制之间区分,这样虽然降低了潜在的错误风险,但是,这会使设计变得更加复杂。大量的警告和错误。以xilinx的ISE为例,即时程序设计正确,在综合的时候,也至少有十处警告,这说明了技术的不成熟,有待改进和发展。支持的语言模块太少。数字设计中,VHDL工具甚至不能很好地综合for循环(可能造成无效或不可综合),将for循环的每一次循环用单独的器件实现,每个i值生成一组器件,以此来解开for循环并实现电路,这样会造成器件的大量浪费,这将是以一个极其昂贵的解决方式。不能运用mod操作符求余,因为这个操作需要除法,多数VHDL工具不能综合出触发电路,除了二位除法(一次右移操作)等简单除法。与之相比,微处理器拥有成熟的技术,设计完善,编程实现时可以做到零错误零警告,支持比硬件描述语言(VHDL)更好的C语言。设计简单,设计程序简洁有效,出错率大大降低。由寄存器组实现数据存储记忆,与寄存器和触发器存储数据相比更加有效,支持自动数据转换,设计更加简单。比如clk时钟信号,在FPGA中,需要为时钟信号专门写进程,需要专门分配端口,再使用分频得到想要的频率,在MCU中,时钟信号是所有器件的驱动时钟,对于计时,仅仅需要打开寄存器让寄存器计数即可。并且在数字设计中对MCU程序的设计是逻辑的,不需要特别的数学技能。而不像对电容器、晶体管或其他的元器件那样,要求对模型进行计算才能了解和认识他们的内部特性和工作过程。事实上,微处理器有很多的优点:易于设计。MCU支持各种进制之间的自动转换,设计时不用考虑具体信号进制,在硬件实现时,MCU自动将数值进制转换成为所赋值的信号的进制,所以,设计时可以灵活写十六进制数据,对硬件更有效的控制。而不像FPGA那样,需要对进制转换单独写进程或者调用函数实现。能使用各种高级语言,比如,使用mod函数实现取余操作。灵活性和功能性。C语言本身支持直接对硬件进行操作,例如对内存地址的操作、位操作等。C语言作为一种高级语言,对硬件的支持并不差于汇编语言,这个特性能在设计单片机程序时带来很大便利,在稍后的设计部分中可见,单片机对C语言的兼容性将C语言的优点继承了下来。在这方面,VHDL相对薄弱。单片机中更高层的功能,如微处理器、存储器和输入输出控制器,在使用这些器件时,数字设计者不用对最复杂而关键的片上组件及其互连技术进行设计,因为这已经由器件制造商设计出来并测试过了。这些都体现了微处理器的灵活和高效。可编程性。如今大多数数字设计都是采用语言进行编程来完成的。这些语言可以将数字电路的功能进行规格化或者模型化。在构建任何真实硬件之前,要使用编译器和模拟器来测试硬件模型的运行状况,然后才将模型用特别的组件技术实现电路。这就使得电路的设计具有相同性,对于同样的电路,只用改变E2PROM的程序就可以实现功能的改变,从而带来了极大的便利。微控制器这种集成电路在它们出厂后具有逻辑功能的编程能力。这些器件能够通过重新编程来设置其功能,这就意味着,如果发现了设计中的差错,不需要在物理上替换器件或重新接线,就可以排除错误。也意味着,设计者可以自行设计出自己所想要的芯片。用同样的电路,写入不同的程序,系统就可以完成不同的功能,加上E2PROM电可擦除芯片的诞生,设计者们就不用专门为一种功能去设计一种电路,不用自己动手搭建电路,就像在三十年前他们的教授所做过的那样。快捷性。如今,MCU的处理速度很快,对于时钟为11.0592MHZ的微处理器而言,12个时钟周期为一个机器周期,所以该MCU的频率大约为1MHZ,也就是说,一秒钟执行106条指令,执行一条指令的时间为1微妙。对于F22战斗机而言,开加力时时速大约为M2.00,也就是680米每秒,单片机执行一次指令时,F22大约能飞行0.68毫米,所以,对于普通的智能小车而言,用单片机作为控制核心是完全可以胜任的。经济性。单片机能够在一片芯片里提供大量的功能。能够重复使用的电路可以被集成到单个芯片里,以很低的成本进行大量的生产,这样就可以将那些计算器、数字手表、音乐生日卡之类的不同功能的器件集成在一起了。本设计因为需要直接对硬件进行操作,需要简易灵活的程序编写,所以笔者选择单片机作为控制核心。2.2 直流电机和步进电机的选择直流电机的工作原理:直流电机的转子为三组呈60的漆包线圈,在线端口焊接六个60圆弧铜片。这些铜片构成换向片,两个弹性铜片靠在换向片两侧,作为供电电刷。当电源通过电刷向漆包线圈供电时,线框中就会有电流流过。直流电机的定子为一对磁极,由导磁良好的钢铁制成,磁极的磁力由一个U型永久磁铁产生,将磁极放置在漆包线圈两侧,形成磁场,漆包线圈处于磁场中。当线圈通过电流时,三个线圈就会受到磁场的洛伦兹力,受力方向依照左手定理判断。受到磁场的作用力的线圈会旋转,当旋转了60后,原通电线圈断电,下一组通电线圈通电,使整个转子继续受到相同旋转方向的力,这就是直流电机的工作原理。直流电机的优点和缺点:控制简单。直流电机的控制相对于步进电机要简单,直流电机的两个接口加正电压时电机正转,加负电压时电机反转,易于控制。转速快。直流电机的转速不受控制,所以外加电压时,直流电机一直处于最佳工作状态,无保留地发挥出其最大转速。成本低。相对于步进电机,直流电机的成本更低,价格易于接受。更重要的是,两个直流电机仅需要一片L298N芯片即可完成控制,所以,选择直流电机能使得电路更简单。无法控制转过角度。所以对于速度的测试需要和外部传感器配合使用,增加了硬件的设计难度。同时因为无法控制转过角度,所以无法通过软件精确控制直流电机的行驶距离。步进电机的工作原理:步进电机是一种将电脉冲转化为角位移的器件。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为步距角,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。步进电机的优点和缺点:角度、转速可控。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,使得步进电机只有周期性的误差而无累积误差。所以在速度、位置等控制领域用步进电机来控制变的非常简单。控制较为复杂。需要四个接口输入,所以如果使用步进电机,智能小车需要两个驱动轮,也就是八个接口,这就使得需要两片L298N芯片,使成本增加。这样设计就需要额外增加步进电机的费用和另一片L298N芯片的费用。无法实现较高的速度。步进电机的精确控制性决定了其扭矩较大,这样也使得步进电机趋向于驱动力而不是旋转速度,使得步进电机速度有所限制。本设计中使用控制简单的直流电机,因为设计中创新的光线反射式避障不需要精确控制行驶距离,这样可以节约出步进电机和一片L298N芯片及其外部电路的成本。2.3 舵机和万向轮的选择根据控制方式,舵机应该称为微型伺服马达。舵机能够利用简单的输入信号转动到一个比较精确的角度,所以非常适合机器小车使用。舵机简单的说就是集成了直流电机、电机控制器和减速器,并封装在一个便于安装的外壳里的伺服单元。舵机内安装了一个电位器检测输出轴转动角度,控制板能根据电位器的信息能比较精确的控制和保持输出轴的角度。这样的直流电机控制方式叫闭环控制。舵机的工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。总而言之,控制电路接收信号源的控制脉冲,并驱动电机转动;齿轮组将电机的速度成倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出。电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持目标角度。舵机的控制信号为周期20ms,脉宽0.5ms-2.5ms之间的PWM信号,在20ms的周期中,输入脉冲宽度与舵机输出角度之间的关系:0.5ms-901.0ms-451.5ms 02.0ms 452.5ms 90可见,使用舵机可以获得精确的转角,这样的方式能提高机器小车的行驶速度,但是,精确转角的方式使得机器小车要想转弯必须以要有一个固定的转角,要求小车的转弯路线为圆弧,小车不能原地转弯,且因为舵机需要用到定时器,而定时器本身在程序较复杂时中断时间不准确,所以舵机有控制不准的风险。使用万向轮的优点在于转弯不需要转角,可以原地转弯,因为其不需要圆弧转向,所以万向轮可以精确控制小车的行进路线,缺点是无法精确控制转角。本设计中采用万向轮的方式转向,因为万向轮是从动轮,两个主动轮和一个从动轮呈三角形分布,所以在平面上从动轮那个点的受力完全由两个主动轮给予,其转动方向和转动速度完全依靠于两个主动轮,使用简单有效,而且,使用万向轮的方式可以为单片机省下一个定时器。2.4 最终元器件选择元器件选择:E18-D80NK型光电反射式传感器3个、STC89C52RC型单片机1块、RS232芯片1块、11.0592M系统晶振1个、LED发光二级管2个、共阳七段数码管4个、蜂鸣器1个、L298N芯片1块、直流电机2个、电容电阻若干。电容选择1uF和30pF,电阻选择1K和10K两种。电子科技大学学士学位论文第三章 硬件设计3.1 课题的方案论证3.1.1 主要任务设计一台具有避障功能的智能小车。该智能小车利用红外传感器检测周围障碍情况,用控制电机驱动电路来控制机器人的前进方向,以躲避障碍物。用单片机作为控制核心,完成硬件和软件的设计。3.1.2 功能要求(1)小车能够实现自动躲避在车前方,左方,右方的障碍物,达到智能的效果。(2)状态和时间显示功能:第一个数码管可以显示小车当前状态,第三个和第四个数码管可以显示小车实际行驶时间。(3)按键转换功能:小车在上电复位后,由独立按键1控制,按键1按下后,小车行驶,再次按下时,小车停止。(4)报警功能:小车在遇到障碍物时候进行蜂鸣器报警。(5)障碍灯:两个LED灯用于显示小车周围障碍物的状况。3.1.3 性能指标(1)红外传感器的探测距离为10cm以上。(2)红外传感器的响应时间小于1毫秒。(3)智能小车遇到障碍物到做出反应的时间小于2毫秒。(4)智能小车能够在直线,弯道,S型弯道,发卡弯道等完成无碰撞行驶。(5)智能小车能够在放置零散障碍物的平面空间内行驶无碰撞。3.2 课题工作一个单片机应用系统的硬件电路设计包含两部分内容:一是最小系统设计,即设计微控制器能工作的最精简的电路,该设计方法固定,可以参考大多数单片机系统设计,设计完成后,单片机可以使用其内部的基本功能单元,如ROM、RAM、I/O端口、定时/计数器、中断寄存器等,单片机能正常工作,能按照程序控制其I/O端口。二是扩展设计,在单片机内部系统无法完成需求工作时,选择适当的芯片,设计对应的外部电路,添加外围设备,如独立按键,LED灯、七段译码管、蜂鸣器、AD/DA转换器等,来完成需求功能。3.3 系统整体框图图3-1 系统整体框图3.4 电源模块设计电源是整个系统稳定工作的前提,因此必须有一个合理的电源设计,对于小车电机部分的工作电源,要求在电池耗损时电压降低的情况下也能正常驱动电机,所以给电机供6V直流电压,使用四节五号电池串联供电,这样,即使存在电池耗损,整个电池盒的供电大于3V,这样的电压也足以驱动电机正常工作。同时考虑到大电流器件可能会对单片机造成干扰,影响单片机的稳定运行,所以,本设计为单片机和电机控制芯片L298N这两块芯片单独供电,均采用四节五号电池串联供电。3.5 单片机最小系统设计STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 可编程Flash 存储器。拥有8 位CPU 和可编程Flash,具有以下功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,最高运行频率35Mhz,6T/12T可选。具体使用到的模块包括:ADC模拟数字转换模块、定时器模块、PWM脉冲宽度调制模块、中断模块、I/O端口和实时时钟模块。单片机是小车的控制中心,单片机最小系统的设计是小车正常行驶的前提,最小系统指的是能够保证单片机正常运行的最精简的硬件设计,如图3-2所示,为STC89C52RC单片机的最小系统参考电路图。图3-2 STC89C52RC单片机最小系统参考图图3-2中的STC89C52RC单片机最小系统由以下几个部分组成:1. 晶振电路:单片机要能正常工作必须设计一个外部的时钟源,这个时钟源由晶振电路产生,具体电路为图中的Y1、C2、C3部分,电容典型值为30pF,晶振典型值为12Mhz。2. 复位电路:STC89C52RC单片机为高电平复位,也就是说RST(9)脚上只要有持续两个机器周期以上的高电平就能使单片机复位,上电复位的原理是利用电容充电的一段时间将复位脚拉至高电平,使单片机完成复位,C1可以选用1uF的瓷片电容,R1在电容充电结束后将复位脚拉至低电平,保证单片机的正常工作。其中,单片机的十二个晶振周期为一个机器周期,微处理器在一个机器周期内能执行一条指令,所以,机器周期也称为指令周期。3. ISP 下载部分:如图中的Header5X2部分就是下载接口,电路是根据标准的ISP下载线来设计的,与常用的并口下载线,串口下载线和笔记本用的USBASP 下载线兼容,只需将下载线接口插到本接口上就可以向单片机烧写程序。同时,ISP 的下载接口在设计时应注意以下两点,否则会造成程序下载的失败。1. 下载线接口中的电源和单片机共用一个电源。2. 下载线接口中用到的P1.5到P1.7 脚不能连接外部器件,如果要连接外部器件可以设计为可插拔的方式,防止影响程序的下载。在本设计中,笔者将这三个端口用于传递三个光电传感器的反馈信号,所以在下载程序的时候,需要将这三个光电传感器停用,即将它们断电,否则,下载器会提示无法正常下载。4.电源和地:如图所示,单片机的二十管脚为GND,接地,四十管脚为VCC,接电源,同时注意将第三十一管脚拉高,三十一脚即EA脚为内外存储器的选择脚,由于本设计只使用内部存储器,因此需要将此脚连至高电平,否则单片机无法正常工作。5.上拉电阻:P0口与其他三组I/O口不同,P0口没有内部上拉电阻,因此如果需要驱动LED等外部器件时需要在P0口加上10K的上拉电阻,并且加外部上拉电阻的方式有助于增强端口的驱动能力。3.6 红外探测模块设计在本设计中笔者采用光电反射式传感器组作为探测模块的核心,这种传感器将发射管和接收管放置在一个塑料壳内,发射管和接收管均为长方形,尺寸为4mm*3mm,系统中我们设计探测距离在10cm 左右,此时探测环境良好,不易受到其它光线的干扰。传感器采用E18-D80NK式反射红外传感器。该封装形状规则,便于安装。探测距离在3CM到80CM范围内可调,完全能满足探测距离要求。传感器由于发射和接受的是红外光,所以常见光对它的干扰较小。光电反射式传感器的原理图如3-2所示,其具体原理为:当电源稳定供电时,红外发射管不断地发射出红外光,当发射出的红外光遇到障碍物时,发射出的红外光会发生漫反射,反射回传感器,这时传感器的三极管就会导通,传感器的I/O端口与地导通,输出为低电平,反之,发射出的红外光没有遇到障碍物,发射出的红外光无法返回传感器,传感器的三极管就会截止,传感器的I/O口经10K欧的电阻与电源相连,输出为高电平。所以从宏观上来看,光电反射式传感器在电路正常工作的情况下,有障碍物时输出低电平,没有障碍物时输出高电平,为低电平有效器件。在实际测试中,需要指出,光电反射式传感器是基于障碍物能反射部分红外光,在极端条件下,比如黑色完全不反光的障碍物,这种障碍物能够完全吸收红外光,所以,光电反射式传感器无法检测这种障碍物,或者检测精度下降。图3-3 E18-D80NK型反射红外传感器原理图E18-D80NK型反射红外传感器的技术参数:1.输出电流 DC:100mA/5V2.消耗电流 DC:25mA3.响应时间:1ms4.指向角:155.有效距离:3-80cm可调6.监测物体:反光物体(实际测试中黑色墙壁不可检测)7.工作环境:-25C 55C8.标准检测光照强度:3000LX3.7 后轮电机驱动模块设计前面已经提到,由于单片机的驱动能力不足,无法驱动像电机这样的大功率外部器件,因此必须外加驱动电路。电机常用的驱动芯片很多,在本设计中笔者选用硬件设计简单,驱动效率高的L298N作为电机驱动芯片,L298N芯片是一种集成大功率H桥芯片。如图3-4所示,H桥式电机驱动电路包括四个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机正转或反转。图3-4 简易H桥电路原理图要使电机运转,必须使对角线上的一对三极管导通。当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极,该流向的电流将驱动电机顺时针转动。当另一对三极管Q2和Q3导通时,电流将从右至左流过电机,该流向的电流将驱动电机逆时针转动。驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要。如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极。此时,电路中除了三极管外没有其他任何负载,理论上电路上的电流趋近于无穷大,实际上,电流可能大到烧坏三极管。基于上述原因,在实际驱动电路中通常要用硬件电路控制同侧三极管不能同时导通。图3-5所示就是H桥电路的改进电路,它在基本H桥电路的基础上增加了四个与门和两个非门。四个与门与同一个使能信号相接,这样,用使能信号就能控制整个电路的开关。两个非门通过提供同侧三极管反相的信号,可以保证任何时候在H桥的同侧最多只有一个三极管导通。图3-5 改进后的H桥电路原理图图3-5所示的H桥电路的真值表如表4-3所示,描述如下:EN=0时,Q1Q2Q3Q4均截止,电机不转;EN=1,DIR-L=1,DIR-R=0时,Q2Q3导通,电机正转;EN=1,DIR-L=0,DIR-R=1时,Q1Q4导通,电机反转;EN=1,DIR-L=0,DIR-R=0时,Q2Q4导通,电机不转;EN=1,DIR-L=1,DIR-R=1时,Q1Q3导通,电机不转;H桥电路虽然有着诸多的优点,但是在实际制作过程中,由于元件较多,电路的搭建较为麻烦,增加了硬件设计的复杂度,因此在本设计中笔者采用H桥集成驱动芯片L298N。L298N 的工作原理和以上介绍的H桥相同,引脚图如图3-6所示:其管脚与H桥电路输入控制基本相同,5、7、10、12为输入管脚,分别为两路DIR-L、DIR-R,2、3、13、14为输出管脚,分别为两路电机供电,6、11为两路时能管脚ena,enb,1、15为两路电流感应管脚,通常情况下不用,使用大电阻10K欧隔离这两个管脚,接地即可,4为电机供电电压,为图示中H桥电路的正极,当对角线三极管打开时,就是4脚为电机提供电压,9为逻辑供电电压,为H桥芯片的三极管提供正常工作电压,8为GND,为接地管脚。图3-6 集成H桥芯片L298N管脚图L298N芯片作为一种功率转换的集成高功率电路,支持高达46V的直流操作电压,可通过高达4A的直流电流,低保和电流,过温保护,逻辑0电压高达1.5V(高噪声免疫)。L298N 是ST 公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。L298 的参考电路图如图3-15 所示。图3-7 集成H桥芯片L298N外部电路原理图原理图分析:J1部分为单片机传递给L298N芯片的数据控制端口,J4部分为芯片输出组和供电组,J2和J3这两个三针跳线盒的作用是当1、2两个端口用跳冒连接后,A、B两个信号为高电平,直接使ena、enb两个时能信号为高电平,这时,L298N上电后能即时工作,同时单片机无法控制L298N的使能端,因单片机的输入电阻很大,所以外加5V电压的ena、enb端口吸收电流不大,所以不考虑加大电阻隔离。VSS端口的C1电容是为了去除供电电压的纹波波动,根据电容的阻直流通交流的特性,供电电压的交流波动会通过此电容直流流向GND,这样设计是为了使芯片的供电电源更稳定有效。输出端口的八个续流二极管是为了消除电机转动时的尖峰电压保护电机而设计,简化电路时可以不加。注意到工作时L298N芯片的功耗较大,所以设计中因加装散热片。3.8 测速模块设计在智能小车的设计中,测速是必不可少的一部分,但是本设计中避障传感器太大,因此无法在轮子处增加一个避障传感器来对车轮轴条个数进行计数,所以笔者没有考虑速度测试,而选择直接对小车进行开环控制。测速的原理是对车轮轴条进行计数,当小车行驶时,轴条发生转动,那么,对轴条计数后除以轮子上一圈的总轴条数可以得到轮子旋转圈速,在乘以轮子周长可以得到行驶距离,加上定时器定时就可以得到在单位时间内小车的行驶距离即可得到小车的行驶速度,对小车的行驶速度求差分即可得小车的加速度。同理,用黑白码盘也可以对小车进行测速。图3-8 测速用黑白码盘3.9 发光二级管电路的设计显示模块中先解释如何驱动发光二极管:数字电路中通常使用CMOS电路漏极开路输出驱动发光二级管,注意选择合适的上拉电阻R,使发光二级管开启时流过合适的电流。典型发光二级管正常发光所需要的电流为10毫安,所需压降为1.6V,假设VCC为5V,那么,需要的限流电阻R应为(5-1.6)/0.01=340欧。同时注意到,单片机的驱动能力只能提供4毫安的电流,通常不能用来驱动发光二级管,但是单片机可以吸收24毫安的电流,所以,单片机可以用于吸收发光二级管的电流,在实际中设计如下:图3-9 STC89C52RC单片机最小系统原理图两个发光二极管的设计与连接如下:正极与VCC相连,负极通过470欧的电阻与单片机相连,电阻起限流作用,这里笔者适当增加电阻阻值来限制LED灯的发光强度,使其变暗。那么根据原理图,发光二极管的使用方法如下:当单片机P1.2端口输出低电平时,LED两端存在压差,发光二极管启动,正常发光。反之,P1.2端口输出高电平,LED两端不存在压差,发光二级管截止,不发光。在实际使用中,可以利用单片机通过控制端口电平的方式来控制发光二级管的亮灭。3.10 七段译码管电路的设计七段译码管是由七个发光二极管构成,形成8字形,所以其使用方法,使用原理和发光二级管LED一样。其具体原理图如下:图3-10 七段译码管原理图这是七段译码管的原理图,J7部分为数码管的控制排针,当跳冒没连接2、3排针时,Q1Q2Q3Q4四个三极管没有连接到VCC上,三极管截止,四个数码管全不亮。当跳冒连接2、3排针时,Q1Q2Q3Q4四个三极管连接到VCC上,当这四个三极管的另一个管脚为低电平时,三极管两端导通,使9、10、11、12端口连接到VCC上,三极管为共阳三极管,即abcdefgdp这八个发光二级管的正极均连接在一起,一起连接到外面的9、10、11、12端口上,那么,当P0口输出对应的电平产生段选码,P2控制口输出对应的电平产生位选码时,对应的数码管就按照输入的段码发光,显示对应的信息。和发光二极管原理一样,这里的发光二级管的导通电压为1.6V,VCC为5V,发光二级管的正常导通电流为10毫安,所以这里的限流电阻和LED一样,R=(5-1.6)/0.01=340欧,因为没有340欧姆规格的通用电阻,这里使用330欧姆的电阻代替之。其中,P0端口称为段选端口,P2.0到P2.3端口称为位选端口,从宏观上来看,当跳冒连接2、3端口时,位选端口为低电平的对应数码管亮,其显示为P0口送的段选数据。比如P2.3端口低电平,P0端口为0xc0时,即P0为11000000时,显示数据为0,这八位数据从低位到高位排列成数字0。所以,对P0送如下数组,P0就可以显示出0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、不显示、H、L、横杠这些不同的字符。0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0x89,0xc7,0xdf;3.11 蜂鸣器电路的设计图3-11 蜂鸣器原理图蜂鸣器的启动原理和数码管的启动原理一样,如图3-11所示,Q5三极管的一端接VCC,另一端接单片机P2.4端口,当单片机控制P2.4端口输出低电平时,三极管Q5导通,蜂鸣器两端存在VCC的压差,蜂鸣器工作。3.12 外接排针模块的设计如图3-11所示,J11、J12、J13、J14、J15为五个外接排针,能为三个光电传感器、两个循迹传感器、一个火焰传感器、双核芯片B供电。同时因为最小系统的设计简单,单片机PCB板上所有的器件共VCC、共GND,所以,这些排针不仅可以用于对外界传感器供电,也可以用于外界电源对单片机供电,这样排针就有两种不同的用途。发光二级管D0的用途是显示外界电源是否正常供电,一端通过限流电阻接VCC,另一端接地,D0亮表示外界电源正常有效。电容C9选择1uF作为通交流,阻直流的滤波器,其作用是消除电源的纹波波动和交流分量。使电源工作稳定,为所有器件提供直流电压。3.13 液晶显示屏电路的设计如图3-11所示,J1为LCD1602液晶显示插槽,R10为电位器,R10是一个滑动变阻器,可以通过螺丝旋转调节其阻值的方式来控制液晶显示屏的亮暗。但是在实际组装的时候,三个光电传感器刚好挡住液晶显示屏,所以液晶屏无法安装,不仅如此,笔者在实际焊接时,因为将LCD1602显示屏的排针焊反了,导致笔者的液晶显示屏直接报废。这里特别强调一下,LCD1602的排针是在下面的,焊点在液晶屏的上面,注意不要焊反。3.14 DS1302模块的设计DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,可通过简单的串行接口与单片机进行通信,可提供秒分时日日期月年等日历信息。DS1302芯片的设计与DS1302芯片datasheet所提供的典型电路接法相同,按照Datasheet画原理图焊接即可。DS1302中CE复位脚,I/O数据输入/输出引脚,SCLK串行时钟。3.15 M24C02BN6模块的设计M24C02BN6是E2PROM器件,是单片机中存储下载程序的部分,采用256*8-bit的组织结构和两线串行接口,最大存储2KB程序。电路接法与芯片Datasheet所提供的典型电路接法相同,按照Datasheet画原理图焊接即可。24C02中A2A1A0是器件地址输入引脚,SDA为串行地址和数据输入输出,SCL串行时钟输入,WP写保护引脚。3.16 巡线模块的设计巡线模块与反射式红外传感器的原理相似,巡线传感器的原理图如3-11所示,其具体原理为:当电源稳定供电时,红外发射管不断地发射出红外光,当发射出的红外光遇到地面时,发射出的红外光会发生漫反射,反射回传感器,这时传感器的三极管就会根据反射回传感器的红外光线的强弱按照三极管伏安特性曲线(非线性曲线)改变电流大小,见图3-12所示,电流大小乘以R2电阻的阻值即为比较器LM339的4管脚的输入电压,与受电位器控制的5脚电压一并影响输出电压,运算放大器的输出信号与两个输入端的信号电压差成正比,输出电压=A0(E1-E2),其中,A0是运放的低频开环增益(如100dB,即100000倍),E1是同相端的输入信号电压,E2是反相端的输入信号电压。当5脚电压高于4脚端时,输出端输出高电压。当4脚端电压高于5脚端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339 用在弱信号检测等场合是比较理想的。LM339 的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端需要接上拉电阻,以提高输出端的带负载能力。在传感器感应到黑线时,接收三级管处于截止状态,电流很微弱,相当于大电阻,电流微弱使4脚电压低,4脚电压低于5脚电压,输出为高电平。反之,当传感器检测到地面时,接收三极管导通,电流较大,相当于小电阻,电流增加使运算放大器4脚电平升高,4脚电压高于5脚电压,输出为低电平。所以从宏观上来看,巡线传感器在电路正常工作的情况下,检测到黑线时输出高电平,检测正常地面时输出低电平,为高电平有效器件。也可以将运算放大器的4脚和5脚反接,这时传感器为低电平有效器件。图3-12 巡线传感器原理图3.17 火焰传感器的设计火焰传感器的原理与上述传感器大体相同,当二极管N1检测到火焰时,二极管导通,输出大电流,等效于电阻较小,这样R1上的压降也较大,3脚电压较低。当二极管N1没有检测到火焰时,二极管截止,输出小电流,等效于大电阻,R1的压降较小,3脚电压较高。同时,这个3脚的电压可以直接作为输出,其输出的是一个火焰强度的模拟信号。电容C2的作用是滤除比较器3脚输入电压中的交流分量,同理,电容C1的作用是滤除电源电压的交流分量,使电源电压稳定有效。发光二极管D1作为电源指示灯,使用R3作为D1的限流电阻,当电源稳定后,D1正常发光。电阻R2作为电位器,通过R2的分压改变比较器2脚的电压,这个电压我们可以给其命名为基准电压,改变这个基准电压可以改变传感器的精度和检测范围。在火焰传感器正常工作后,检测到火焰时,3脚电压较低,低于2脚的基准电压,比较器1脚输出低电平,当1脚为低电平时,火焰指示灯D2两端存在电压压差,D2指示灯发光。反之,没有检测到火焰时,3脚电压较高,高于2脚的基准电压,比较器1脚输出高电平,D2指示灯熄灭。从宏观上总结:检测到火焰时,输出端1脚输出低电平数字信号,没检测到火焰时,输出端1脚输出高电平数字信号,该传感器为低电平有效器件。输出段3脚为火焰检测的模拟信号,该模拟信号电压值越低,表示火焰强度越大。图3-13 二极管伏安特性曲线图3-14 火焰传感器原理图第4章 软件设计第四章 软件设计4.1 基本原理设计的智能小车拥有三个光电式传感器(型号:E18-D80NK),分别安装在智能小车的左方、前方、右方,两个巡线传感器,安装在小车的车头的下方,一个火焰传感器,安装在智能小车的底盘部分,这样智能小车就可以随时监控左前右三个方向的障碍物情况,两个巡线传感器随时监控是否踩到黑线,火焰传感器随时监测前方是否着火,这些传感器即时反馈周围的环境状况给STC89C52RC单片机,单片机根据光电传感器的反馈信号控制L298N电机驱动模块,L298N芯片将单片机的信号进行功放,使得外部电路能够带动左右两个直流电机,智能小车的功能就实现了。4.2 控制真值表和卡诺图真值表中,左前右三列代表着小车左前右三个光电传感器的反馈电平,0/1分别代表三个光电传感器反馈低电平和高电平,状态代表着将左前右三个传感器这三位反馈数据转换为十进制数据表示,小车姿态代表着小车在这些状态时应该采取的行驶方式,左轮信号和右轮信号代表着单片机需要给控制芯片发送的控制信号,蜂鸣器和LED列描述了小车在这些不同的状态下的工作方式。状态左前右小车姿态左轮信号右轮信号 蜂鸣器 LED0000后退 01 01 无声音亮亮1001 右转 10 01 长鸣叫长闪灭2010 前进 10 10 无声音灭灭 3011 微右转 10 00 短鸣叫短闪灭 4100 左转 01 10 长鸣叫灭长闪 5101 随机 - - 长鸣叫长闪长闪 6110 微左转 00 10 短鸣叫灭短闪7111 前进 10 10 无声音灭灭表4-1控制真值表状态0时,三个传感器的状态均为低电平,意味着智能小车左前右三个方向都存在障碍物,这时小车通过检测到的电平数据感知到前方不可通行,小车后退,如图4-1所示。状态1时,小车左方和前方都有障碍物,这时小车需要快速改变行进方向,通过单片机的控制使得小车的左轮正转,右轮反转,在宏观上表现为小车围绕小车中心发生旋转,小车右转。状态2在实际测试中很难发生,代表着小车行进在很窄的路面上,因为小车左右两个传感器几乎不可能同时有效,两个传感器电平变化之间肯定存在一定的时差,先变化的那个传感器电平变低的同时,小车检测到左右两边有一边是障碍,这时小车的状态为3或者6,小车采取微转向的方式以躲避障碍物。小车在单个传感器有效的情况下会一直微转向直到小车左右都没有障碍,所以,左右两个传感器很难同时有效。图4-1 状态0示意图图4-2 光线反射式避障状态3和状态6作为本设计的创新点,智能小车能够在探测到障碍物时如同光线照射到镜面上那样发生镜面反射,有入射角等于反射角,前文中已经提到,万向轮的优点在于转弯不需要转角,可以原地转弯,因为其不需要圆弧转向,所以万向轮可以精确控制小车的行进路线,缺点是无法精确控制转角。为什么在万向轮根本无法精确控制转角的情况之下,小车还能正确地入射角等于反射角呢?因为智能小车利用左右的传感器检测左右障碍物,如果存在障碍物,则靠近障碍物那边的轮子正转,没有障碍物那边的轮子不转,这时小车开始围绕小车远离障碍物的那只轮子开始转向,由于光电传感器的探测距离固定。根据勾股定理,有入射角等于反射角,如图4-2所示。因为跟光线照射到镜面所发生的现象相同,略微不同之处在于光线照射到镜面上,其反射点在镜面上,而小车行驶靠近障碍物的反射点与障碍物有一定的距离,所以我们可以命名这种转向方式为镜面发射式
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


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

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


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