首页 智能循迹小车

智能循迹小车

举报
开通vip

智能循迹小车计 算 机 综 合 课 程 设 计 课设名称:  智能寻迹小车      姓    名:              班    级:            学    号:        指导教师:            完成时间:    2013.11.27        目录 摘    要    I Abstract    II 1.绪论    1 1.1 课题背景    1 1.2 国内外的研究现状分析    1 1.3 课题研究的目的和意义    2 2.系统方案设计    3 2.1 循迹原理  ...

智能循迹小车
计 算 机 综 合 课 程 设 计 课设名称:  智能寻迹小车      姓    名:              班    级:            学    号:        指导教师:            完成时间:    2013.11.27        目录 摘    要    I Abstract    II 1.绪论    1 1.1 课题背景    1 1.2 国内外的研究现状分析    1 1.3 课题研究的目的和意义    2 2.系统 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计     3 2.1 循迹原理    3 2.2 系统总体框图    3 2.3 轨迹检测模块    4 2.3.1传感器模块    4 2.3.2检测放大器方案    4 2.4 MCU控制模块    6 2.5 电机及驱动模块    7 2.5.1转向和动力    7 2.5.2电动机模块    7 2.5.3调速系统    8 2.5.4电机驱动模块    9 2.6 电源模块    9 2.7 显示模块    9 2.8 系统工作原理    10 3.硬件设计    11 3.1 电源模块设计    11 3.1.1 智能车电源设计要点    11 3.1.2 低压差稳压芯片LM2940 简介    11 3.2 单片机最小系统设计    12 3.3 前向通道设计    14 3.4 后向通道设计    20 3.4.1  后向通道简介    20 3.4.2  后轮电机驱动模块设计    21 4.软件设计    24 4.1 系统总体流程图    24 4.2 PWM调速简介以及实现    25 4.3 程序的模块化设计    26 4.3.1 小车循迹原理流程图    27 4.3.2 定时器中断程序流程图    28 4.3.3 部分程序设计    29 参考文献    32 附    件    33 摘要     智能车辆作为现代社会的新产物,以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备,智能小车的研究和开发正成为广泛关注的焦点。本设计是一种基于单片机控制的简易自动寻迹小车系统,系统的设计主要分为总体方案设计、硬件和软件设计,其中每一部分均采用模块化设计原则,使得设计易读、易修改、易扩充。 该设计重点介绍循迹小车如何解决轨迹检测和路线跟随问题。系统以AT89C51为控制核心,利用定时器T0通过定时器中断产生PWM波形,通过调整占空比控制小车速度和转向。利用红外光电传感器ST188对路面黑色轨迹进行检测,并将路面检测信号反馈给单片机,单片机对采集到的信号予以分析判断,及时控制左右轮电机的转速以调整小车转向,从而使小车能够沿着环形黑色轨迹自动行驶,达到自动寻迹的目的。 关键词:80C51单片机、光电检测器、PWM调速、电动小车 Abstract Intelligent vehicle is a new product of modern society, and product development based on intelligent vehicle has become a key equipment automation logistics transportation, flexible production organization system, research and development of intelligent vehicle is becoming the focus of attention. The design is a simple car auto tracing system based on single-chip microcomputer control, system design mainly includes design, as the scheme of hardware and software design, where each part adopts modular design makes the design principle, readable, easy to modify, extend. The design focuses on how to solve the problem of trajectory tracking car detection and route to follow problem. System uses AT89C51 as the control core, using the timer T0 timer interrupt through PWM waveform generation, by adjusting the duty cycle control vehicle speed and steering. For tracing using infrared photoelectric sensor ST188, and the pavement detection signals back to the SCM, SCM to analysis signal collected, timely control left and right wheel motor speed to adjust the car steering, so that the car can along the ring shaped black trajectory automatically, to achieve the purpose of automatic tracing. keyword: 80C51 microcontroller, photoelectric detector, PWM speed, electric car 1.绪论 1.1课题背景 目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上许多国家都在积极进行智能车辆的研究和开发设计。智能车辆也叫无人车辆,是一个集环境感知、 规划 污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文 决策和多等级辅助驾驶等功能于一体的综合系统。它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和巡航控制等功能。智能车辆的主要特点是在复杂的道路情况下,能自动地操纵和驾驶车辆绕开障碍物并沿着预定的道路(轨迹)行进。智能车辆在原有车辆系统的基础上增加了一些智能化技术设备:  1) 计算机处理系统,主要完成对来自摄像机所获取的图像的预处理、增强、分析、识别等工作。 2) 摄像机,用来获得道路图像信息。 3) 传感器设备,车速传感器用来获得当前车速,障碍物传感器用来获得前方、侧方、后方障碍物等信息。 智能车辆作为移动机器人的一个重要分支正得到越来越多的关注。 1.2国内外的研究现状分析 智能化作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。同遥控小车不同,遥控小车需要人为控制转向、启停和进退,比较先进的遥控车还能控制其速度,而智能小车,则可以通过计算机编程来实现其对行驶方向、启停以及速度的控制,无需人工干预,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体。 国外智能车辆的研究历史较长。它的发展历程大体可以分成三个阶段: 第一阶段  20世纪50年代是智能车辆研究的初始阶段。1954年美国Barrett Electronics 公司研究开发了世界上第一台自主引导车系统AGVS(Automated Guided Vehicle System)。 第二阶段  从80年代中后期开始,世界主要发达国家对智能车辆开展了卓有成效的研究。在欧洲,普罗米修斯项目开始在这个领域的探索。在美洲,美国成立了国家自动高速公路系统联盟(NAHSC)。在亚洲,日本成立了高速公路先进巡航/辅助驾驶研究会。 第三阶段  从90年代开始,智能车辆进入了深入、系统、大规模研究阶段。最为突出的是,美国卡内基.梅隆大学(Carnegie Mellon University)机器人研究所一共完成了Navlab系列的10台自主车(Navlab1—Navlab10)的研究,取得了显著的成就。 而我国开展智能车辆技术方面的研究起步较晚,开始于20世纪80年代。而且大多数研究处在于针对某个单项技术研究的阶段。虽然我国在智能车辆技术方面的研究总体上落后于发达国家,并且存在一定得技术差距,但是我们也取得了一系列的成果,主要有: 1) 中国第一汽车集团公司和国防科技大学机电工程与自动化学院与2003年研制成功我国第一辆自主驾驶轿车。 2) 南京理工大学、北京理工大学、浙江大学、国防科技大学、清华大学等多所院校联合研制了7B.8军用室外自主车,该车装有彩色摄像机、激光雷达、陀螺惯导定位等传感器。 可以预计,我国飞速发展的经济实力将为智能车辆的研究提供一个更加广阔的前景。因此,对智能小车进行深入细致的研究,不但能加深课堂上学到的理论知识,更能将理论转化为实际运用,为将来打下坚实的基础。 1.3课题研究的目的和意义 目前,国内外的许多大学及研究机构都在积极投入人力、财力研制开发针对特殊条件下的安全监测系统。其中包括研究使用远程、无人的方法来进行实现,如机器人、远程监控等。无线传输的发展使得测量变得相对简单而且使得处理数据的速度变得很快甚至可以达到实时处理。 该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。机器人要实现循迹功能,还可以扩展自动避障等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。 通过构建智能小车系统,培养设计并实现自动控制系统的能力。在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测、驱动和显示等外围电路,采用智能控制算法实现小车的智能循迹。灵活应用机电等相关学科的理论知识,联系实际电路设计的具体实现方法,达到理论与实践的统一。在此过程中,加深对控制理论的理解和认识。 2.系统方案设计 按照题目要求,本次设计的系统是利用主控芯片控制电机,通过相关传感器对路面的轨迹信息进行检测,并将检测信号传输给控制器,然后控制器做出相应的处理,实现小车的寻迹前行。设计的首要问题即解决路径检测和小车转向。 2.1循迹原理 采用与地面颜色有较大差别的线条(例如白色路面上画一条黑色曲线)作引导线,由于不同颜色对光线的反射系数不同,因此可根据反射光的强弱来判断路径是否正确。 在该模块中可选用一种简单有效、应用较普遍的检测方法——红外探测法[1]。 红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。 正是基于光电传感器对是否接收到反射信号所产生的电压信号原理,经过后续电路处理来判断行车路径是否正确,通过单片机控制系统调节寻迹小车的转向使其能够自动检测到引导线,并沿此引导线移动。 2.2系统总体框图 根据设计要求,小车系统主要分为以下几个模块: 单片机控制模块、轨迹检测模块、电机驱动模块。系统框架图如图2.1所示 小车 图2.1  系统框架图 单片机控制系统相当于寻迹机器人的大脑,轨迹检测系统相当于寻迹机器人的眼睛,电机系统相当于机器人的腿脚。由轨迹检测系统检测曲线的位置并输出检测信息,对检测信息进行处理后将其输入到控制系统,控制系统根据输入信息进行判断,并根据判断结果输出指令给移动系统,移动系统根据指令驱动寻迹机器人左转、右转、前行等,从而实现寻迹功能。 2.3轨迹检测模块 根据引导线与路面的反射系数不同,通过以光电传感器为核心的光电检测电路对路面两种颜色进行区分,并将传感器信号转化为不同电平信号,将此电平信号送单片机,由单片机控制转向电机作相应的转向,确保小车沿引导线行驶。 2.3.1传感器模块 方案一:采用光敏电阻组成光敏传感器。光敏电阻原理简单,使用方便,价格低廉,但受光照强度影响很大,可靠性不高。 方案二:采用角度传感器。实用角度传感器来测量车体水平方向和竖直方向的角度,感测到的倾角信号经编码后传感给单片机,由单片机控制电动机的运行。角度传感器灵敏度合适,响应速度好,但使用复杂,价格高昂,且不易购买。 方案三:采用光电传感器。光电传感器原理简单,实现方便,价格低廉,可集发射器和接收器于一体。使用这类光电传感器电路简单,工作性能稳定,能完成需要的信号检测功能。 考虑到小车和路面的相对位置,本设计选择方案三,采用红外线反射式光电检测电路。选择ST188红外光电传感器,它的特点是尺寸小、使用方便、工作状态受温度影响小、工作较稳定、外围电路简单。 2.3.2检测放大器方案 由于传感器的输出信号很微弱且带有噪音,因此必须先将该信号进行放大整形,整成高低电平形式再供单片机读取,在放大电路上有以下三种方案可供选择: 方案一:使用普通单级比例放大电路。其特点是结构简单、调试方便、价格低廉。但是也存在着许多不足。如抗干扰能力差、共模抑制比低等。 方案二:采用差动放大电路。选择优质元件构成比例放大电路,虽然可以达到一定的精度,但有时仍不能满足某些特殊要求。例如,在测量本设计中的光电检测信号时需要把检测过来的电平信号放大并滤除干扰,而且要求对共模干扰信号具有相当强的抑制能力。这种情况下须采用差动放大电路,并应设法减小温漂。但在实际操作中,往往满足了高共模抑制比的要求,却使运算放大器输出饱和;为获得单片机能识别的TTL电平却又无法抑制共模干扰。 方案三:电压比较器方案。电压比较器的功能是比较两个电压的大小,例如将一个信号电压Ui和一个参考电压Ur进行比较,在Ui>Ur和Ui 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。 综上分析,本设计选择方案二。 2.6 电源模块 方案一:利用电池组构成5V电源,直接给系统各部件供电,此电路结构简单成本低,但稳定性不好,电机工作时易产生较大干扰电流窜入控制系统影响系统正常运行。 方案二:用电池串联6--8V电压,接后续稳压电路,单片机与大电流器件分开供电,避免大电流器件对单片机造成干扰。在不超过单片机工作电压范围的情况下,又能驱动直流电机。且这个电源结构简单,价格便宜,容易得到。 综上所述,本设计选择方案二。 2.7显示模块 本系统采用两个颜色不同的的LED灯来显示系统的运行状况,P2.6口接绿灯,P2.7口接红灯。当系统正常运行时,P2.6口输出低电平,P2.7口输出高电平,绿色LED灯亮,红灯熄灭,电机正常运行。当系统出现问题时,P2.6输出高电平,P2.7输出低电平,绿灯熄灭,红灯亮,电机停转,系统须复位后才能正常运行。 2.8系统工作原理 本次设计利用ST188红外传感器作为路经检测元件,由于传感器输出信号微弱且带有噪音干扰,因此传感器输出接放大电路(施密特触发器)进行滤波整形,将传感器信号转换为稳定的高低电平以供单片机查询。 系统上电后,单片机开始不停地扫描与检测电路连接的I/O 口状态。一旦检测到某个I/O 口有信号变化,就执行相应的判断程序,并通过电机驱动LN298N驱动左、右电机。在驱动过程中,单片机采用T0定时计数器,通过来产生PWM波,控制电机转速。当左右电机转速相同时则小车直走,若不同则实现转向功能。 小车转向主要通过两不同占空比的PWM波通过驱动电路来控制左右轮电机的转速,由于占空比不同因此两轮转速不同,左轮快则向右转反之则左转从而纠正小车的状态,使之回到预设轨道上。 系统原理图如图2.3所示。 电源 图2.3  系统原理图 3.硬件设计 根据各模块方案选择结果,本次设计所涉及到的硬件部分主要包括: 1) 电源模块,电源采用干电池接后续稳压电路为各模块独立供电。 2) 单片机最小系统模块,使单片机能正常工作。 3) 前向通道模块,包括传感器电路和放大电路。 4) 后向通道模块,利用单片机通过驱动芯片L298N驱动直流电机。 3.1 电源模块设计 3.1.1 智能车电源设计要点 由于电机在正常工作时对电源的干扰很大, 只用一组电源时会影响单片机的正常工作, 所以选用双电源供电。一组5V 电源给单片机和控制电路供电, 另外一组5V、9V 电源给L298N 的+VSS、+VS供电。 电源是整个系统稳定工作的前提,因此必须有一个合理的电源设计,且应该主要注意稳压压差和最大输出电流两个指标能否满足设计要求。对于小车来说电源设计应注意两点: 1. 与一般的稳压电源不同,小车的电池电压一般在6-8V ,还要考虑在电池损耗的情况下电压的降低,因此常用的78系列稳压芯片不再能够满足要求,因此必须采用低压差的稳压芯片,在本设计中以较为常见的LM2940-5.0 为核心器件。 2. 单片机必须与大电流器件分开供电,避免大电流器件对单片机造成干扰,影响单片机的稳定运行。 3.1.2 低压差稳压芯片LM2940 简介 LM2940 系列是输出电压固定的低压差三端端稳压器;输出电压有5V、8V、10V 多种;最大输出电流1A;输出电流1A 时,最小输入输出电压差小于0.8V;最大输入电压26V;工作温度-40~+125℃;内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。同时LM2940 价格适中而且较容易购买,非常适合在本设计中使用。LM2940-5.0 封装和实物图如图3.1 所示。 图3.1  LM2940 封装和实物图 从封装可以看出LM2940-5.0 与78 系列完全相同,实际应用中电路也大同小异。图3.2 为参考电路图。 图 3.2  LM2940 参考电路图 如图3.2 所示,采用两路供电,这样可以使用其中一路单独为单片机,指示灯等供电。另外一路提供L298N、光电管工作电压。 3.2单片机最小系统设计 AT89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单、可靠。用89C51单片机构成最小应用系统[4]时,只要将单片机接上时钟电路和复位电路即可[2]。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:有可供用户使用的大量I/O口线,内部存储器容量有限,应用系统开发具有特殊性。 1) 时钟电路 AT89C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。AT89C51单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式。 本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ到12MHZ之间选择。电容值无严格要求,CX1、CX2可在20pF到100pF之间取值。所以本设计中,振荡晶体选择11.0592MHZ,电容选择30pF。 在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。为了提高温度稳定性,应采用NPO电容。 2) 复位电路 AT89C51的复位是由外部的复位电路来实现的。复位引脚RST通过在每个机器周期的对复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要VCC的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用11.0592MHZ时C取10uF,R取10KΩ。控制器模块如图3.3所示。 图3.3  51 单片机最小系统 除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。按键手动复位电路见图3.4。时钟频率选用6MHZ时,C取22uF,Rs取200Ω,RK取1KΩ。 图3.4  80C51复位电路 3) 程序存储器 MCS-51具有64kB程序存储器寻址空间,可以分为片内ROM空间和片外ROM空间,主要用于存放程序(可执行的二进制代码映像文件,包括程序中的数据信息)以及初始化代码等软件。在MCS-51系列中,8051/89C51片内分别驻留最低地址空间的4KB的ROM/EPROM,而8031则无内部程序存储器,需要外部扩展EPROM[6]。80C52内部驻留最低地址空间的8KB ROM,8032无内部程序存储器,也需要外部扩展EPROM[5]。MCS-51系列的程序计数器PC是16位的寄存器,它具有64KB的寻址能力。在使用逻辑地址寻址程序存储器时,不分内部和外部,CPU会自动按指定地址去片内或片外读取程序的指令代码。但是MCS-51不会把程序的执行从程序存储器地址空间转移到数据存储器地址空间,它不提供这种转移指令[5]。 3.3 前向通道设计 单片机用于测控系统时,总要有与被测对象相联系的前向通道[5]。因此,前向通道设计与被测对象的状态、特征、所处环境密切相关。在前向通道设计时要考虑到传感器或敏感元件选择、通道结构、信号调节、电源配置、抗干扰设计等。在通道电路设计中还涉及到模拟电路诸多问题。 1) 前向通道的含义 当将单片机用作测控系统时,系统中总要有被测信号输入通道,有计算机拾取必要的输入信息。作为测试系统,对被测对象拾取必要的原始参量信号是系统的核心任务,对控制系统来说,对被控对象状态的测试以及对控制条件的监测也是不可缺少的环节。 对被测对象状态的测试一般都离不开传感器或敏感元件,这是因为被测对象的状态参数常常是一些非电物理量,如温度、压力、载荷、位移等,而计算机是一个数字电路系统。因此,在前向通道中,传感器、敏感元件及其相关电路占有重要地位。 对被测对象的信号的拾取其主要任务就是最忠实地反映被测对象的真实状态,它包括实时性与测量精度。同时使这些测量信号能满足计算机输入接口的电平要求。 因此,单片机应用系统中的前向通道体现了被测对象与系统相互联系的信号输入通道,原始参数输入通道。由于在该通道中主要是传感器与传感器有关的信号调节、变换电路,故也可称为传感器接口通道[7]。 在单片机应用系统中,对信号输入、传感、变换应作广义理解,例如开关量的检测及信号输入,在单片机的各种应用系统中有着广泛的应用。最简单的开关量输入通道就是一个具有TTL电平的状态开关,如水银温度触点、温度晶闸管、时间继电器、限位开关等。故只要反映外界状态的信号输入通道都可称为前向通道。 并不是所有单片机应用系统都有前向通道,例如时序控制系统,只根据系统内部的时间序列来控制外部的运行状态;分布式测控系统中的智能控制总站完成上级主计算机与现场测、控子站计算机之间的指令、数据传送。这些应用系统没有被测对象,故不需要前向通道。 2) 前向通道的设计 本设计采用ST188红外传感器作为探测行车路径的检测元件。红外线传感器采用反射接收原理,一个红外线传感器配置了一个红外线发接受器、一个红外线接受器及其上拉电阻。其应用电路如图3.5所示。红外线发射器通电后不断会发射一定强度的红外线照射物体。红外线接收器在接受到一定强度的红外线会后导通。如图通过在红外线的正极接出一个信号来观察红外线接收器是否导通。当红外线接收器导通时,输出信号为0;反之则为1。红外线在不同颜色的物体上反射程度是不同的,当红外线传感器在黑色物体时,黑色物体吸收大量红外线,反射少量红外线,红外线接收其不足以导通,输出信号为1。当红外线传感器在白色物体上时,白色物体吸收的红外线少,反射的红外线少,红外线接收器导通,输出信号为0。因此本设计采用红外线传感器模块与有黑线的路面组合使用。 图3.5  红外线传感器的应用电路 3) 红外传感器ST188简介 ST188含一个反射模块(发光二极管)和一个接收模块(光敏三极管),实物如图3.6。通过发射红外信号,看接收信号变化判断检测物体状态的变化。A、K之间接发光二极管,C、E之间接光敏三极管(二者在电路中均正接,但要串联一定阻值的电阻),其特点如下: ① 采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。 ② 检测距离:4--13mm。 图3.6  ST188实物图 ③ 光电特性如表3-1:(Ta=25℃) 表3-1:ST188光电特性(Ta=25℃) 项目 符号 测试条件 最小 典型 最大 单位 输入 正向压降 VF IF=20mA - 1.25 1.5 V 反向电流 IR VR=3V - - 10 uA 输出 集电极暗电流 Iceo Vce=20V - - 1 uA 集电极亮电流 IL Vce=15V IF=8mA L3 0.30 - - mA L4 0.40 - - mA L5 0.50 - - mA 饱和压降 Vce IF=8mA,Ic=0.15mA - - 0.4 V 传输特性 响应时间 Tr IF=200mA,Vce=5V Rc=100Ω - 10 - us Tf - 10 - us 4) 传感器的安装 在小车具体的循迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设4个红外探测头,进行两级方向纠正控制,提高其循迹的可靠性。这4个红外探头的具体位置如图3.7所示: 左轮 图3.7  传感器安装图 图中循迹传感器全部在一条直线上。其中X1与Y1为第一级方向控制传感器,X2与Y2为第二级方向控制传感器,并且黑线同一边的两个传感器之间的宽度不得大于黑线的宽度。小车前进时,始终保持在X1和Y1这两个第一级传感器之间,当小车偏离黑线时,第一级传感器就能检测到黑线,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。若小车回到了轨道上,即4个探测器都只检测到白纸,则小车会继续行走;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围,这时第二级探测器动作,再次对小车的运动进行纠正,使之回到正确轨道上去。可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车循迹的可靠性。 由于光电传感器只输出一种高低电平信号且伴有外界杂波干扰,在本设计中可利用滞回比较器来解决简单电压比较器抗干扰能力差的问题,使其不会因为输入信号因受干扰在阈值附近变化时比较器输出会反复的从一个电平跳到另一个电平。 回比较器有两个数值不同的阈值,当输入信号因受干扰或其他原因发生变化时,只要变化量不超过两个阈值之差,滞回比较器的输出电压就不会来回变化,抗干扰能力强。 +5.0V +4.0V +4.6V 图3.8 迟滞比较器 如果用迟滞比较器处理图3.8 (a)所示的输入信号,当上升超过上参考电压时,迟滞比较器跳变(A点):当下降小于下参考电压时,迟滞比较器才再次跳变(C点)。可见,迟滞比较器对输入信号上升段和下降段的跳变时机不相同:当输入信号上升时,超过之后迟滞比较器跳变;当输入信号下降时,小于之后迟滞比较器跳变。 对于图3.8(b)所示的迟滞比较器电路,上、下参考电压可由以下两个 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 确定: 根据实际+V=+5V且光电传感器输出最大会有0.4V的压降,故  的范围可设定为+4.0V~+4.6V,由此可估算的阻值约为: 在本设计中选用放大器LM324[12],其简介如下: LM324为四运放集成电路,采用14脚双列直插塑料封装。内部有四个运算放大器,有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源3~30V,或正负双电源±1.5V~±15V工作。 在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。在电路中,LM324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合适的比较电压。 1) 特点:                                ① 内部频率补偿 ② 直流电压增益高(约100dB)            ③ 单位增益频带宽(约1MHz)  ④ 电源电压范围宽:单电源(3—32V); 双电源(±1.5—±16V) ⑤ 低功耗电流,适合于电池供电          ⑥ 低输入偏流 ⑦ 低输入失调电压和失调电流 ⑧ 共模输入电压范围宽,包括接地 ⑨ 差模输入电压范围宽,等于电源电压范围 2) 电参数如表3-2:(除非特别说明,Vcc=5.0V,VEE=GND,0℃≤TA≤70℃) 表3-2:LM324电参数(0℃≤TA≤70℃) 参数 符号 测试条件 最小值 典型值 最大值 单位 输入失调电压 VIO VCM=0V至VCC-1.5V 9.0 mA 输入失调电流 IIO 150 nA 输入偏置电流 IBIAS 40 500 nA 共模输入电压范围 VI(R) VCC=30V 0 VCC-2.0 V 大信号电压增益 GV VCC=30V,RL≥2KΩ 15 V/mV 输出电压摆幅 VO(H) VCC=30V, RL=2KΩ 26 V VCC=30V, RL=10KΩ 27 28 VO(L) VCC=30V,RL≥10KΩ 5 20 mV 输出电流 ISINK VCC=15V,VO(P)=2V 5 9 mA 差模输入电压 VI(DIFF) VCC V 前向通道电路结构图如图3.9 图3.9 前向通道电路结构 3.4 后向通道设计 3.4.1  后向通道简介 在工业控制系统中,单片机总要对控制对象实现操作,因此,在这样的系统中,总要有后向通道。后向通道是计算机实现控制运算处理后,对控制对象的输出通道接口。 根据单片机的输出和控制对象实现控制信号的要求,后向通道具有以下特点: 1) 小信号输出、大功率控制。根据目前单片机输出功率的限制,不能输出控制对象所要求的功率信号。 2) 是一个输出通道。输出伺服驱动系统控制信号,而伺服驱动系统中的状态反馈信号通常是作为检测信号输入前向通道。 3) 接近控制对象,环境恶劣。控制对象多为大功率伺服驱动机构,电磁、机械干扰较为严重。但后向通道是一个输出通道,而且输出电平较高,不易受到直接损害。但这些干扰易从系统的前向通道窜入。 单片机在完成控制处理后,总是以数字信号通过I/O口或数据总线送给控制对象。这些数字信号形态主要有开关量、二进制数字量和频率量,可直接用于开关量、数字量系统及频率调制系统,但对于一些模拟量控制系统,则应通过数/模转换成模拟量控制信号。 根据单片机输出信号形态及控制对象要求,后向通道应解决: 1) 功率驱动。将单片机输出信号进行功率放大,以满足伺服驱动的功率要求。 2) 干扰防治。主要防治伺服驱动系统通过信号通道﹑电源以及空间电磁场对计算机系统的干扰。通常采用信号隔离﹑电源隔离和对功率开关实现过零切换等方法进行干扰防治。 3) 数/模转换。对于二进制输出的数字量采用D/A变换器;对于频率量输出则可以采用PWM变换器。 3.4.2  后轮电机驱动模块设计 前面已经提到过,由于单片机的驱动能力不足,无法驱动像电机这样的大功率外部器件,因此必须外加驱动电路。电机常用的驱动芯片很多,在本设计中选用硬件设计简单,驱动效率较高的L298N 作为电机驱动芯片,在介绍L298N 之前有必要介绍一下H 桥电路[11]。 H 桥驱动电路是较为常见的一种,图3.7 所示为一个典型的直流电机控制电路。电路得名于“H 桥驱动电路”是因为它的形状酷似字母H。 如图3.10 所示,H 桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。由于H 桥电路可以很方便的实现电机正反转的驱动因此应用广泛。 图3.10 典型H 桥驱动电路 要使电机运转,必须使对角线上的一对三极管导通。例如,如图3.11 所示,当Q1 管和Q4 管导通时,电流就从电源正极经Q1 从左至右穿过电机,然后再经Q4 回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1 和Q4 导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动。 图3.12 所示为另一对三极管Q2 和Q3 导通的情况,电流将从右至左流过电机。当三极管Q2 和Q3 导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动。 图 3.11  H 桥驱动电机正转                      图 3.12  H 桥驱动电机反转 驱动电机时,保证H 桥上两个同侧的三极管不会同时导通非常重要。如果三极管Q1 和Q2 同时导通,那么电流就会从正极穿过两个三极管直接回到负极。此时,电路中除了三极管外没有其他任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管。基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。 图3.13 所示就是基于这种考虑的改进电路,它在基本H 桥电路的基础上增加了4 个与门和2个非门。4 个与门同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。而2个非门通过提供一种方向输人,可以保证任何时候在H 桥的同侧腿上都只有一个三极管能导通。 图3.13 改进后的H 桥驱动电路 采用以上方法,电机的运转就只需要用三个信号控制:两个方向信号和一个使能信号。如果IN1信号为0,IN2信号为1,并且使能信号是1,那么三极管Q1 和Q4 导通,电流从左至右流经电机;如果IN1信号变为1,而IN2信号变为0,那么Q2 和Q3 将导通,电流则反向流过电机(图3.14)。 图 3.14  驱动电机转动时的信号示意图 由于H 桥电路有诸多的优点,但是在实际制作过程中电路又比较麻烦,因此在本设计中采用H 桥集成电机驱动芯片L298N。L298N 的工作原理和以上介绍的H 桥相同,以下图3.15为L298N的引脚图和表3-3为输入输出关系表。 表3-3:L298N输入输出关系 图3.15  L298N外部引脚                  单片机P2口控制的电机驱动电路如图3.16所示。 图3.16  电机驱动电路图 在驱动电路中,主要利用单片机P2.4和P2.5端口输出PWM波形控制电机转速。P2.0~P2.3输出状态值控制电机转向。 4.软件设计 根据系统设计原理,单片机需要通过查询与检测电路相接的I/O口状态,以判断行车轨迹状况,然后通过不同占空比的PWM波,实现电机的转速控制。软件设计主要通过程序实现,即包括传感器信号的读取(由单片机查询与检测电路相连的I/O口状态,确定检测信号的来源)和PWM波的产生(由单片机T0定时器实现)。 4.1  系统总体流程图 程序主要的任务是,让单片机查询传感器模块发出的路面检测信号,根据信号作出反应,控制电动机工作实现自动寻迹。在设计中采用两级光电传感器作为路经检测元件,当第一级传感器检测到黑线时小车开始转向,此时若第二级传感器再检测到黑线小车加速转向,直到第二级和第一级传感器都不再检测到黑线为止。其程序流程图4.1所示。 转向子程序2 图4.1  系统程序流程图 4.2  PWM调速简介以及实现 PWM——脉冲宽度调制,即占空比可变的脉冲波形[3]。也就是说用单片机产生一定周期的方波,而且方波中高电平的时间可以已自己调整,这就是PWM 波。  PWM是智能小车设计中一个很重要的应用,首先转向的控制就是给一定占空比的方波来实现不同的转角的,其次后轮电机的调速也是通过不同占空比的方波来实现。 对于PWM波的产生不同的单片机虽然有不同的方式但是大致的原理是一样的,对于51单片机由于没有自带PWM波产生的寄存器因此需要通过软件的方式来实现。本次设计以定时器计数的方式产生PWM 波,如图4.2,D为预设占空比,T为定时周期。 51 单片机也可以采用相同的方式,有所不同的是51 单片机中并没有上面所提到的寄存器,因此需要自己设定一些变量进行计数。在设置定时器时应注意以下两点: ① 合理选择进入中断的时间和计数上限。 ② 计数上限和最终的PWM 频率的选择应由外部器件的具体要求决定。 图4.2  PWM 时序图 本系统中通过控制51单片机的定时器T0的初值,从而可以实现P2.4和P2.5输出口输出不同占空比的脉冲波形。定时计数器若干时间(比如0.1ms)中断一次, 就使P2.4或P2.5产生一个高电平或低电平。 将直流电机的速度分为100个等级, 因此一个周期就有个100脉冲, 周期为100个脉冲的时间。速度等级对应一个周期的高电平脉冲的个数。占空比为高电平脉冲个数占一个周期总脉冲个数的百分数。 一个周期加在电机两端的电压为脉冲高电压乘以占空比。占空比越大, 加在电机两端的电压越大, 电机转动越快。电机的平均速度等于在一定的占空比下电机的最大速度乘以占空比。当我们改变占空比时, 就可以得到不同的电机平均速度, 从而达到调速的目的。精确地讲, 平均速度与占空比并不是严格的线性关系, 在一般的应用中,可以将其近似地看成线性关系。 4.3 程序的模块化设计 在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。 为了完成要求设计,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法[13]。 模块程序设计法的主要优点是: 1) 单个模块比起一个完整的程序易编写及调试; 2) 模块可以共存,一个模块可以被多个任务在不同条件下调用; 3) 模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。 本系统软件采用模块化结构,由主程序﹑中断子程序﹑转向子程序构成。 4.3.1 小车循迹原理流程图 小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序,先确定4个探测器中的哪一个探测到了黑线,如果左面第一级传感器或者左面第二级传感器探测到黑线,即小车左半部分压到黑线,车身向右偏出,此时应使小车向左转;如果是右面第一级传感器或右面第二级传感器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。在经过了方向调整后,小车再继续向前行走,并继续探测黑线重复上述动作。循迹流程图如图4.3所示 Y 图4.3  循迹原理流程图 由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。第二级通常是在超出第一级的控制范围的情况下发生作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来,则通常使第二级转向力度大于第一级,即Turn_left2 > Turn_left1,Turn_right2 > Turn_right1 (其中Turn_left2,Turn_left1, Turn_right2 , Turn_right1为小车转向力度,其大小通过改变单片机输出的占空比的大小来改变),具体数值在实地实验中得到。 小车的具体运行状况如表4-1所示。 表4-1:小车运行状况表 左轮转速 左2传感器 左1传感器 右1传感器 右2传感器 右轮转速 运行方式 30 0 0 0 0 30 直行 5 0 1 0 0 50 左转 5 1 1 0 0 60 加速左转 50 0 0 1 0 5 右转 60 0 0 1 1 5 加速右转 0 其它 其它 其它 其它 0 停止 4.3.2 定时器中断程序流程图 利用51单片机的T0定时计数器,让单片机P2口的P2.4和P2.5引脚输出占空比不同的方波, 然后经驱动芯片放大后控制直流电机。程序开始时,初始化定时器TO,设置定时定时计数器若干时间(本次设计采用0.1ms)中断一次, 就使P2.4或P2.5产生一个高电平或低电平。中断程序流程图如图4.4所示 t=0 图4.4  定时器中断程序流程图 4.3.3 部分程序设计 1) 延时子程序。制作一个延时子程序,让指令执行足够长的时间。 void delay_1ms(uint d) {  uint i;     while(d--)         for(i=0;i<75;i++); } 2) 定时器中断函数。在此函数中控制P2.4和P2.5端口产生PWM波形,控制电机转速。 void timer0( ) interrupt 1 { if(t=100)  {t=0;} TH0=(65536-100)/256; TL0=(65536-100)%256; } 3) 转向子程序。通过控制左右电机的转速来实现转向,即利用不同占空比的PWM波控制左右轮的转速。 void qianjin( ) {  zkb1=30;zkb2=30; } void turn_left1( ) {  zkb1=5;zkb2=50; } void turn_left2( ) {  zkb1=5;zkb2=60; } void turn_right1( ) {  zkb1=50;zkb2=5; } void turn_right2( ) {  zkb1=60;zkb2=5; } 4) 主程序。 void main( ) {  init( );   zkb1=30;   zkb2=30; ERROR1=1;   START1=0;   while(1)   {  IN1=1;IN2=0;IN3=0;IN4=1;     ENA=1;ENB=1;     while(1)     { xunji( ); }   } } 参考文献 [1]王化祥,张淑英.传感器原理及应用[M].天津:天津大学出版社,1999 [2]李群芳.单片微型计算机与接口技术[M].北京:电子工业出版社,2001 [3] 宋健,姜军生,赵文亮. 基于单片机的直流电动机PWM 调速系统[J ] . 农机化研究,2006 , (1) :102 - 103. [4] 边春元,李文涛,江杰,杜平. C51单片机典型模块设计与应用.机械工业出版社;2008.4 [5] 李华. MCS- 51 系列单片机实用接口技术[M].北京:航空航天大学出版社, 2003 [6] 楼然苗.51 单片机设计实例[M].北京:航空航天大学出版社,2005.8 [7] 王晶,翁显耀,梁业宗 自动寻迹小车的传感器模块设计.武汉理工大学自动化学院 湖北武汉  [8] 刘迎春. 传感器原理设计与应用[M] . 长沙:国防科技大学出版社,1992. [9] 何立民,单片机应用系统设计,北京:航天航空大学出版社,2~5,46~50 [10] 李广弟,单片机基础,北京:北京航空航天大学出版社,2001,56~64 [11] Jierey J,Radar C M,Radar C M,Gold B.A digital frequeney synthesizer. IEEE Trans on Audio Eltroacount[J],1971,august1971:48–57 [12] 陈伯时,电力拖动自动控制系统,第二版,北京:机械工业出版社,2000年6月,127~130 [13]Altera Corporation. Cyelone Device Handbook[Z],1999:307–345 [14]Advanced Digital Design With the Verilog HDL by Michael D.Ciletti.Publishing House of Electronics Industry[Z],2004:46–165 [15] 何希才,新型实用电子电路400例,电子工业出版社,2000年,60~65 [16] 赵负图,传感器集成电路手册,第一版,化学工业出版社,2004,590~591 [17] 张毅刚,彭喜元,新编MCS-51单片机应用设计,第一版,哈尔滨工业大学出版社,2003,25~27,411~417 附件 #include #define uchar unsigned char #define uint unsigned int unsigned char zkb1=0 ;    //**左边电机的占空比**// unsigned char zkb2=0 ;    //**右边电机的占空比**// unsigned char t=0;        //**定时器中断计数器**// sbit RSEN1=P1^0; sbit RSEN2=P1^1; sbit LSEN1=P1^2; sbit LSEN2=P1^3; sbit IN1=P2^0; sbit IN2=P2^1; sbit IN3=P2^2; sbit IN4=P2^3; sbit ENA=P2^4; sbit ENB=P2^5; sbit START1=P2^6; sbit ERROR1=P2^7; //****************延时函数****************// void delay_1ms(uint d) {     uint i;     while(d--)         for(i=0;i<75;i++); } //**********初始化定时器,中断***********// void init() {  TMOD=0x01;   TH0=(65536-100)/256;   TL0=(65536-100)%256;   EA=1;   ET0=1;   TR0=1; } //***********中断函数+脉宽调制***********// void timer0() interrupt 1 { if(t=100) {t=0;}     TH0=(65536-100)/256; TL0=(65536-100)%256; } //******************直行******************// void qianjin() {  zkb1=30;     zkb2=30; } //***************左转函数1***************// void turn_left1() {  zkb1=5;     zkb2=50; } //***************左转函数2***************// void turn_left2() {  zkb1=5;     zkb2=60; } //***************右转函数1***************// void turn_right1() {  zkb1=50;     zkb2=5; } //***************右转函数2***************// void turn_right2() {  zkb1=60;     zkb2=5; } //***************出错***************// void turn_ERROR() {  EA=0; ET0=0; TR0=0; zkb1=0;     zkb2=0;     while(1)     {     START1=1; ERROR1=0; ENA=0; ENB=0;     } } //***************循迹函数*****************// void xunji() { uchar flag;   if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1))     { flag=0; }//*******直行*******//   else  if((RSEN1==0)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1))     { flag=1;} //***左偏1,右转1***//   else  if((RSEN1==0)&&(RSEN2==0)&&(LSEN1==1)&&(LSEN2==1))     { flag=2;} //***左偏2,右转2***//   else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==1))     { flag=3; }//***右偏1,左转1***//   else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==0))     { flag=4; }//***右偏2,左转2***//     else     {flag=5;}   switch (flag)     {  case 0:qianjin();               break;         case 1:turn_right1();               break;         case 2:turn_right2();               break;         case 3:turn_left1();               break;         case 4:turn_left2();               break;     case 5:turn_error();               break;          default: break;       } } //****************主程序****************// void main() { init();   zkb1=30;   zkb2=30; ERROR1=1;   START1=0;   while(1)   {  IN1=1; //******给电机加电启动******//     IN2=0;     IN3=0;     IN4=1;     ENA=1;     ENB=1;     while(1)     {  xunji(); //*********寻迹**********//     }     } } 文档已经阅读完毕,请返回上一页!
本文档为【智能循迹小车】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321635
暂无简介~
格式:doc
大小:225KB
软件:Word
页数:29
分类:生活休闲
上传时间:2017-09-20
浏览量:25