《自动循迹小车课程设计.doc》由会员分享,可在线阅读,更多相关《自动循迹小车课程设计.doc(18页珍藏版)》请在金锄头文库上搜索。
1、课程报告 课程名称:嵌入式系统与应用 项目名称:自动循迹小车 院 系:理学院 专 业:自动化 1401 学 号:xxxxxxxxxxxxxxxxxxxxx 姓 名: xxxxxxxx 指导导师: xxxxxxxx 2017 年 05 月 23 日 西京学院理学院制 摘要 本次课程设计主要完成基于 STM32F103 微处理器的智能小车控制系统的系统设计。 此智能小车系统的组成主要包括 STM32F103 控制器、电机驱动电路、红外探测电路。 本次试验采用 STM32F103 微处理器为核心芯片,利用 PWM 技术对速度进行控制,循迹 模块进行黑白检测,其他外围扩展电路实现系统整体功能。实现了智
2、能小车能够自动 跟踪地面上的黑色轨迹的任务。 关键字:STM32;红外探测;PWM;电机控制 Abstract This 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 detect
3、ion 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
4、 black track on the ground task. Keywords:STM32;infrared detection;PWM;motor control 目录 1 设计任务要求1 2 方案设计及选型1 2.1 总体方案选择 .1 2.2 车型选型 .1 2.3 器件选型 .2 3 系统电路设计2 3.1 循迹模块接口电路设计 .2 3.2 电机驱动模块接口电路设计 .3 3.3 电源设计 .4 3.4 STM32 小系统5 4 系统软件设计6 4.1 主程序设计 .6 4.2 功能函数设计 .6 5 系统测试6 6 结束语7 参考文献 .8 附录一:系统总体电路图 .9 附录二
5、:部分程序 10 附录三:作品实物图 11 1 设计任务要求 本设计通过对轨迹跟踪问题的分析,制作了一辆能够自动跟踪地面上的黑色轨迹 的智能小车。 (1)设计搭建小车结构框架,两驱或四驱不限,机械转向灵活。 (2)设计选型电源、电机、传感器、STM32 控制器板等电路模块,完成方案设计和电 路图绘制。 (3)设计功能函数和软件流程图。 2 方案设计及选型 2.1 总体方案选择 基于对小车循迹准确性以及速度的综合考虑,我们最终选择的系统框图如图 2-1 所示: STM32 L298N 左侧电机 右右侧侧电电机机 信信号号处处理理 三三对对红红外外发发收收对对管管 图 2-1 总体方案框图 2.2
6、 车型选型 基于在循迹小车设计报告的实际完成情况,我们考虑到小车调试频繁的问题、电 池使用时间长短以及小车的灵活性,我么们选择了由俩个电机与一个万向轮组成的俩 驱小车。车架使用市面上的合成简易车架。 2.3 器件选型 (1)循迹模块选型 方案一:采用红外对管对黑带进行高频率扫描,并将扫描结果串行输出,用斯密 特触发器对波形整形后,将数据送入 STM32 进行分析判断。 优点:节省系统消耗的功率,节约 STM32 的 I/O,硬件电路的接线变得简洁。 缺点:信息处理速度相对于并行输出慢,相邻红外会产生干扰。 方案二:采用多路反射型的光电传感器 TCRT5000 对地面进行检测,将所采集到的 信息
7、并行输入比较器比较后,再将数据送入 STM32 处理。 优点:信息处理速度快,相邻传感器不会相互干扰,操作方便,结构简单。 缺点:占用 STM32 的 I/O 较多,连线相对繁琐。 方案选择:考虑到小车对信息的采集速度及检测的准确性,我们最终选用了方案 二。 (2)驱动及电机选择 驱动选择:由于 L298N 驱动有以下优点: a.可实现电机正反转; b.启动性能好,启动转矩大; c.可同时驱动两台直流电机; 所以我们最终选择了 L298N 驱动。 电机选择:直流减速电机转速平稳,速度快,功耗低,又因为本设计是用电池 供电,所以我们最终选择了 6V 的直流减速电机作为小车的驱动电机。 3 系统电
8、路设计 3.1 循迹模块接口电路设计 小车在白色地面行驶时,红外发射管发出的红外信号被反射,接收管接收到信号后, 输出端为低电平。红外传感器的三个输出端口分别与控制模块的 PA4-PA6 依次相连, 而当红外信号遇到黑色导轨时,红外信号被吸收,接收管不能接收到信号,输出端为 高电平。单片机通过采集每个红外接收管的输出信号,便可以检测出所处位置,从而 控制小车的转向。 我们采用的传感器为红外避障模块传感器,它是采用高发射功率红外光电二极管 和高度灵敏光电晶体管组成。红外避障传感器的发射管和接收管是一起封装在矩形塑 料壳中,为了使检测更加准确,我们用了红外避障传感器检测黑线,其中一只放在黑 线上方
9、其余 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 电池供电,因为
10、主控芯片以及其余模块均采用的 3.3V 供电, 直流减速电机采用 6V 供电,传感器采用 5V 供电,其实物图如 3-3 所示。 图 3-5 电源模块实物图 3.4 STM32 小系统 本设计采用了一片 STM32 单片机为控制核心。通过循迹模块、驱动模块的应用, 实现了小车转速调节、自动循迹的任务。其原理图如图 3-4 所示: 图 3-6 主控制模块原理图 4 系统软件设计 4.1 主程序设计 当开机时,系统复位,然后进入自动运行状态。使小车沿黑线行进,并且在小车 偏离轨道后自动调整走向使之返回预定路线。该模块的具体设计流程框图如图 4-1 所 示。 开开始始 读读入入模模式式状状态态 黑黑
11、线线在在中中间间吗吗? 直直行行 控控制制左左右右电电机机 按按循循迹迹判判断断转转向向 是是 否否 图 4-1 系统软件设计框图 4.2 功能函数设计 (1)方向判断由 ifelse if 函数书写; (2)用定时器来生成 PWM 的占空比; (3)定时器初始化函数 Tim1_Init(); 5 5 系统测试 (1)测试仪器:示波器,电源,万用表。 测试方法:采用模拟电路由前端到后段,数字电路先仿真再试测,先逐个模块测 试再整体调试的办法。 (2)循迹模块测试 连接好电路,调好灵敏度,然后用万用表分别测量光电传感器接收端的输出电压 值,其值如表 5-1 所示: 表 5-1 光电传感器输出电压
12、测量 光电传感器编号 1234 白线 (V) 4.834.81 483487光电传感器接 收端电压(V) 黑线 (V) 0.420.430.450.45 (3)占空比与小车运行速度测试 表 5-2 占空比与小车运行速度对应表 占空比前进速度(cm/s)后退(cm/s) 20% 00 50% 30.530.3 70% 36.736.5 100% 45.945.7 6 结束语 首先谢谢老师对我门的指导,谢谢同学给我们的帮助。在以后的学习工作中,我 们一定会将今天所学习到的知识应用于生产实践中。当然,该小车还存在着一些缺陷, 比如:功耗较大、外型不够美观等。导致我们的小车出现那好多问题。总之,我们的
13、 设计还有很大的提升空间。本次设计我们无论是在硬件还是软件上的能力都有很大的 提高,比如,接线端口有误,没有检查仔细是我们的进程有了延误。这使我们经历了 一个设计从方案提出到确定,到最后的调试出实物,看到效果。在这个过程中收获巨 大。通过竞赛,我们提高了自学能力以及团队协作能力,并进一步提高了对本专业的 兴趣。本次竞赛对自己的信心也有很大提高,在以后的学习中,我们会再接再厉。 参考文献 1 刘军,张洋.原子教你玩 STM32M.北京:北京航空航天大学出版社,2013-05-01 2 李亚巨,樊东.基于 stm32f103zet6 的智能小车的制作J.电子制作,2013-11 3 李婕.基于 S
14、TM32 的智能小车的制无线视频监控智能小车设计D.兰州:兰州理工 大学出版社,2014-4 4 刘火良,杨森.电子与嵌入式系统设计丛书.机械工业出版社,2017-2 5 蒋建春,曾素华.嵌入式系统原理及应用.高等教育出版社,2014-01-01 6 刘彦文.基于 ARM 的嵌入式系统原理及应用,清华大学出版社,2017-02-01 7 谭会生.ARM 嵌入式系统原理及应用开发,西安电子科技大学出版社,2017-02-01 附录一:附录一:系统总体电路图系统总体电路图 VCC 3 GND 1 P 2 TCRT1 TCRT500 VCC 3 GND 1 P 2 TCRT2 TCRT500 VCC
15、 3 GND 1 P 2 TCRT3 TCRT500 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB1 PB12 PB13 PB14 PA15 PA8 PA9 PA10 PA11 U1 STM32 IN1 5 IN2 7 ENA 6 OUT1 2 OUT2 3 ENB 11 OUT3 13 OUT4 14 IN3 10 IN4 12 SENSA 1 SENSB 15 GND 8 VS 4 VCC 9 U1 L298 3.3V 6V 光光电电传传感感器器光光电电传传感感器器光光电电传传感感器器 前前左左电电机机 前前右右电电机机 电电机机驱驱动动 附录二:部分程序附录二:部分程序
16、int main(void) BSP_Init();/系统初始化 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK); SysTick_Config(72000); /1ms 延时,72000/Hz=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