欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)基于STC12C5A60S2单片机智能循迹小车.doc

    • 资源ID:3976000       资源大小:108.50KB        全文页数:43页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)基于STC12C5A60S2单片机智能循迹小车.doc

    毕业设计(论文)-基于STC12C5A60S2单片机智能循迹小车 毕 业 设 计题目 智能循迹小车 学 院 信息与电子工程学院 专 业 应用电子技术 届 别 7>2013届 学 号 1006190101 姓 名 王丹槽 指导教师 杨俊鸣 填写日期2013年月摘要本文论述了基于单片机的智能循迹小车的控制过程智能循迹是基于自动引导机器人系统用以实现小车自动识别路线以及选择正确的路线智能循迹小车是运用传感器单片机电机驱动及自动控制等技术来实现按照预先设定的模式下不用人来控制的能够达到自动在跑道上寻迹使小车行走循迹导航的高新科技该技术已经应用于无人驾驶机动车无人工厂仓库服务机器人等多种领域 本设计采用STC12C5A60S2单片机作为小车的控制核心采用TCRT5000红外光电对管的传感作为小车的循迹模块来识别白色跑道中的黑色引导线采集信号并将信号转换为能被单片机识别的数字信号同时由单片机进行PWM控制小车的转速采用驱动芯片L298N构成双H桥控制直流电机中软件系统采用C语言程序设计的电路结构简单容易实现可靠性高采用的技术主要有通过编程来控制小车的速度传感器的有效应用电机驱动L298N的采用关键词智能小车 STC89C52单片机 红外光电对管 L298N目录第1章 引言111 研究背景和发展现状112 研究目的和意义113 研究内容2第2章 系统设计要求及设计方案221 智能小车的设计要求2com容2com求322 系统设计整体思路3第3章 主要电路模块的实现方案比较和选择431 循迹模块4com 采用简易光电传感器4com0对红外光电对管4com对红外对管4com块最终选定方案532 主控系统5comPLD5com片机5com统最终选定方案633电机驱动模块6com电器6com阻网络或数字电位器6com率三极管6com动模块最终选定方案734 电机模块7com流减速电机7com进电机7com块最终选定方案835电源模块8com支AAA电池供电8com支AA电池供电8com块最终选定方案8第4章 系统电路图841 循迹模块842复位电路943 时钟电路1044直流电动机驱动电路1045电路原理图11第5章 系统的软件设计1251 主程序设计1252 判别XY路口程序设计1453 左拐子程序设计1554 右拐子程序设计1655 定时中断程序设计17第6章 毕业设计遇到的主要问题以及解决办法18第7章 结论19参考文献20致谢21附录A 元件使用清单22附录B XY路口前后两排光电对管示意图22附录C 小车行走到路口示意图23第1章 引言11 研究背景和发展现状随着电子技术计算机技术智能控制技术的飞速发展产品的智能化和小型化越来越成为人们关注的热点各种智能小车在智能化玩具中占了很大的比例近年来传统玩具的市场逐步缩水高科技智能化的电子类玩具则逐步成为市场的主流因此自动智能化小车的研究是非常有意义的具有很大潜在市场价值 智能小车也被称之为轮式机器人我们知道机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现机器人由于具有高度的灵活性可以帮助人们提高生产率改进产品质量和改善劳动条件等优点在世界各地的生产生活领域得到了广泛的应用智能小车正是模仿机器人的一种尝试它是一种以汽车电子为背景涵盖控制模式识别电子电气单片机机械等多学科的科技创新性设计一般主要由路径识别速度采集角度控制以及车速控制等组成这种智能小车能够自动搜寻前进路线和判别路口体现出智能化和人性化的一面 12 研究目的和意义 随着人们物质文化生活水平的不断提高智能化的电子玩具深受人们的喜爱尤其是各种智能小车由于这类玩具具有较好的交互性可控性能够给人们带来很好的娱乐以及参与其中的体验高科技智能化的电子类玩具逐渐成为市场的主流与此同时智能小车可以应用于考古机器人医疗器械等许多方面尤其在足球机器人研究方面具有很好的发展前景因此智能化小车的研究不仅具有很大的现实意义还具有极为广阔的应用前景和市场价值通过构建智能小车系统培养设计并实现自动控制系统的能力在实践过程中熟悉以单片机为核心控制芯片设计小车的检测驱动等外围电路实现小车的智能循迹灵活应用电等相关学科的理论知识联系实际电路设计的具体实现方法达到理论与实践的统一在此过程中加深对控制理论的理解和认识STC89C52单片机芯片循迹是通过红外光电对管采集信号实现的利用红外光电对管检测跑道上的黑色轨迹时刻调整车体位置使车不离开轨道整个系统具有自动寻迹和路口判别功能直流电机启动通过L298N驱动芯片来驱动同时利用单片机对PWM方式进行直流电机的调速控制软件中主要用到红外光电管对黑色轨迹采集到信号来进行判别整个系统的电路结构较简单可靠性能高实验测试结果满足要求第2章 系统设计要求及设计方案21 智能小车的设计要求com容图21 小车结构示意图图22 场地示意图1 设计并制作一个智能小车两轮驱动一轮为万向轮如图212 基于51单片机C程序来设计智能小车在设计中采用Keil软件来完成小车的单道寻迹Y口寻迹X口寻迹和单双循环寻迹的程序设计其中场地示意图如图22com求 1万向轮在前可沿引导线逆时针方向运行一周全程时间不超过3分钟2万向轮在前可沿引导线逆时针方向运行两周并且每周E到F必须经过不同的S形路径 3 万向轮在前小车每一圈行驶的S形路线要与上一圈行驶的路线不同 22 系统设计整体思路图23 系统总体设计本系统由十对红外光电对管TCRT5000检测模块单片机STC89C52直流电机驱动电路模块电源模块和直流电机等部分组成如图23利用红外光电对管对黑线进行检测再利用单片机对红外光电管所反馈的信号进行处理及判断是否接收到黑线轨迹从而识别当前的路线情况经由单片机对路线进行判断后再利用单片机产生PWM信号对电机驱动电路进行控制使得两路直流电动机可独立实现正转快慢转停转从而使小车能够实现直走左拐右拐功能第3章 主要电路模块的实现方案比较和选择31 循迹模块com 采用简易光电传感器采用简易光电传感器结合外围电路探测实际效果并不理想小车对行驶过程中的稳定性要求很高且误测几率较大易受光线环境和路面介质影响在使用过程极易出现问题而且容易因为该部件造成整个系统的不稳定故最终未采用该方案com0对红外光电对管采用10对红外光电对管如图314对红外光电对管作寻路置于小车万向轮后面2只夹线6对红外光电对管作判断置于小车万向轮前根据10对光电对管接受到白线与黑线的情况来控制小车转向来调整车向测试表明只要合理安装好10对光电对管的位置就可以很好的实现循迹的功能图31 红外电对管com对红外对管采用7对红外对管如图323对红外对管作寻路置于小车万向轮后1只在线中间 4对红外对管作判断置于小车万向轮前当小车脱离轨道时即当置于中间的一只光对管脱离轨道时等待外面任一只检测到黑线后做出相应的转向调整直到中间的光电开关重新检测到黑线即回到轨道再恢复正向行驶现场实测表明小车在寻迹过程中有一定的左右摇摆不定虽然可以正确的循迹但其稳定性都次于第二种方案图32 循迹模块比较com块最终选定方案通过比较对于方案一与方案三来说容易导致小车的不稳定容易偏离跑道而方案二可以通过红外光电对管采集回来的信号通过单片机可以实现小车自我调整到达一定稳定性故选取方案二来实现循迹32 主控系统comPLD选用一片CPLD可编程逻辑器件如EPM7128LC84-15作为系统的核心部件实现控制与处理的功能CPLD具有速度快编程容易资源丰富开发周期短等优点可利用VHDL语言进行编写开发但CPLD在控制上较单片机有较大的劣势同时CPLD的处理速度非常快而小车的行进速度不可能太高那么对系统处理信息的要求也就不会太高在这一点上MCU就已经可以胜任了若采用该方案必将在控制上遇到许许多多不必要增加的难题为此我们不采用该种方案进而提出了第二种设想com片机采用单片机作为整个系统的核心用其控制行进中的小车以实现其既定的性能指标充分分析我们的系统其关键在于实现小车的自动控制而在这一点上单片机就显现出来它的优势控制简单方便快捷这样一来单片机就可以充分发挥其资源丰富有较为强大的控制功能及可位寻址操作功能价格低廉等优点因此这种方案是一种较为理想的方案com统最终选定方案通过上述的对比选定了STC89C52单片机作为本设计的主控装置因为此单片机具有功能强大的位操作指令IO口均可按位寻址程序空间多达8K对于此设计也绰绰有余更可贵的是此单片机价格非常低廉同时自己手上刚好有这片芯片节省资源同时综合考虑了传感器两部电机的驱动等诸多因素后我们决定采用STC89C52单片机作为主控电路33电机驱动模块com电器采用继电器对电动机的开或关进行控制通过开关的切换对小车的速度进行调整此方案的优点是电路较为简单缺点是继电器的响应时间慢易损坏寿命较短可靠性不高com阻网络或数字电位器采用电阻网络或数字电位器调节电动机的分压从而达到分压的目的但电阻网络只能实现有级调速而数字电阻的元器件价格比较昂贵更主要的问题在于一般的电动机电阻很小但电流很大分压不仅会降低效率而且实现很困难com率三极管采用功率三极管作为功率放大器的输出控制直流电机线性型驱动的电路结构和原理简单加速能力强采用由达林顿管组成的 H型桥式电路 如图44 用单片机控制达林顿管使之工作在占空比可调的开关状态下精确调整电动机转速这种电路由于工作在管子的饱和截止模式下效率非常高H型桥式电路保证了简单的实现转速和方向的控制电子管的开关速度很快稳定性也极强是一种广泛采用的 PWM调速技术现市面上有很多此种芯片方便购买com动模块最终选定方案图34 L298N通过上述的对比选用了L298N 如图34 因为这种调速方式有调速特性优良调整平滑调速范围广过载能力大能承受频繁的负载冲击还可以实现频繁的无级快速启动制动和反转等优点因此决定采用使用功率三极管作为功率放大器的输出控制直流电机34 电机模块com流减速电机采用直流减速电机配合L298N驱动芯片组合由于其内部由高速电动机提供原始动力带动变速 减速 齿轮组可以产生较大扭力外加额定直流电压时转速几乎相等com进电机采用步进电机配合L298N驱动芯片组合其转过的角度可以精确的定位可以实现小车前进路程和位置的精确定位com块最终选定方案综上所述我们采取了方案一因为优点在于硬件电路的设计简单转速几乎相等并且能够较好的满足系统要求而方案二优点较多但步进电机的输出力矩较低随转速的升高而下降且在较高转速时会急剧下降其转速较低不能够较好的满足系统的要求故我们选择方案一35电源模块com支AAA电池供电采用4支AAA电池单电源供电但由于4支串联后的电压太小不能同时给单片机和电机供电com支AA电池供电采用6支AA电池供电通过6支AA电池串接成72V电源后分别对单片机和直流电机进行供电com块最终选定方案综上所述方案一的方式可见是有比较不好的缺点但采用方案二可以解决方案一的问题让小车更好的完成其功能故选择了方案二来实现供电第4章 系统电路图41 循迹模块小车循迹原理在有黑的白纸 上行驶由于黑和白纸对光线的反射系数不同可根据接收到的反射光的强弱来判断道路在该模块中利用了简单普遍的检测方法红外探测法在比较器的正向端设置一个参考电压反向端与光电接收管连接当光电接收管没有接收到红外光信号时同向端电压大于反向端电压使得比较器输出高电平指示灯熄灭当光电接收管有接收到红外光信号时反向端电压大于同向端电压使得比较器输出低电平指示灯发亮由此高低电平作为单片机的输入信号注低电平为有效信号使得单片机能够对信号进行采集与处理图41 光电管电路图42复位电路按键按下系统复位电容处于用1k的电阻uf的电容只要时间大于两个机器周期以上的时间计算时间可以用t R×C来粗略计算t的单位是秒R的单位是欧姆C的单位是法拉图42 复位电路43 时钟电路时钟电路是晶体振荡器和两个微调电路组成的在单片机芯片内部有一个高增益方向放大器其输入端为引脚XTAL1其输出端为引脚XTAL2只需要在片外通过XTAL1和XTAL2引脚跨接晶体振荡器或在引脚与地之间加接微调电容形成反馈电路震荡即可工作由于此电路晶振使用的为12MHz的晶体因此它的时钟周期是0083us机器周期为1us一个机器周期由6个状态周期构成每个状态周期包括两个时钟脉冲时钟电路如图43所示图43 时钟电路44直流电动机驱动电路图44 H桥式电路该驱动芯片L298N有两路H型PWM电路 如图44 In1为高电平In2为低电平ENA为高电平时电机向正方向转In1为低电平In2为高电平ENA为高电平电机向相反方向转In1In2同时为高电平或低电平电机会快速停转如果ENA端为低电平整个H型PWM电路关闭电机停止通过单片机的IO控制L298N的四个输入端 如图45 分别实现对电机正反转加减速的控制并且通过控制使能端EN或PWM输入端控制电机的停止与转动也用于PWM控制调速图45 直流电机驱动电路45电路原理图根据各模块方案分析后确定最后的电路图如图46采用72V电源驱动L298N利用7805稳压管输出5V电源供给单片机和两块循迹电路通过循迹模块的光电对管蓝色管检测黑色管接收信号让相对应的LED亮来判断出小车所在的位置用主控单片机来检测LED的状态将信号传送到单片的IO口与我们设定的信号相比较如果与我们的设定信号相等输出相对应的命令到L298N从而控制电机驱动模块改变两个直流电机的速度从而控制小车位置其中器件清单件附录A图46 电路原理图第5章 系统的软件设计整个软件采用模块化设计由主程序XY路口判断子程序左拐子程序右拐子程序等模块程序组成系统软件主要完成路口判断控制小车直走左拐右拐等功能中断子程序是用定时中断来产生一定频率的PWM脉冲信号从而提高小车运动的速度51 主程序设计主程序先对中断定时初值进行初始化接着判断万向轮前6只光电对管接收到的信号与P2口设定好的信号相比如果相等小车遇到XY路口将继续判断万向轮后4只光电管是否接收到这两个路口的信号检测到让小车执行相对应XY路口命令例如小车从起点逆时针行驶 4只光电对管接收到信号为1001小车直走1011小车左拐1101小车右拐当前一排6只光电对管接收到信号为100011时则小车遇到Y路口在等后一排4只光电对管接收到信号为 0001时如果是奇数圈命令小车左拐偶数圈命令小车右拐使上下两圈在EF之间实现S型路线行驶不一致其主程序流程图如51图51 主程序流程图52 判别XY路口程序设计当小车在行驶中遇到XY路口让小车做出相应的判断利用光电对管所反馈的信号进行分析和处理对小车当前所在的路线情况进行判断并输出相应的控制信号使小车能够在分叉路口里实现直走左拐右拐功能被判断的路口情况可以分为X路口Y路口由实验测得小车经过这两个路口时6只光电对管能采集到相同的信号小车行驶一圈光电对管采集到这种信号共4次因此可通过对经过的路口进行计数来判别小车此时在某两个路口之间这样我们就可以很好的控制小车在规定路线上实现S路线行驶其中小车行驶一圈分别经过的XY路口前后两排光电管的示意图见附录B小车行驶每一圈所要经过的S路线要与上一圈的不同当小车从起点行驶一圈回到起点所经过的最后一个Y路口时我们对圈数进行计数一次m同时分叉路口信号计数清除在新的一圈里从新计数n 1就这样判别小车行驶在奇数圈还是偶数圈并在所经过的XY路口给以相应命令使之两次行驶的S路线不同例如当小车开始从起点来到第一个分叉路口时万向轮前并排的6只光电对管先经过分岔路口并会接收回来一个分叉路口的信号为100011并将这个信号记录下来等到万向轮后的一排做寻迹的红外对管也到分叉路口时4个红外对管检测到黑线信号为0001我们就让小车执行左大拐命令并在1s后路口计数此时n1 2n初值为1接着来到三个分岔口前后两排光电管也得到相同信号同样执行左拐命令它们分别是左微调左大拐左小拐实现S路线行驶其程序流程图如图53 图 53 判别XY路口程序流程图53 左拐子程序设计左拐子程序主要用于控制小车进行左拐弯的程序其主要设计原理是利用一个光电对管传感器作为一个标记点来判断小车是否旋转到了目标角度也就是此时这个光电管在黑线上小车左拐同时此光电对管从黑线移动到白纸区域中这样重复最终完成左拐的任务如果信号为101101110011变化为1001结束左拐其流程图如54图54 左拐子程序流程图54 右拐子程序设计右拐子程序的设计原理与左拐子程序基本原理是一样的该程序与左拐子程序利用相对称一个光电管传感器进行判断是否进行右拐执行此程序时小车会一直进行右拐弯直到此光电管从黑线移动到白纸区域中最后小车停止右拐弯如果信号为如果信号为110111101100变化为1001结束左拐其程序流程图如图55图55 右拐子程序流程图55 定时中断程序设计定时中断程序主要用于产生占空比可调的PWM脉宽不同的占空比直接影响着小车行走的速度该程序先定义两个变量用于控制使能端的高低电平的时间每次中断进入后两个变量自动加1当两个变量分别满足一定值的时候改变使能端的值使能端实现高低电平控制两个电机的行驶例如两个电机占空比为33小车直走53小车左微调35小车右微调其中定时中断程序流程图如图56图 56 定时中断程序流程第6章 毕业设计遇到的主要问题以及解决办法问题一红外对管的安装如果没有合理的安装红外对管将会对小车行驶的路线不稳定就容易偏出跑道解决一通过几种不同的方案分别对红外对管安装并在实践运行中进行比较最后确定最合理的安装方案问题二场地不过平坦小车跑道纸张有些邹这两点红外对管的干扰很严重影响小车的正常行驶解决二通过改变红外对管与跑道纸张的距离提高红外对管的灵敏度通过重做跑道并且找一块平坦的场地对跑道进行固定问题三小车XY口计数时出现计数紊乱根本达不到我们想要的结果解决三小车当遇到XY口采集回来的信号时先不计数等待一秒后计数第7章 结论本次设计在同学及老师的指导下完成了课题的基本要求此设计实现了利用单片机STC89C52为核心光电传感器以及L298N直流电机控制电路作为辅助电路使小车能够在黑线上实现直走左拐右拐等功能小车行走状态见附录C其中两个附加功能我完成了小车自动识别分岔路口在行驶到分叉路口时通过作判断的红外光电对管在经过分岔路口的瞬间产生了一个唯一的信号会与我们采集的信号相同并将其记录起来同时寻路的红外光电对管也到了分岔路口并且在这一瞬间也产生了一个不同的信号这时我们就命令小车执行我们的指令因此小车先开始走哪一条S路线可通过我们编程令小车执行直走或左拐另一个附加功能是当小车遇到X路口时会根据我们前面分岔路口所行驶的路线决定它的在X路口所要行驶的路线同样我采用了小车经过分岔路口的判断方法但由于小车行驶在X路口时出现了太多的不定状态采集回来的信号与我们想要的信号时有不一致所以这过程中我采取将确定不可能出现的信号给排除将剩余的信号都作为有用信号虽然信号多了但小车行驶到X路口时小车能更准确判别出信号小车更稳定的行走S路线了我认为本课题是非常具有理论联系实践的意义因此在今后我会不断的实践本课题我想终究会让我找到理想中的信号的我会继续努力的我会做到的我相信参考文献1 张义和王敏男许宏昌等人民邮电出版社2010-62高吉祥主编全国大学生电子设计竞赛培训系列教程北京电子工业出版社200763谭浩强著C语言程序设计第三版北京清华大学出版社200574黄智伟编著全国大学生电子设计竞赛制作实训北京北京航天航空大学出版社200725郭天祥编著51单片机C语言程序教程北京电子工业出版社200912致谢历时三个月的毕业设计已经告一段落经过自己不断的搜索努力以及杨老师的耐心指导和热情帮助本设计已经基本完成在这段时间里杨老师严谨的治学态度和热忱的工作作风令我十分钦佩他的指导使我受益非浅同时学校实训楼的开放也为我的设计提供了实习场地在此对杨俊鸣老师和林龙森老师表示深深的感谢通过这次毕业设计使我深刻地认识到学好专业知识的重要性也理解了理论联系实际的含义并且检验了大学三年的学习成果虽然在这次设计中对于知识的运用和衔接还不够熟练但是我将在以后的工作和学习中继续努力不断完善这三个月的设计是对过去所学知识的系统提高和扩充的过程为今后的发展打下了良好的基础由于自身水平有限设计中一定存在很多不足之处敬请各位老师批评指正附录A 元件使用清单元件名称封装型号规格数量单片机DIPSTC12C5A60S21晶振12M1滑动电阻器50k10H桥驱动芯片DIPL298N1红外光电对管TCRT500010二极管1N40078瓷片电容20P2比较器DIPLM3242发光二极管小功率10电阻10010k30附录B XY路口前后两排光电对管示意图附录C 小车行走到路口示意图否红外光电对管检测模块单片机模块电机驱动模 块方案二方案三否前后两排光电管先后接收到分叉口的信号通过配合控制小车行驶路线出分叉路口(Y)信号有效小车左微调信号检测有效命令小车左大拐EF之间实现S路线行驶信号有效小车左大拐出交叉路口(X)信号有效小车左微调为了减缓小车在此路段的速度让小车有足够时间检测到下个路口信号进入交叉路口(X)前后两排光电管先后接收到分叉口的信号通过配合控制小车行驶路线信号有效小车左微调进入分叉路口(Y)是偶数圈寻迹左拐左拐奇数圈否否right右拐left左拐规定路线小车判别分叉口实现S路线行驶straight直走是寻迹XY 路口信号系统初始化开始否是是是否否是是是否否否开始否是left3左大调m2 1奇数圈m2 0偶数圈n 1n 2n 3left1左微调left3左大拐left2左小拐right2右小调n 1n 2n 3right1右微调right3右大拐right1右微调返回是是是是否n 4n 4开始返回left1 左微调 left2 左小拐 left3 左大拐 右轮正转左轮减速否否是是开始返回right1 右微调 right2 右小拐 right3 右大拐 左轮正转右轮减速否否是是NY开始定时值初始化及变量自加1变量值已加满使能端取反自加1返回电源模块直流电机

    注意事项

    本文(毕业设计(论文)基于STC12C5A60S2单片机智能循迹小车.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开