2016年河北省普通本科院校大学生电子设计竞赛
赛题C:自动循迹小车
设计报告
摘要
本文描述了循迹车系统的软硬件设计方法。本设计使用了LDC1000金属探测传感器、STM32单片机最小系统板、OLED液晶显示屏、syn6288语音播报模块、编码器等模块。金属探测器能实时检测路线上的金属轨道,单片机通过对实时采集到的信号进行分析预判,利用PWM信号控制驱动电机以调整小车转向。本设计通过控制两个电机不同的转速,形成蛇形路线。
本设计完成赛题所有要求,并在此基础上实现如下创新点:1、人性化语音提示功能。2、多按键参数调整修正功能,以适应不同环境要求。3、OLED人性化人机交互界面设计。4、增加按键暂停功能,方便调试。
关键字:LDC1000金属探测器、蛇形路线、语音提示、差速转弯
一、方案论证
1、核心控制单片机模块选择
方案一:STC89C51系列单片机。优点:价格便宜,控制简单。缺点:io口引脚太少、运算速度太慢,片内资源太少,无法做复杂程序和实现复杂算法。
方案二:TI公司的TM4C123GXL 32位微控制器。优点:运算速度快、外部扩展能力强、库开发简单、资源丰富。缺点:开发经验少、价格高。
方案三:STM32F10x系列微控制器。优点:价格低、运算速度快、资源丰富,开发经验丰富。缺点:功耗相对较大。
基于以上分析,TM4C123GXL和STM32均可实现题目要求功能,考虑到开发经验,方案使用STM32作为主控芯片。
2、自动循迹模块
方案一:LDC1314金属探测器。TI公司出品的四通道金属探测器。优点:四通道传感器能同时使用4个线圈进行数据采集。缺点:价格昂贵、资料匮乏、购买难度大。
方案二:LDC1000金属传感器。TI公司出品的单通道金属探测器。优点:价格较低、手边有。缺点:探测距离短、仅能使用一个线圈。
基于以上分析,设计采用蛇形路线增大LDC1000扫描范围大,与LDC1000的不足相互抵消。最后设计选择LDC1000金属探测器。
3、车模方案的选择
方案一:单电动机,舵机控制转向车模。由于舵机打角度数有限制,且单电动机无法实现差速转弯。这样导致的结果就是小车转弯半径过大,导致弯道处无法及时转弯,且速度较慢。
方案二:双驱三轮车方案。双驱三轮车调试时较容易打滑,电机速度慢,噪声大。经测试,放弃该车模方案。
方案三:自主改装双驱小车方案。该方案电机转速快,可实现题目要求功能,该
车模能实现差速转弯,比较灵活易于控制。
基于以上分析,设计使用第三种方案的车模。
4、车模前轮选择
方案一:轴承万向轮,经过实验分析:轴承万向轮自由度不够高,导致转弯半径过大,转向不灵活,容易冲出赛道。综上所述轴承万向轮不能满足设计要求。
图1 轴承万向轮(左)、滚珠万向球(右)
方案二:滚珠万向球,经过实验分析,滚珠万向球自由度高,转向能力很强。故设计采用了双万向球结
构,该方案可保证小车稳定行驶,符合赛题要求。
5、LDC1000金属传感器线圈选择
方案一:外部线圈方案。经过测试分析,外部线圈方案优缺点如下。优点:测试距离大。缺点:绕线线圈操作不方便,采购线圈尺寸过大。数据见测试方案与测试结果章节表2。
方案二:PCB线圈方案。优点:机械结构好,有利于整车结构设计。缺点:线圈尺寸小,检测范围小。经实际测量,距离为5mm以内,PCB线圈较为灵敏。数据见测试方案与测试结果章节表3。
考虑到整车结构设计对循迹车的性能较为重要,同时可采用蛇形走线增大扫描面积,设计采用方案二。
6、单通道LDC1000传感器信号采集方案选择
方案一:将LDC1000传感器安装在9g小舵机上,将舵机安装在车的前端。此方案通过单片机控制舵机扫描,可大大提升单通道LDC1000金属传感器的探测范围。在
测试中发现,小车运行的过程会发生抖动,抖动导致舵机上金属传感器与小车的相对位置发生变化,舵机传感器发生了两个自由度的位置变化,这增加了控制程序的开发难度。
方案二:将金属传感器与车架固定,确保LDC1000金属传感器和小车的相对运动自由度只有一个,通过蛇形走线增加扫描面积,降低程序开发难度。
基于以上分析,综合考虑开发时间以及代码复杂度问题,设计采用了方案二。
二、理论分析与计算
1、小车抓地能力分析
设计方案使用蛇形路线前进方式,同时驱动两个后轮一个正转一个反转,实现差速转弯摇摆。经过多次试验,发现小车较容易打滑。针对上述情况,设计进行下述分析:
小车前进方向向左,受电机驱动力向左,同时会受到向右的地面摩擦力。由摩擦力公式:
ƒ= µmg
由公式可得摩擦力与物体质量以及地面摩擦因数有关。经过分析发现循迹车车轮材料与地面的摩擦因数较小,为增加摩擦力,设计采用了多种互补方案。
1、在后面轮胎正上方加上一定质量的配重。配重与行驶现象表见测试方案与测试结果章节表4。
2、在发车前将赛道以及车轮用清理干净。
经过以上处理,可以较好的解决车轮打滑现象。
2、小车行驶策略分析
设计使用蛇形行走路线,该方案在程序中实现方法是:单片机不断监测LDC1000传感器送回的数据。一次完整的采样周期是:空白区域检测-金属线检测-空白区域检测。
当单片机检测到空白区域时,就两个电机的转动方向将金属线标志位0,再次检
测到金属线的时将金属线标志位置1,当LDC1000再次检测到空白区域金属线时将电机转动方向对调。
硬币是循迹车运行的干扰项,如果单独检测硬币,循迹车会有出轨问题,经分析,设计将硬币当成铁丝线处理。经过反复测试,很好的完成了循迹+ 铁丝检测+ 稳定运行的效果。
3、按键修正小车基础参数分析
本设计通过按键可以设置前进速度参数、转向速度(扫描周期)参数。经过按键设置修正以后保障小车能适应各种不同的环境。经过多次测试分析,测试场地地板砖环境下,最佳状态如下:
表1 小车行驶最佳数据记录表
前进速度转向速度是否出轨丢硬币个数时间距离电量
13 23 否0 38s 75dm 12.1v 注:其他部分表格请参见测试表
三、系统具体设计实现
1、硬件系统总体设计方案
汽车测速器本设计采用STM32F103RCT6芯片作为小车系统的控制单元,搭载自行设计的电机驱动桥电路板,LDC1000金属检测模块用于检测地面上的铁丝线以及一角硬币,SYN6288用于人性化的语音提醒,OLED液晶显示屏用于显示距离以及时间信息,1024线编码器用于测速以及测距。系统总体设计图如图所示。