南京师范大学先驱者智能汽车竞赛技术报告Word格式文档下载.docx
《南京师范大学先驱者智能汽车竞赛技术报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《南京师范大学先驱者智能汽车竞赛技术报告Word格式文档下载.docx(54页珍藏版)》请在冰豆网上搜索。
2.2后轮差速调整8
2.3齿轮传动机构调整8
2.4舵机安装调整9
2.5其他机械结构调整9
第3章硬件设计11
3.1硬件电路总体设计11
3.2高速AD模块11
3.3串口通信模块14
3.4调参模块15
3.5电机驱动电路16
3.5.133886驱动16
3.5.2自搭建驱动电路19
3.6电源模块22
3.7摄像头选型23
3.7.2模拟摄像头视频分离电路设计25
3.7.3实际选择摄像头27
3.8速度传感器的选择27
3.9加速度传感器29
第4章智能车软件设计31
4.1系统的软件方框图31
4.2单片机的初始化32
4.2.1总线时钟初始化32
4.2.2PWM模块初始化32
4.2.3I/O模块初始化34
4.2.4SCI模块初始化35
4.2.5ECT模块初始化35
4.2.6高速AD模块初始化36
4.3舵机控制37
4.4测速和速度设定39
4.5速度的PID控制41
4.6图像识别43
第5章总结和展望47
参考文献I
附录A:
黑线处理的软件算法III
附录B:
程序源代码XXVII
第一章引言
受教育部高等教育司委托(教高司函[2005]201号文),高等学校自动化专业教学指导分委员会主办的“飞思卡尔”杯全国大学生智能汽车邀请赛是在飞思卡尔公司资助下以HCS12单片机为主控微控制器芯片的模型车体的基础上进行设计,制作出具有自主道路识别能力的智能汽车,是教育部主办的全国大学生五大竞赛之一。
全国大学生智能汽车竞赛与己举办的全国数学建模、电子设计、机械设计、结构设计四大专业竞赛不同,是以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉的科技创意性比赛。
参赛选手须使用竞赛秘书处统一指定并负责采购竞赛车模,自行采用16位微控制器作为核心控制单元,自主构思控制方案及系统设计,包括传感器信号采集处理、控制算法及执行、动力电机驱动、转向舵机控制等,完成智能汽车工程制作及调试,于指定日期与地点参加场地比赛。
参赛队伍之名次(成绩)由赛车现场成功完成赛道比赛时间为主,技术方案及制作工程质量评分为辅来决定
1.1智能车比赛意义
随着科技的进步,生活水平的提高,人们对汽车的依赖是越来越多。
同时,伴随着汽车的普及,交通拥堵和交通意外成了社会的大问题。
为了解决这些问题,我们的研究人员做了大量的细致认真的工作,其中一个方面就是希望让机器人取代人来驾驶汽车,通过机器人精确的判断和快速的反应使汽车更合理更安全的行驶,这样既能减少交通事故发生的概率,又能让道路得到合理高效的利用。
我们希望通过我们的研究达到这样的目的:
用摄像头代替人眼,用电子线路代替神经,用单片机代替人脑,让小车可以在特定的跑道上快速安全的行驶。
这也就是初步模拟了一个人驾驶汽车的思维和控制过程,看似简单,实际上要有很多细节问题需要突破。
智能车比赛就是要求参赛人员能够去进行这样的研究,通过对所掌握知识的熟练运用,达到让车模能够自动寻迹运动,并且同时使得循迹运动的时间最短。
此类比赛加深了我们对科技促进生活水平的理解,也在一定程度上推动了这方面的研究。
1.2智能车比赛的参与
我们学校上一届也参加了“飞思卡尔”杯智能汽车比赛,并且还取得了很不错的成绩。
在总结了上届的经验和不足后,我们在此基础上重新备战第四届大赛。
上届给我们的经验就是一个‘稳’字,在电路设计上务求稳定,早发现问题早解决,机械安装要结实牢靠。
不足之处在于在线调试模块过于繁琐、驱动电路电机驱动电路不够强劲,针对于此,我们这次备战着重开发了方便调试的SDcard技术(由第三届上海大学提出)和加减速性能极好的电机驱动模块。
1.3智能车总体设计思路
1.3.1智能车技术参数
此次比赛选用的赛车车模采用1/10的仿真车模。
赛车机械结构只使用竞赛提供车模的底盘部分及转向和驱动部分。
控制采用前轮转向,后轮驱动方案。
具体车模数据如表1.1:
表1.1赛车主要技术参数
项目
参数
路径检测方法(赛题组)
摄像头组
车模几何尺寸(长、宽、高)(毫米)
310mm/170mm/290mm
车模轴距/轮距(毫米)
199mm/149mm
车模平均电流(匀速行驶)(毫安)
1750mA
电路电容总量(微法)
1300μF
传感器种类及个数
摄像头/1速度传感器/1
加速度/1
新增加伺服电机个数
赛道信息检测空间精度(毫米)
3mm(近端)、150mm(远端)
赛道信息检测频率(次/秒)
30
主要集成电路种类/数量
LM1117/3ov7620/174lvc4245a/1
MAX232/1tlc5510
车模重量(带有电池)(千克)
1.3
1.3.2智能车硬件电路
我们团队采用摄像头进行道路识别,赛车的硬件电路主要有七个部分组成:
MC9S12DG128最小系统板,图像采样处理模块,速度检测电路,电机驱动电路,舵机驱动模块,电源管理模块,辅助调试模块。
(1)MC9S12xs128最小系统板是系统的核心部分,负责接收赛道图像数据,赛车速度等反馈信息,并对这些信息进行恰当的处理,形成合适的控制量来对舵机与驱动电机进行控制。
(2)图像采样处理模块由高速AD及摄像头组成,是智能小车的“视觉系统”,用于获得前方道路情况以供单片机处理。
(3)速度检测电路旋转编码器,高速比较器以及S12的ECT脉冲捕捉功能构成,实现道路的闭环控制。
(4)电机驱动电路使用专用芯片MC33886并联搭建,可以实现电机的正反转。
(5)舵机驱动模块控制舵机的转向。
(6)电源管理模块给整个系统供电,保障系统安全稳定运行。
(7)辅助调试模块有BDM、串行通信、SDcard等,主要用于赛车系统的程序烧写,功能调试和测试,赛车状态监控,赛车系统参数和运行策略设置等方面。
本赛车系统的结构示意图1.2
图1.2系统的结构示意图
1.3.3智能车软件控制
系统硬件对于赛车来说是最基础的部分,软件算法则是赛车的核心部分。
如果把一辆车和一个人做个类比的话,我们可以说,赛车的硬件结构相当于人的身体;
赛车的软件算法相当于人的思想。
只有“身体健康,思想进步”,才会取得好成绩。
所以软件系统对于赛车来说至关重要。
首先,赛车系统通过图像采样处理模块获取前方赛道的图像数据,同时通过速度传感器模块实时获取赛车的速度。
然后S12利用边缘检测方法从图像数据中提取赛道黑线,求得赛车于黑线位置的偏差,接着采用PID方法对舵机进行反馈控制。
最终赛车根据检测到的速度,结合我们的速度控制策略,对赛车速度不断进行恰当的控制调整,使赛车在符合比赛规则情况下沿赛道快速前进。
设计赛车系统的软件结构如图1.3所示。
注:
只有将上述硬件、软件部分进行有效的融合,进行充分的试验、测试和标定工作,才能使赛车具有一个相对良好的整体驾驶性能。
这也就是在接下来的各个分模块中需要做的工作。
第二章智能车机械结构调整
2.1前轮调整
前轮定位包括主销后倾角、主销内倾角、前轮外倾角和前轮前束四个内容。
车轮定位的作用是使汽车保持稳定的直线行驶和转向轻便,并减少汽车在行驶中轮胎和转向机件的磨损。
(1)从车前后方向看轮胎时,主销轴向车身内侧倾斜,该角度称为主销内倾角。
当车轮以主销为中心回转时,车轮的最低点将陷入路面以下,但实际上车轮下边缘不可能陷入路面以下,而是将转向车轮连同整个汽车前部向上抬起一个相应的高度,这样汽车本身的重力有使转向车轮回复到原来中间位置的效应,因而舵机复位容易。
此外,主销内倾角还使得主销轴线与路面交点到车轮中心平面与地面交线的距离减小,从而减小转向时舵机的拉力,使转向操纵轻便,同时也可减少从转向轮传到舵机上的冲击力。
但主销内倾角也不宜过大,否则加速了轮胎的磨损。
(2)从侧面看车轮,转向主销(车轮转向时的旋转中心)向后倾倒,称为主销后倾角。
设置主销后倾角后,主销中心线的接地点与车轮中心的地面投影点之间产生距离(称作主销纵倾移距,与自行车的前轮叉梁向后倾斜的原理相同),使车轮的接地点位于转向主销延长线的后端,车轮就靠行驶中的滚动阻力被向后拉,使车轮的方向自然朝向行驶方向。
设定很大的主销后倾角可提高直线行驶性能,同时主销纵倾移距也增大。
主销纵倾移距过大,会使舵机沉重,而且由于路面干扰而加剧车轮的前后颠簸。
(3)从前后方向看车轮时,轮胎并非垂直安装,而是稍微倾倒呈现“八”字形张开,称为负外倾,而朝反方向张开时称正外倾。
前轮外倾角对汽车的转弯性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。
前轮外倾角俗称“外八字”,如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。
所以事先将车轮校偏一个外八字角度,这个角度约在1°
左右。
(4)脚尖向内,所谓“内八字脚”的意思,指的是左右前轮分别向内。
采用这种结构目的是修正上述前轮外倾角引起的车轮向外侧转动。
如前所述,由于有外倾,舵机转向变得容易。
另一方面,由于车轮倾斜,左右前轮分别向外侧转动,为了修正这个问题,如果左右两轮带有向内的角度,则正负为零,左右两轮可保持直线行进,减少轮胎磨损。
见图2.1
图2.1前轮前束示意图
2.2后轮差速调整
差速机构的作用是在车模转弯的时候,降低后轮与地面之间的滑动;
并且还可以保证在轮胎抱死的情况下不会损害到电机。
当车辆在正常的过弯行进中(假设:
无转向不足亦无转向过度),此时4个轮子的转速(轮速)皆不相同,依序为:
外侧前轮>外侧后轮>内侧前轮>内侧后轮。
此次所使用车模配备的是后轮差速机构。
差速器的特性是:
阻力越大的一侧,驱动齿轮的转速越低;
而阻力越小的一侧,驱动齿轮的转速越高‧以此次使用的后轮差速器为例,在过弯时,因外侧前轮轮胎所遇的阻力较小,轮速便较高;
而内侧前轮轮胎所遇的阻力较大,轮速便较低。
差速器的调整中要注意滚珠轮盘间的间隙,过松过紧都会使差速器性能降低,转弯时阻力小的车轮会打滑,从而影响车模的过弯性能。
好的差速机构,在电机不转的情况下,右轮向前转过的角度与左轮向后转过的角度之间误差很小,不会有迟滞或者过转动情况发生。
2.3齿轮传动机构调整
车模后轮采用RS.380SH.4045电机驱动,由竞赛主办方提供。
电机轴与后轮轴之间的传动比为9:
38(电机轴齿轮齿数为18,后轮轴传动轮齿数为76)。
齿轮传动机构对车模的驱动能力有很大的影响。
齿轮传动部分安装位置的不恰当,会大大增加电机驱动后轮的负载,从而影响到最终成绩。
调整的原则是:
两传动齿轮轴保持平行,齿轮间的配合间隙要合适,过松容易打坏齿轮,过紧又会增加传动阻力,白白浪费动力;
传动部分要轻松、顺畅,容易转动,不能有卡住或迟滞现象。
2.4舵机安装调整
舵机转向是整个控制系统中延迟较大的一个环节,为了减小此时间常数,通过改变舵机的安装位置,而并非改变舵机本身结构的方法可以提高舵机的响应速度。
分析舵机控制转向轮转向的原理可以发现,在相同的舵机转向条件下,转向连杆在舵机一端的连接点离舵机轴心距离越远,转向轮转向变化越快。
这相当于增大力臂长度,提高线速度。
针对上述特性,改变了舵机的安装方式,将舵机立起来安装在车的中轴线上,使得左右两轮的力臂一样大,有利于转向.
2.5其他机械结构调整
包括摄像头的安装、电池的的安装、系统板的安装以及一些机械结构的微调。
驱动电机的螺丝一定要上紧,并要经常检查,一旦在行驶中松动就会造成零件的损坏。
尽量使车辆的重心放低,减少小车行驶过程中的震荡。
经过以上的调整,小车基本上就可以满足机械要求,可以在跑到上完成基本的行驶。
第三章硬件设计
3.1硬件电路总体设计
我们硬件电路总共由五大模块组成,分别为电源模块、高速AD模块、串口通信模块、调参模块、电机驱动模块。
其系统结构图引言中由涉及到,各模块功能接下来会一一介绍。
3.2高速AD模块
摄像头获得的视频信号为模拟信号,而单片机处理的却是数字信号,所以由必要把视频模拟信号离散成数字信号,这就要用到模数转换技术。
一般而言单片机都有A/D转换模块。
我们所用单片机为组委会推荐使用的新一代单片机mc9s12xs128。
S12内置了2个10位/8位的A/D模块ATD0和ATD1,通称为模数/转换器(ATD)。
但是S12微控制器ATD的最高转换频率只有约为2MHz,不能够满足我们的要求,所以我们自己设计了外部高速AD将摄像头的模拟信号先转换位数字信号后再通过I/O口送单片机内部进行数据处理。
我们采用8位高速A/D转换器TLC5510搭建。
TLC5510引脚说明及工作原理
TLC5510的引脚说明
TLC5510为24引脚、PSOP表封装形式(NS)。
其引脚排列如图3.1所示。
各引脚功能如下:
AGND:
模拟信号地;
ANALOGIN:
模拟信号输入端;
CLK:
时钟输入端;
DGND:
数字信号地;
D1~D8:
数据输出端口。
D1为数据最低位,D8为最高位;
OE:
输出使能端。
当OE为低时,D1~D8数据有效,当OE为高时,D1~D8为高阻抗;
VDDA:
模拟电路工作电源;
VDDD:
数字电路工作电源;
REFTS:
内部参考电压引出端之一,当使用内部电压分压器产生额定的2V基准电压时,此端短路至REFT端;
REFT:
参考电压引出端之二;
REFB:
参考电压引出端之三;
REFBS:
内部参考电压引出端之四,当使用内部电压基准器产生额定的2V基准电压时,此端短路至REFB端。
图3.1TLC5510的引脚排列
2.TLC5510工作原理
TLC5510的工作时序见图3。
时钟信号CLK在每一个下降沿采集模拟输入信号。
第N次采集的数据经过2.5个时钟周期的延迟之后,将送到内部数据总线上。
在图3.2所示的工作时序的控制下,当第一个时钟周期的下降沿到来时,模拟输入电压将被采样到高比较器块和低比较器块,高比较器块在第二个时钟周期的上升沿最后确定高位数据,同时,低基准电压产生与高位数据相应的电压。
低比较块在第三个时钟周期的上升沿的最后确定低位数据。
高位数据和低位数据在第四个时钟周期的上升沿进行组合,这样,第N次采集的数据经过2.5个时钟周期的延迟之后,便可送到内部数据总线上。
此时如果输出使能OE有效,则数据便可被送至8位数据总线上。
由于CLK的最大周期为50ns,因此,TLC5510数模转换器的最小采样速率可以达到20MSPS。
图3.2TLC5510工作时序
TLC5510外围电路
(1)为了减少系统噪声,外部模拟和数字电路应当分离,并应尽可能屏蔽。
(2)因为TLC5510芯片的AGND和DGND在内部没有连接,所以,这些引脚需要在外部进行连接为了使拾取到的噪声最小,最好把隔开的双绞线电缆用于电源线。
同时,在印制电路板布局上还应当使用模拟和数字地平面。
(3)VDDA至AGND和VDDD至DGND之间应当分别用1μF电容去耦,推荐使用陶瓷电容器。
对于模拟和数字地,为了保证无固态噪声的接地连接,试验时应当小心。
(4)VDDA、AGND以及ANALOGIN引脚应当与高频引脚CLK和D0~D7隔离开。
在印制电路板上,AGND的走线应当尽可能地放在ANALOGIN走线的两侧以供屏蔽之用。
(5)为了保证TLC5510的工作性能,系统电源最好不要采用开关电源。
图3.3TLC5510外围电路
3.3串口通信模块
串行通信是微控制器与外围设备或其他计算机之间通信的一种重要渠道,计算机或微控制器与外界进行数据交换称为通信。
我们所用S12串行通信模块包含多个独立的串行子系统,故我们可以进行S12和计算机之间的通信,进行在线调试。
图3.4为串行通信模块电路图。
其中MAX232的9、10两脚分别与S12的PS0、PS1连接。
图3.5为MAX232引脚图。
图3.4串口通讯电路图3.5MAX232引脚图
3.4调参模块
对于用来竞赛的车模必须要有很强的适应性,这就在要求你控制算法适应性强的同时,还可以适当的改变一些算法中的可调参数使车模能够很好的适应新的赛场环境。
特别是在赛前的副管调试时,可以根据跑道所用材料的摩擦系数来适当的确定车模在接下来的比赛中所用参数。
总之,一辆好的车模往往具有很强的可调性,这就需要确定好方便调参电路和必要的软件程序的支持。
针对于此,设计初期,我们参考了上届其他大学的报告,有了几种方案。
1.使用带旋柄电位器对合适的电压进行分压,用S12的ATD模块对分得电压值采样。
可以用S12的一个A/D口就可读入一个旋转信号,可以用它来等比例调节车速。
2.使用使用键盘阵列配合拨码盘和LED。
此方法占用单片机I/O口,而且外围电路过于大,模块化以后占车模面积也太大,所以没有采用。
3.旋转开关配合LED。
旋转开关在接好外围电路后,在正反转使产生不同脉冲信号,送入单片机进行处理,根据需要可以设置不同的可调参数。
在实际的使用中我们选择了第三种方法,它理论上可调的参数为九十九个,足够用来对车模的参数进行调节,LED显示构成人机界面。
如图3.6为旋转开关电路图,3.7为人机界面电路图。
图3.6旋转开关电路图
3.7人机界面电路图
3.5电机驱动电路
电机驱动电路在每一界的比赛中都受到足够的重视。
我们也不例外,总结了很多技术报告后,我们发现大多数学校用的都是组委会提供的33886,只有少部分学校用的是自己搭建的驱动电路或是直接购买的驱动电机的电路成品。
我们上届所用的是33886,这次备战我们也考虑过使用33886,但是由于它导通内阻过大,而且有当并联是匹配内阻不恰当的时候有发热问题困扰,所以我们尝试了自己选用导通内阻尽量低的MOS管和便于控制的前级驱动外加保护用的逻辑电路来搭建驱动电路。
下面分别对两种方案介绍。
3.5.133886驱动
目前电路板上将两片33886并联,PWM信号一路直接输入到A1,一路经过反向后输入到A2。
这样如果PWM波的