东北大学极速蜗牛队技术报告.docx
- 文档编号:11170170
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:63
- 大小:2.05MB
东北大学极速蜗牛队技术报告.docx
《东北大学极速蜗牛队技术报告.docx》由会员分享,可在线阅读,更多相关《东北大学极速蜗牛队技术报告.docx(63页珍藏版)》请在冰豆网上搜索。
东北大学极速蜗牛队技术报告
第二届全国大学生“飞思卡尔”杯
智能汽车竞赛
技术报告
基于CCD视频传感器的智能车路径识别控制系统
学校:
东北大学
队伍名称:
极速蜗牛
参赛队员:
于伟光王光勇刘宇
带队教师:
李景宏
关于技术报告和研究论文使用授权的说明
本人完全了解第二届全国大学生“飞思卡尔”杯智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:
参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
带队教师签名:
日期:
摘要
本智能车以飞思卡尔公司的16位单片机MC9S12DG128B为核心控制器,利用CCD视频传感器采集路况信息,配合传感器、电机、舵机、电池等组成的驱动电路进行信息处理,以达到路径识别的目的,控制模型车高速稳定地在跑道上行驶。
硬件电路部分主要采用MC33886模块稳定、有力地驱动直流电动机和舵机。
所选用的低压差电源管理芯片TPS7350和MAX734,可使在7.2伏电池供电的条件下为系统的各功能模块提供了稳定、可靠的工作电源,为智能车的稳定工作提供了有力的保证。
测速部分采用电压频率转换芯片LM2907完成对速度的及时测量和反馈。
软件系统部分主要包括以下与路径识别系统相关模块的算法:
(1)CCD视频传感器采集数据的处理模块算法;
(2)速度反馈以及用PID算法实现对即时速度的调节模块;(3)舵机调节模块算法;(4)基于上述三个模块的路径识别算法;(5)相应的调试函数。
本系统利用开发工具CodeWarrior进行编程开发,用BDM进行程序下载,利用串口传输的数据进行在线调试。
这些工具的使用,使得软件的设计编程和调试工作得到了保证。
通过一系列的调试,本系统基本实现了路径识别的功能,在实际的测试中,小车也比较好的完成循线行驶的任务。
关键字:
智能车,路径识别,PID,CCD视频传感器,PWM
第一章引言
随着现代科技的飞速发展,人们对智能化的要求已越来越高,而智能化在汽车相关产业上的应用最典型的例子就是汽车电子行业,汽车的电子化程度则被看作是衡量现代汽车水平的重要标志。
同时,汽车生产商推出越来越智能的汽车,来满足各种各样的市场需求。
第二届“飞思卡尔”杯全国大学生智能汽车邀请赛就是在这个背景下举行的。
大赛组委会为各支参赛队伍提供智能车车模、MC9S12DG128开发板、可充电镉镍电池组、电机驱动芯片MC33886和舵机。
参赛队伍需要学习并应用嵌入式软件开发工具Codewarrior进行在线开发和调试。
这个大赛的综合性很强,涵盖了控制、模式识别、传感、电子、电气、计算机和机械等多个学科交叉的科技创意性比赛[1]。
参赛队员需要在了解上述多学科知识的基础上,利用Codewarrior软件编程控制智能车对路径信息进行采集和处理,识别当前路径状况,进而控制舵机转相应的角度,驱动电机以合适的速度在跑道上行进。
本队制作的智能车以16位单片机MC9S12DG128B为控制系统核心,利用CCD视频传感器采集路径信息,经过系统处理,识别当前路径情况,做出判断决策,从而给出相应的PWM信号,通过MC33886驱动直流电机以合适的速度行驶,同时,控制舵机转出相应的角度。
本文先从总体上介绍了智能车的设计思想和方案论证,然后分别从机械、硬件、软件等方面的设计进行论述,重点介绍了芯片的选择和路径识别的方法,接着描述了智能车的制作及调试过程,其中包含本队在制作和调试过程中遇到的问题及其解决方法。
第二章总体方案概要说明
2.1设计思想
智能车主要由三个方面组成:
检测系统,控制决策系统,动力系统。
其中检测系统主要有两个选择:
红外反射式红外传感器和CCD视频传感器。
控制决策系统采用大赛组委会提供的16位单片机MC9S12DG128作为主控芯片,动力系统主要控制舵机的转角和直流电机的转速。
整体的流程为,检测系统采集路径信息,经过控制决策系统分析和判断,由动力系统控制直流电机给出合适的转速,同时控制舵机给出合适的转角,从而控制智能车稳定、快速地行驶。
2.2传感器的选择
路径采集的传感器主要有两种:
红外反射式红外传感器和CCD视频传感器。
根据上届比赛的经验,CCD视频传感器比红外反射式红外传感器具有更好的前瞻性,利用这段前瞻的距离,有利于小车提前判断下一步的行驶路线和速度。
因此,本队的智能车决定以CCD视频传感器为采集路径的基础传感器。
结合CCD视频传感器,有两种方案可以选择。
方案一:
基于CCD传感器的路径识别。
电荷藕合器件图像传感器CCD(ChargeCoupledDevice),是使用一种高感光度的半导体材料制成,能把光线转变成电荷,再通过模数转换器芯片转换成数字信号。
CCD由许多感光单位组成,通常以百万像素为单位。
当CCD表面受到光线照射时,每个感光单位会将电荷反映在组件上,所有的感光单位所产生的信号加在一起,就构成了一幅完整的画面。
基于CCD传感器的路径检测方法具有探测距离远的优势,能够尽可能早的感知前方的路径信息进行预判断,再现路径的真实信息。
而且,普通的CCD传感器图像分辨率都在300线以上,它的分辨率远远大于光电管阵列的方法。
通过镜头,CCD传感器可以将车模前方很远的道路图像映射到CCD器件中,从而得到车模前方很大范围内的道路信息。
基于图像的道路参数识别,不仅可以识别道路的中心位置,同时还可以得到道路的方向、曲率等信息。
基于CCD
传感器,通过图像处理的方式得到路径信息,可以有效进行车模运动控制,提高车模的路径跟踪精度和运行速度。
但是,使用CCD传感器的瓶颈是传感器具有20ms的固有延时,尽管它能体现出了模型车系统的前瞻性优势,但是20ms的固有延时会影响到小车对路面信息的精确控制。
方案二:
基于CCD传感器和光电传感器的相互配合控制。
CCD传感器具有探测距离远的优势,能够尽可能早的感知前方的路径信息,与光电传感器阵列配合使用,具有远近结合的优势,且具有较高的稳定性和可靠性。
但是本次大赛所要求的控制核心单片机MC9S12DG128,总线时钟最高25M,无法实现高级的图像算法和控制算法,且硬件电路复杂。
综合以上考虑,系统选择方案一,单纯地使用CCD传感器来实现小车路径信息的检测。
第三章机械部分设计
3.1CCD传感器的安装
CCD传感器的安装分由以下几个部分组成:
传感器安装高度、传感器俯仰角,以及传感器的架设。
CCD传感器的视野范围与该传感器的安装高度有关,在相同的俯仰角情况下镜头安装高度增大,传感器的视野范围也随之增大,小车的预瞄距离也会相应的增加。
从扩大视场角方面考虑,安装时可以适当增加镜头的安装高度。
但是,随着镜头的升高,图像会变得越模糊,特别是中间的引导黑线,可能会因此而漏掉图像信息。
所以,传感器也不能安装得太高。
传感器的俯仰角是镜头中心光轴与道路水平面的夹角,俯仰角越大,则采集到的路面信息距小车越接近,俯仰角越小,则传感器采集到的信息距离小车越远。
但是,当传感器采集到的路面信息距离模型车太近时,不能体现使用CCD传感器的前瞻性;当传感器采集的路面信息距离模型车太远时,采集到的图像显得很模糊,而且很容易采集到场地外的干扰信息,同时可能由于采集到的信息太靠前,使模型车提前量太多而撞上引导线旁边的立柱。
图3.1为CCD传感器的安装实物图。
图3.1CCD传感器的安装
3.2CCD传感器支架结构
CCD传感器架设在模型车舵机后面正中央处,架在舵机后面而没架在保险杠上,可以在一定程度上防止因模型车冲出场地后对镜头的碰撞。
支架使用的是全铝合金的金属支架,使用螺丝固定在模型车的底板上。
这样,CCD传感器和车模始终保持同步的运动方式,从而,智能车可以获得同步稳定的路径信息。
图3.2为CCD传感器支架的安装实物图。
图3.2CCD传感器支架的安装
3.3测速模块的安装
测速传感器使用的是透射式红外传感器对模型车进行测速,在模型车的后转轴上固定了一个均匀分布了20齿槽的金属圆盘,通过透射式红外传感器的导通和截止来实现速度检测。
透射式红外传感器通过一个电路板固定在金属圆盘的正上方。
图3.3为测速模块的实物图。
图3.3测速模块安装
3.4主板的安装
主板安装简单且稳定,采用三脚支架结构,前脚利用原车配带的塑料杆被螺丝固定在小车底盘的钻孔位置,两个后脚为小车后部两个的支柱,如图3.4所示。
图3.4主板的安装
第四章系统硬件设计
硬件系统是整个智能车能够良好稳定运行的基础,选择不同的硬件,对系统的功能实现的影响是不同的。
尽管很多芯片都能实现同样的功能,但是,对于不同的系统而言,芯片不同,实现的效果就不一样。
有的芯片转换效率不够高,有的芯片散热效果不够好,或者某些芯片的输出不够稳定等等。
这些问题都需要结合自己所设计的系统,选择最佳的电器元件。
下面将本车的硬件系统分为不同的模块分别介绍如下。
4.1系统硬件总体结构
首先,对硬件系统结构进行全面的了解,图4.1列出硬件系统的总体结构图。
图4.1系统硬件总体框图
由上图可知,系统由一片MC9S12DG128作为主控制器,由一块电池提供电量,它直接供给CCD传感器和MC33886芯片,电池经过电源管理部分后,输出+5V电压供给MCU(MC9S12DG128),同时输出+6V电压供给舵机,CCD传感器采集到数据后,直接传送给MCU,同时,转速测量模块(LM2907)配合光
电码盘进行速度测量,并反馈到MCU,最后,MCU综合处理CCD传感器和速度反馈的数据,输出信号经过MC33886的处理,再分别传送到舵机和电机,这样,模型车可以通过转合适的角度选择路径,并且以合适的速度在赛道上行使。
上面只是从整体上介绍系统硬件总体结构,为了更详尽的了解系统各部分的功能和工作原理,下面将分别对各个模块进行分析。
4.2电源管理模块设计
电源是一个系统正常工作的基础,电源模块为系统其他各个模块提供所需要的能源保证,因此电源模块的设计至关重要。
模型车系统中接受供电的部分包括:
传感器模块、单片机模块、驱动电机模块、转动电机模块以及其它的外围辅助模块等。
设计中,除了需要考虑电压范围和电流容量等基本参数外,还要在电源转换效率、噪声、干扰和电路简单等方面进行优化。
可靠的电源方案是整个硬件电路稳定可靠运行的基础。
全部硬件电路的电源由7.2V,2A/h的可充电镍镉电池提供。
由于电路中的不同电路模块所需要的工作电流容量各不相同,因此电源模块应该包含多个稳压电路,将充电电池电压转换成各个模块所需要的电压。
本系统主要用到了以下几个不同的电压,如表4.1所示。
电源模块由若干相互独立的稳压电源电路组成。
在本系统中,除了电机驱动模块的电源是直接取自电池外,其余各模块的工作电压都需要经电源管理芯片来实现。
5V电源的实现是通过电源管理芯片TPS7350来实现的。
TPS7350是一款低压稳压芯片,能提供5V的固定电压输出。
TPS7350低压差稳压芯片克服了早期稳压芯片的缺点,而且还增加了如节电待机模式和供电管理等功能。
与其它的稳压芯片一样,TPS7350需要外接一个输出电容来保持输出的稳定性。
出于稳定性考虑,需要在稳压输出端和地之间接一个10uF低等效电阻的电容器。
除非该等效电阻小于1.2欧姆,否则引入的陶瓷电容或薄膜电容器会使输出的电压不稳定。
在很小或根本就没有旁路电容的情况下,输出电容可以减少到4.7uF,所提
供的等效电阻维持在0.7到2.5欧姆。
因为电容的等效电阻很小,有必要串联一个0.5~1欧姆的电阻,并且限制该电阻不超过1.5欧姆。
表4.1系统所用到的电压
电压/V
是否经过
电压转换
用途
备注
5
是
单片机、电机驱动芯片、转速测量芯片
该电压要求稳定、噪声小、电流容量大于500mA
6
是
舵机
电流在几十毫安左右
7.2
否
电机
该电压为电池两端电压
12
是
CCD传感器
图4.2是6V电压生成电路。
该电路与5V实现电路最大的区别就是在图2.2使用了两个二极管D202和D203来提高TPS7350的地电位,实现6V电压输出。
图4.2TPS7350(6V)工作原理图
在上图中,注意到TPS7350有一特殊的输出引脚,该引脚为复位(RESET)。
TPS7350的复位引脚(RESET)作用是:
控制输入端电压,以调节输出端电压,当输出电压高于4.65V时,复位输出端RESET为高电平。
当输出电压低于4.65V时,RESET输出低电平。
当输出电压又变为高于4.65V时,RESET在保持200ms的低电平后,变为高电平。
另外,CCD传感器还用到了12V电压,所以还要用MAX734来实现12V的电压输出。
如图4.3所示,通过电感L301和电容C301、C302网络的7.2V的电源电压,在经过电源管理芯片MAX734后,输出+12V的稳定电压。
SHDH为闭锁引脚,低电平有效。
SS为软启动引脚,在SS和地之间的电容提供了软启动和短路保护的功能。
CC为电容补偿输入,构成补偿反馈环。
VOUT为输出引脚,固定的+12V电压输出,V+为电压输入引脚,将通过滤波后的电源电压引入该引脚。
图4.3MAX734工作原理图
4.3视频分离电路LM1881
视频分离芯片LM1881外围电路如图4.4所示,1脚为复合同步输出
(COMPOSITESYNCOUTPUT)端口,将该端口的信号作为行同步的标志,当该端口有信号输出时,表示采集到一行数据,将它的输出作为行同步信号,连接到单片机的IRQ端口,在IRQ中断中对采集到的视频信号进行处理。
2脚为视频信号的输入端,该端口接收CCD传感器采集到的视频信号。
3脚为垂直同步输出(VERTICALSYNCOUTPUT)引脚,该引脚的信号作为场同步信号,当该引脚有信号输出时,表示采集到一新场,将它连接到H端口。
图4.4LM1881外围电路
4.4直流电机驱动电路
用MC33886电机驱动H桥芯片作为电机的驱动芯片,通过S12输出的PWM信号来控制电机。
如图4.5所示。
VPWR为电源电压7.2V,当D1接低电平,D2接高电平时,电机驱动芯片MC33886开始作用。
IN1和IN2是该芯片的两个输入引脚,OUT1和OUT2是芯片的输出引脚(各有两个,可同时控制2个电机的运转,因模型车只有一个电机,所以可以将它的两个OUT1和两个OUT2并在一起,增大芯片的带负载能力),它们随着输入PWM信号的占空比的不同,输出的电压不同,从某种意义上说,MC33886就是一款将占空比转换为电压的芯片。
在本系统中,引入了可接跳线的插孔,可以方便地对MC33886的各个引脚进行控制。
因为当MC33886正常工作时,需要将使能端D1和D2分别接地和高电平。
所以,除了用单片机的输出引脚对D1和D2进行控制外,可以使用跳线将D1和D2直接与地和电源相连。
而且,从图中还可以看到,当用跳线将J4相连后,输出端OUT2的经过发光二极管后可以触发二极管的亮灭,方便对当前芯片输出情况的监控。
图4.5MC33886工作原理图
另外,为了更快的减速,本队考虑了利用电机的倒转进行减速的过程,方法是:
MC33886的23通道输出作为直流电机的一端输入,而45通道输出作为直流电机另一端的输入,这样,直流电机就会根据两个输入端的差值来运转,即可实现正转和倒转。
当智能车需要急刹车的时候,可以适当的进行倒转,来达到快速减速的过程。
不过,这个过程也对电机和MC33886有一定的损耗,所
以利用的时候应十分谨慎。
4.5转速测量电路
为了使得模型车能够平稳地沿着赛道运行,除了控制前轮转向外,还需要控制小车的车速,使模型车在急转弯时速度不至于过快而冲出赛道,同时也使小车在直线段时以较快的速度行驶。
所以要时刻把握当前小车的速度,并根据小车所处的位置来实时调整小车的速度。
通过速度检测,可以消除或降低电池电压、电机传动摩擦力、道路摩擦力等的影响,使得小车在赛道上运行得更精确。
本系统采用频率-电压转换芯片LM2907结合带齿槽结构的圆盘来实现小车的速度检测。
即将具有齿槽结构的圆盘固定在后轮驱动电机输出轴上,采用直射式红外传感器读取齿槽圆盘转动脉冲。
将该脉冲信号输入频率-电压转换芯片,可得出相应于输入脉冲的电压值。
然后将该电压信号输入MC9S12DG128芯片的A/D端口,得出当前转速的数字量。
将该数字量于期望的转速相比较,来调整小车的速度。
LM2907单片集成频率-电压转换芯片由比较器、充电泵、高增益运算放大器组成,能将频率信号转换成电压信号[2]。
为了获得最佳性能,必须仔细选择合适的电阻R1和合适的电容C1。
定时电容还为电荷泵提供内部补偿,为了使元器件取得准确的转换结果,其值应大于100uF,太小的电容会在R1上产生误差电流,特别是低温条件下更应该如此。
LM2907的外围电路如图4.6所示。
图4.6LM2907工作原理图
需要注意的是,必须抬高11引脚(参考电压端)的电压,否则不能获得跟随输入频率的输出电压。
因此,系统通过分压电阻网络抬高11脚电平。
如图所示,通过R2=50k和R3=30k将11脚电平提高到1.875V。
其实,只要将该脚的电平值提高到一定的数值,就可实现跟随输入频率的输出电压[18]。
引脚3的输出电流是内部固定的,因此VO/R1值必须小于或等于此固定值。
于是有:
公式4.1
其中
是满刻度输出电压,
为150uA。
但是如果
太大,将会影响3脚的输出阻抗,从而使频率-电压转换的线性度变差。
其次,还要考虑输出纹波电压,以及
和
的影响。
引脚3的纹波电压
可用下式计算:
公式4.2
的选择与纹波无关。
但是响应时间,即输出VOUT稳定在一个新值上需要的时间会随着
的值增加而增加,因此必须在纹波、响应时间和线性度之间仔细地进行折衷选择。
最后,最大输入频率由
,
和
共同决定:
公式4.3
和
的选择:
公式4.4
将系统所能忍受的纹波电压输入上面的纹波函数公式4.2,即可得
。
在测试过程中,系统检测到无论输入频率增加到多大,其输出最大电压为约为
而固定在小车后轮转轴上的圆盘齿槽数为20个(即小车车轮没转动一圈,透射式光电传感器能检测到20个脉冲信号),所以当小车以占空比为1时全速运行,其有最大的输出频率Fmax,经检验,Fmax=600Hz。
方案一:
选择R1为100k,将R1=100k带入公式4.4,可得
设系统能忍受的速度偏差为0.05m/s,因为车轮的直径为51mm,则将速度偏差转换为相应的频率值为
将该频率转换为电压值为
纹波电压为0.024V,由(4.2)式可知,最大的纹波电压发生在频率最小的时刻(即输入频率为0的时刻),将
=0.024V带入公式4.2,可得
因此,系统选择C1为10
,C2为1
,R1为100
。
其所对应的频率-电压表如表4.2所示:
表4.2频率-电压转换表
频率/Hz
电压/v
频率/Hz
电压/v
0
0.003
220
1.498
10
0.072
230
1.567
15
0.107
240
1.631
20
0.141
250
1.697
30
0.21
260
1.767
40
0.279
270
1.833
50
0.349
280
1.9
60
0.417
290
1.967
70
0.486
300
2.034
80
0.554
320
2.168
90
0.623
340
2.301
100
0.69
360
2.435
110
0.759
380
2.567
120
0.825
400
2.697
130
0.893
420
2.834
140
0.962
440
2.967
150
1.029
460
3.09
160
1.095
480
3.216
170
1.164
500
3.347
180
1.232
520
3.475
190
1.298
540
3.616
200
1.365
560
3.633
210
1.432
580
3.633
由该频率-电压对应表拟合的频率-电压转换曲线如图4.7所示
图4.7频率-电压转换曲线
方案二:
系统选择R1为51k,将R1=51k带入公式4.4,可得
在此系统选择
为33nf.
设系统能忍受的速度偏差为0.05m/s。
将该频率转换为电压值为
纹波电压为0.036V。
由公式4.2可知,最大的纹波发生在输入频率最小的时刻(即输入频率为0的时刻)。
将
=0.036V代入公式4.2,可得
在此系统选择
为51k,
我33nf,
选择2.5uF。
在该参数条件下,系统测得相应于输入频率的输出电压值,如图表4.3所示。
表4.3频率-电压转换对应表
输入频率/Hz
输出电压/V
输入频率/Hz
输出电压/V
12.5
0.108
225
1.961
25
0.218
237.5
2.069
37.5
0.328
250
2.175
50
0.438
262.5
2.283
62.5
0.548
275
2.391
75
0.658
287.5
2.499
87.5
0.768
300
2.606
100
0.878
312.5
2.713
112.5
0.986
325
2.822
125
1.095
337.5
2.927
137.5
1.204
350
3.035
150
1.312
362.5
3.142
162.5
1.42
375
3.248
175
1.528
387.5
3.357
187.5
1.636
400
3.464
200
1.744
410
3.620
212.5
1.853
425
3.621
由上述输入频率和输出电压,拟合的曲线如图4.8所示:
图4.8频率-电压拟合曲线
通过对图4.7和图4.8进行必较,不难发现,方案二所对应的曲线线性度优于方案一所拟合出的频率-电压曲线,因此系统选择方案二。
通过该曲线可以看出,在较低频率(本系统中低于410Hz)下,其输出电压与输入频率之间有较好的线性关系(经验证线性关系介于正负0.3%)。
所以,只要保证输入频率不超过所允许的最大频率,系统都可以使用该曲线作为速度检测曲线。
其实,在本系统中,圆盘上均匀分布了N=20齿槽空隙,车轮直径约为D=51mm,假如模型车以V=3m/s的速度行驶,则其频率F约为
公式4.5
所以,即使小车以3m/s的速度行驶,依然可以用该曲线作为速度检测曲线。
第五章软件设计
为了体现程序的系统性和连贯性,本设计把程序分成各个模块进行分别处理,而各模块也有相应的数据接口,方便其他模块调用,这样,系统条理显得清晰。
这些模块的设计与实现将在下面进行详细阐述。
5.1系统软件总体结构
该系统的软件结构主要分为:
系统初始化模块、对CCD采集数据的处理模块、速度控制和反馈处理模块、路径识别模块(对电机和舵机的控制)等,再有为了便于系统的调试,本系统设计了相关的调试函数,主要包括串口和定时模块。
图5.1是本系统的总体结构图。
图5.1系统软件总体结构框
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东北大学 蜗牛 技术 报告