
自动循迹小车课程设计.doc
16页课程报告课程名称:嵌入式系统与应用项目名称:自动循迹小车院 系:理学院专 业:自动化 1401学 号:xxxxxxxxxxxxxxxxxxxxx姓 名:xxxxxxxx指导导师:xxxxxxxx2017 年 05 月 23 日西京学院理学院制I摘要本次课程设计主要完成基于 STM32F103 微处理器的智能小车控制系统的系统设计此智能小车系统的组成主要包括 STM32F103 控制器、电机驱动电路、红外探测电路本次试验采用 STM32F103 微处理器为核心芯片,利用 PWM 技术对速度进行控制,循迹模块进行黑白检测,其他外围扩展电路实现系统整体功能实现了智能小车能够自动跟踪地面上的黑色轨迹的任务关键字:STM32;红外探测;PWM;电机控制IAbstractThis course design mainly completes the system design of intelligent car control system based on STM32F103 microprocessor. The composition of this intelligent car system mainly includes STM32F103 controller, motor drive circuit, infrared detection circuit. This test uses STM32F103 microprocessor as the core chip, the use of PWM technology to control the speed, tracking module for black and white detection, other peripheral expansion circuit to achieve the overall function of the system. To achieve the smart car can automatically track the black track on the ground task.Keywords:STM32;infrared detection;PWM;motor controlII目录1 设计任务要求12 方案设计及选型12.1 总体方案选择 .12.2 车型选型 .12.3 器件选型 .23 系统电路设计23.1 循迹模块接口电路设计 .23.2 电机驱动模块接口电路设计 .33.3 电源设计 .43.4 STM32 小系统54 系统软件设计64.1 主程序设计 .64.2 功能函数设计 .65 系统测试66 结束语7参考文献 .8附录一:系统总体电路图 .9附录二:部分程序 10附录三:作品实物图 1101 设计任务要求本设计通过对轨迹跟踪问题的分析,制作了一辆能够自动跟踪地面上的黑色轨迹的智能小车。
1)设计搭建小车结构框架,两驱或四驱不限,机械转向灵活2)设计选型电源、电机、传感器、STM32 控制器板等电路模块,完成方案设计和电路图绘制3)设计功能函数和软件流程图2 方案设计及选型2.1 总体方案选择基于对小车循迹准确性以及速度的综合考虑,我们最终选择的系统框图如图 2-1所示:STM32L298N左侧电机右右侧侧电电机机信信号号处处理理三三对对红红外外发发收收对对管管图 2-1 总体方案框图2.2 车型选型基于在循迹小车设计报告的实际完成情况,我们考虑到小车调试频繁的问题、电池使用时间长短以及小车的灵活性,我么们选择了由俩个电机与一个万向轮组成的俩驱小车车架使用市面上的合成简易车架12.3 器件选型(1)循迹模块选型方案一:采用红外对管对黑带进行高频率扫描,并将扫描结果串行输出,用斯密特触发器对波形整形后,将数据送入 STM32 进行分析判断优点:节省系统消耗的功率,节约 STM32 的 I/O,硬件电路的接线变得简洁缺点:信息处理速度相对于并行输出慢,相邻红外会产生干扰方案二:采用多路反射型的光电传感器 TCRT5000 对地面进行检测,将所采集到的信息并行输入比较器比较后,再将数据送入 STM32 处理。
优点:信息处理速度快,相邻传感器不会相互干扰,操作方便,结构简单缺点:占用 STM32 的 I/O 较多,连线相对繁琐方案选择:考虑到小车对信息的采集速度及检测的准确性,我们最终选用了方案二2)驱动及电机选择①驱动选择:由于 L298N 驱动有以下优点: a.可实现电机正反转;b.启动性能好,启动转矩大;c.可同时驱动两台直流电机;所以我们最终选择了 L298N 驱动②电机选择:直流减速电机转速平稳,速度快,功耗低,又因为本设计是用电池供电,所以我们最终选择了 6V 的直流减速电机作为小车的驱动电机3 系统电路设计3.1 循迹模块接口电路设计小车在白色地面行驶时,红外发射管发出的红外信号被反射,接收管接收到信号后,输出端为低电平红外传感器的三个输出端口分别与控制模块的 PA4-PA6 依次相连,而当红外信号遇到黑色导轨时,红外信号被吸收,接收管不能接收到信号,输出端为高电平单片机通过采集每个红外接收管的输出信号,便可以检测出所处位置,从而控制小车的转向我们采用的传感器为红外避障模块传感器,它是采用高发射功率红外光电二极管2和高度灵敏光电晶体管组成。
红外避障传感器的发射管和接收管是一起封装在矩形塑料壳中,为了使检测更加准确,我们用了红外避障传感器检测黑线,其中一只放在黑线上方其余 2 只对称分布在黑线的两侧循迹模块实物如图 3-1 所示:图 3-1 红外避障模块传感器实物图图 3-2 循迹模块原理图3.2 电机驱动模块接口电路设计对于小车车轮的两个直流电机,我们采用了一片电机驱动芯片 L298N 对其进行驱3动STM32 为芯片提供驱动信号,传至 PWM 控制各个电机的转速,从而调整小车的前进速度和转向其实物模块如图 3-2 所示其中左前电机:PB12(方向)+PA8(PWM),右前电机:PB13(方向)+PA9(PWM)图 3-3 电机驱动实物模块图图 3-4 电机驱动模块原理图3.3 电源设计本设计中采用的是 6V 电池供电,因为主控芯片以及其余模块均采用的 3.3V 供电,直流减速电机采用 6V 供电,传感器采用 5V 供电,其实物图如 3-3 所示4图 3-5 电源模块实物图3.4 STM32 小系统本设计采用了一片 STM32 单片机为控制核心通过循迹模块、驱动模块的应用,实现了小车转速调节、自动循迹的任务其原理图如图 3-4 所示:图 3-6 主控制模块原理图54 系统软件设计4.1 主程序设计当开机时,系统复位,然后进入自动运行状态。
使小车沿黑线行进,并且在小车偏离轨道后自动调整走向使之返回预定路线该模块的具体设计流程框图如图 4-1 所示开开始始读读入入模模式式状状态态黑黑线线在在中中间间吗吗??直直行行控控制制左左右右电电机机按按循循迹迹判判断断转转向向是是否否图 4-1 系统软件设计框图4.2 功能函数设计(1)方向判断由 ifelse if 函数书写;(2)用定时器来生成 PWM 的占空比;(3)定时器初始化函数 Tim1_Init();5 5 系统测试(1)测试仪器:示波器,电源,万用表测试方法:采用模拟电路由前端到后段,数字电路先仿真再试测,先逐个模块测试再整体调试的办法2)循迹模块测试连接好电路,调好灵敏度,然后用万用表分别测量光电传感器接收端的输出电压6值,其值如表 5-1 所示:表 5-1 光电传感器输出电压测量光电传感器编号1234白线(V)4.834.814.834.87光电传感器接收端电压(V)黑线(V)0.420.430.450.45(3)占空比与小车运行速度测试表 5-2 占空比与小车运行速度对应表占空比前进速度(cm/s)后退(cm/s)20%0050%30.530.370%36.736.5100%45.945.76 结束语首先谢谢老师对我门的指导,谢谢同学给我们的帮助。
在以后的学习工作中,我们一定会将今天所学习到的知识应用于生产实践中当然,该小车还存在着一些缺陷,比如:功耗较大、外型不够美观等导致我们的小车出现那好多问题总之,我们的设计还有很大的提升空间本次设计我们无论是在硬件还是软件上的能力都有很大的提高,比如,接线端口有误,没有检查仔细是我们的进程有了延误这使我们经历了一个设计从方案提出到确定,到最后的调试出实物,看到效果在这个过程中收获巨大通过竞赛,我们提高了自学能力以及团队协作能力,并进一步提高了对本专业的兴趣本次竞赛对自己的信心也有很大提高,在以后的学习中,我们会再接再厉7参考文献[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-018附录一:附录一:系统总体电路图系统总体电路图VCC3GND1P2TCRT1 TCRT500VCC3GND1P2TCRT2 TCRT500VCC3GND1P2TCRT3 TCRT500PA1PA2PA3PA4PA5PA6PA7PB1PB12PB13PB14PA15PA8PA9PA10PA11U1STM32IN15IN27ENA6OUT12OUT23ENB11OUT313OUT414IN310IN412SENSA1SENSB15GND8VS4VCC9U1L2983.3V6V光光电电传传感感器器光光电电传传感感器器光光电电传传感感器器前前左左电电机机前前右右电电机机电电机机驱驱动动9附录二:部分程序附录二:部分程序int main(void) { BSP_Init();//系统初始化 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK); SysTick_Config(72000); //1ms 延时,72000/72000000Hz=1ms Tim1_Init();//定时器初始化函数,设定 PWM 频率 5kHz while(1) { if(LeftSensor()==0 //Motor1234(duty1,duty2,duty3,duty4); //前进 8s } else if(LeftSensor()==0 //Motor1234(duty1,duty2,duty3,duty4); //前进 8s } else if(LeftSensor()==1 //Motor1234(-duty1,duty2,-duty3,duty4); //前进 8s } else if(LeftSensor()==0 //Motor1234(duty1,-duty2,duty3,-duty4); //前进 8s } else if(LeftSensor()==1 //Motor1234(duty1,duty2,duty3,duty4); //前进 8s }…… } }10附录三:作品实物图附录三:作品实物图11指导教师评阅意见指导教师评阅意见:成绩评定:李楠: 陈廷: 左天康: 指导教师签字:年 月 日。
