自动循迹小车课程设计_第1页
自动循迹小车课程设计_第2页
自动循迹小车课程设计_第3页
自动循迹小车课程设计_第4页
自动循迹小车课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程报告课程名称:嵌入式系统与应用项目名称:自动循迹小车院系:理学院专业:自动化1401学号:xxxxxxxxxxxxxxxxxxxxx姓名:xxxxxxxx指导导师:xxxxxxxx2017年05月23日西京学院理学院制摘要本次课程设计主要完成基于STM32F103微处理器的智能小车控制系统的系统设计。此智能小车系统的组成主要包括STM32F103控制器、电机驱动电路、红外探测电路。本次试验采用STM32F103微处理器为核心芯片,利用PWM技术对速度进行控制,循迹模块进行黑白检测,其他外围扩展电路实现系统整体功能。实现了智能小车能够自动跟踪地面上的黑色轨迹的任务。关键字:STM32;红外探测;PWM;电机控制AbstractThiscoursedesignmainlycompletesthesystemdesignofintelligentcarcontrolsystembasedonSTM32F103microprocessor.ThecompositionofthisintelligentcarsystemmainlyincludesSTM32F103controller,motordrivecircuit,infrareddetectioncircuit.ThistestusesSTM32F103microprocessorasthecorechip,theuseofPWMtechnologytocontrolthespeed,trackingmoduleforblackandwhitedetection,otherperipheralexpansioncircuittoachievetheoverallfunctionofthesystem.Toachievethesmartcarcanautomaticallytracktheblacktrackonthegroundtask.Keywords:STM32;infrareddetection;PWM;motorcontrol目录1设计任务要求 12方案设计及选型 12.1总体方案选择 12.2车型选型 12.3器件选型 23系统电路设计 23.1循迹模块接口电路设计 23.2电机驱动模块接口电路设计 33.3电源设计 43.4STM32小系统 54系统软件设计 64.1主程序设计 64.2功能函数设计 65系统测试 66结束语 7参考文献 8附录一:系统总体电路图 9附录二:部分程序 10附录三:作品实物图 111设计任务要求本设计通过对轨迹跟踪问题的分析,制作了一辆能够自动跟踪地面上的黑色轨迹的智能小车。(1)设计搭建小车结构框架,两驱或四驱不限,机械转向灵活。(2)设计选型电源、电机、传感器、STM32控制器板等电路模块,完成方案设计和电路图绘制。(3)设计功能函数和软件流程图。2方案设计及选型2.1总体方案选择基于对小车循迹准确性以及速度的综合考虑,我们最终选择的系统框图如图2-1所示:图2-1总体方案框图2.2车型选型基于在循迹小车设计报告的实际完成情况,我们考虑到小车调试频繁的问题、电池使用时间长短以及小车的灵活性,我么们选择了由俩个电机与一个万向轮组成的俩驱小车。车架使用市面上的合成简易车架。2.3器件选型(1)循迹模块选型方案一:采用红外对管对黑带进行高频率扫描,并将扫描结果串行输出,用斯密特触发器对波形整形后,将数据送入STM32进行分析判断。优点:节省系统消耗的功率,节约STM32的I/O,硬件电路的接线变得简洁。缺点:信息处理速度相对于并行输出慢,相邻红外会产生干扰。方案二:采用多路反射型的光电传感器TCRT5000对地面进行检测,将所采集到的信息并行输入比较器比较后,再将数据送入STM32处理。优点:信息处理速度快,相邻传感器不会相互干扰,操作方便,结构简单。缺点:占用STM32的I/O较多,连线相对繁琐。方案选择:考虑到小车对信息的采集速度及检测的准确性,我们最终选用了方案二。(2)驱动及电机选择①驱动选择:由于L298N驱动有以下优点:a.可实现电机正反转;b.启动性能好,启动转矩大;c.可同时驱动两台直流电机;所以我们最终选择了L298N驱动。②电机选择:直流减速电机转速平稳,速度快,功耗低,又因为本设计是用电池供电,所以我们最终选择了6V的直流减速电机作为小车的驱动电机。3系统电路设计3.1循迹模块接口电路设计小车在白色地面行驶时,红外发射管发出的红外信号被反射,接收管接收到信号后,输出端为低电平。红外传感器的三个输出端口分别与控制模块的PA4-PA6依次相连,而当红外信号遇到黑色导轨时,红外信号被吸收,接收管不能接收到信号,输出端为高电平。单片机通过采集每个红外接收管的输出信号,便可以检测出所处位置,从而控制小车的转向。我们采用的传感器为红外避障模块传感器,它是采用高发射功率红外光电二极管和高度灵敏光电晶体管组成。红外避障传感器的发射管和接收管是一起封装在矩形塑料壳中,为了使检测更加准确,我们用了红外避障传感器检测黑线,其中一只放在黑线上方其余2只对称分布在黑线的两侧。循迹模块实物如图3-1所示:图3-1红外避障模块传感器实物图图3-2循迹模块原理图3.2电机驱动模块接口电路设计对于小车车轮的两个直流电机,我们采用了一片电机驱动芯片L298N对其进行驱动。STM32为芯片提供驱动信号,传至PWM控制各个电机的转速,从而调整小车的前进速度和转向。其实物模块如图3-2所示。其中左前电机:PB12(方向)+PA8(PWM),右前电机:PB13(方向)+PA9(PWM)。图3-3电机驱动实物模块图图3-4电机驱动模块原理图3.3电源设计本设计中采用的是6V电池供电,因为主控芯片以及其余模块均采用的3.3V供电,直流减速电机采用6V供电,传感器采用5V供电,其实物图如3-3所示。图3-5电源模块实物图3.4STM32小系统本设计采用了一片STM32单片机为控制核心。通过循迹模块、驱动模块的应用,实现了小车转速调节、自动循迹的任务。其原理图如图3-4所示:图3-6主控制模块原理图4系统软件设计4.1主程序设计当开机时,系统复位,然后进入自动运行状态。使小车沿黑线行进,并且在小车偏离轨道后自动调整走向使之返回预定路线。该模块的具体设计流程框图如图4-1所示。图4-1系统软件设计框图4.2功能函数设计(1)方向判断由if..elseif函数书写;(2)用定时器来生成PWM的占空比;(3)定时器初始化函数Tim1_Init();5系统测试(1)测试仪器:示波器,电源,万用表。测试方法:采用模拟电路由前端到后段,数字电路先仿真再试测,先逐个模块测试再整体调试的办法。(2)循迹模块测试连接好电路,调好灵敏度,然后用万用表分别测量光电传感器接收端的输出电压值,其值如表5-1所示:表5-1光电传感器输出电压测量光电传感器编号1234光电传感器接收端电压(V)白线(V)4.834.814.834.87黑线(V)0.420.430.450.45(3)占空比与小车运行速度测试表5-2占空比与小车运行速度对应表占空比前进速度(cm/s)后退(cm/s)20%0050%30.530.370%36.736.5100%45.945.76结束语首先谢谢老师对我门的指导,谢谢同学给我们的帮助。在以后的学习工作中,我们一定会将今天所学习到的知识应用于生产实践中。当然,该小车还存在着一些缺陷,比如:功耗较大、外型不够美观等。导致我们的小车出现那好多问题。总之,我们的设计还有很大的提升空间。本次设计我们无论是在硬件还是软件上的能力都有很大的提高,比如,接线端口有误,没有检查仔细是我们的进程有了延误。这使我们经历了一个设计从方案提出到确定,到最后的调试出实物,看到效果。在这个过程中收获巨大。通过竞赛,我们提高了自学能力以及团队协作能力,并进一步提高了对本专业的兴趣。本次竞赛对自己的信心也有很大提高,在以后的学习中,我们会再接再厉。

参考文献[1]刘军,张洋.原子教你玩STM32[M].北京:北京航空航天大学出版社,2013-05-01[2]李亚巨,樊东.基于stm32f103zet6的智能小车的制作[J].电子制作,2013-11[3]李婕.基于STM32的智能小车的制无线视频监控智能小车设计[D].兰州:兰州理工大学出版社,2014-4[4]刘火良,杨森.电子与嵌入式系统设计丛书.机械工业出版社,2017-2[5]蒋建春,曾素华.嵌入式系统原理及应用.高等教育出版社,2014-01-01[6]刘彦文.基于ARM的嵌入式系统原理及应用,清华大学出版社,2017-02-01[7]谭会生.ARM嵌入式系统原理及应用开发,西安电子科技大学出版社,2017-02-01

附录一:系统总体电路图

附录二:部分程序intmain(void){ BSP_Init();//系统初始化 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK); Tim1_Init();//定时器初始化函数,设定PWM频率5kHz while(1) { if(LeftSensor()==0&&MidSensor()==1&&RightSensor()==0)//只有中间光电在黑线上 { Motor1234(80,80,80,80); //Motor1234(duty1,duty2,duty3,duty4);//前进8s } elseif(LeftSensor()==0&&MidSensor()==0&&RightSensor()==0) { Motor1234(80,80,80,80); //Motor1234(duty1,duty2,duty3,duty4);//前进8s } elseif(LeftSensor()==1&&MidSensor()==0&&RightSensor()==0)//左边遇见黑线 { Motor1234(-100,100,-100,100); //Motor1234(-duty1,duty2,-duty3,duty4);//前进8s } elseif(LeftSensor()==0&&MidSensor()==0&&RightSensor()==1)//右边遇见黑线 { Motor1234(100,-100,100,-100); //Motor1234(duty1,-duty2,duty3,-duty4);//前进8s } elseif(LeftSensor()==1&&MidSensor()

温馨提示

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

评论

0/150

提交评论