ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:198.20KB ,
资源ID:8962447      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8962447.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于CCD的智能车制作与调试系统设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于CCD的智能车制作与调试系统设计.docx

1、基于CCD的智能车制作与调试系统设计基于CCD的智能车制作与调试系统设计摘要:以“飞思卡尔杯”全国大学生智能汽车比赛为背景,基于S12微处理器设计了一个能自主识别规定路径的智能车。通过软硬件的改进使智能车速度及稳定性有了较大的提高,并遵守大赛的各项规则。1)采用新型16位“飞思卡尔”单片机MC9S12XS12,处理速度更快,性能更稳定;增强型捕捉定时器(ECT)模块提高了摄像头采集效果及系统的可靠性。2)采用速度介入算法对舵机进行控制,克服了去年“弦切法”的不足,使得智能车行驶更稳定、快速。3)采用BB_control控制算法提高了电机的响应速度,能满足小车在较高速度下的快速响应要求。4)基于

2、SD卡设计了智能车调试系统,能够对智能车行驶过程中的路径图像进行存储,并能通过上位机进行路径信息分析,方便了智能车调试。通过对智能车设计方法的改进,在稳定性及快速性上有了很大提高,设计的SD卡调试系统有较好的应用价值。关键词:CCD摄像头;智能车;SPI;MC9S12XS128;LM1881Abstract:This design with freescale cup national University Smart Car Competition as the background, S12 smart car microprocessor design provides a path t

3、o self-identify the smart car last year. Smart cars to be able to finish the course in the shortest time, and to comply with the rules of competition.1) Using the new 16, freescale SCM MC9S12XS12, processing speed faster, more stable performance. Enhanced capture timer (ECT) module improves the effe

4、ct of camera acquisition and reliability of system.2) Intervention by the speed servo control algorithm to overcome last years tangential law insufficient to make intelligent vehicles driving more stable and fast.3) Use BB_control control algorithm to improve the response of motor speed to meet the

5、car at high speeds, rapid response requirements. 4) SD card based on the design of intelligent vehicle system debugging, intelligent vehicles can travel the path of the process of image storage, and the path through the host computer information analysis, to facilitate debugging of smart cars.Based

6、on the improvements of smart car design, the system have great increases both in stability and rapid. And the design of the SD card debug system has good application value. Keywords:CCD camera; Smart Car; SPI; MC9S12XS128; LM18811引言1.1设计背景本设计本文以“飞思卡尔”杯全国大学生智能汽车比赛为背景,制作一个在专门设计的跑道上能自主识别道路行驶的智能车,能在最短的时

7、间里跑完跑道,且不脱离轨道。智能车的研究始于20世纪50年代初美国Barrett Electronics公司开发出的世界上第一台自动引导车辆系统(Automated Guided vehicle system,AGVS)。 “飞思卡尔杯”智能车大赛起源于韩国,是韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办的以HCSl2单片机为核心的大学生课外科技竞赛。组委会提供一个标准的汽车模型、直流电机和可充电式电池,参赛队伍要制作一个能够自主识别路径的智能车,在专门设计的跑道上自动识别道路行驶,谁最快跑完全程而没有冲出跑道并且技术报告评分较高,谁就是获胜者。这项赛事在韩国的举办取得了巨大的成果

8、,至此我国也已经成功举办了四届“飞思卡尔杯”全国大学生智能汽车大赛。1.2系统设计要求在提供的车模平台基础上,制作一个能够自主识别路线的智能车,在专门设计的跑道上自主识别道路行驶。系统包括传感器信号采集处理、控制算法及执行、动力电机驱动、转向舵机控制、SD卡模块设计等。本设计主要完成的工作有:智能车硬件选型及组装,确保整体结构更合理路径识别算法设计,确保舵机控制的准确性和快速性;寻求合适的电机控制算法,确保电机控制的快速性;SD卡模块设计与调试;整车调试确保系统的稳定性;2智能车系统总体方案设计2.1系统总体框架智能车系统主要由:车模,摄像头,LM1881视频分离电路,编码器,电池,舵机,电机

9、驱动模块,MC9S12XS128单片机,SD卡(256M),电源匹配模块等组成1。如图1所示:图1智能车系统结构框图2.2智能车硬件总体设计方案硬件主要分为机械结构、处理器、电源、速度检测、电机驱动、路径识别、视频信号分离、SD卡模块等。2.2.1MC9S12XS128资源分配主控制器的管脚分配如表1所示。表1单片机管口分配表IO口PM6视频选通信号PA0奇、偶场信号ECT模块PT7速度传感器外部中断IRQ行同步信号串口通讯RXD0串口接收TXD0串口发送人机模块PH0-PH7、PA2数码管PB0-PB7拨码开关PWM模块PWM01舵机PWM23,PWM45电机2.2.2电机驱动电路的设计本设

10、计采用的是BTS7970驱动电路,电路原理图如图2所示。图2 BTS7970驱动电路原理图2.2.3视频分离电路设计使用 LM1881 视频分离芯片来辅助采样视频。LM1881提取摄像头信号的行同步脉冲、消隐脉冲和场同步脉冲,并将它们转换成数字式电平直接输给单片机的 I/O 口,可以使用 9S12 单片机 I/O 口的中断功能来接收这些信号。电路原理图如图3所示8:图3 视频分离电路原理图2.2.4电源匹配电路SD卡的逻辑电平相当于3.3V TTL电平标准,而控制芯片AT89C52的逻辑电平为5V CMOS电平标准。因此,它们之间不能直接相连,否则会有烧毁SD卡的可能。出于对安全工作的考虑,有

11、必要解决电平匹配问题。如图4所示:图4 电源匹配电路2.3智能车软件总体设计方案软件的设计主要包括:系统初始化、图像采集、路径分析与控制策略、调试软件(SD卡的图像保存与处理)四个部分。2.3.1主程序流程图主程序流程图如图5所示:图5主程序流程图2.3.2中断程序设计实时中断:这个中断是用来测速的,由于我们测速采用的是旋转编码器,旋转编码器会根据转速的不同而输出不同频率的方波。这个中断就是为了采集这个频率信号而设计的。外部中断IRQ:这个中断是用来捕捉摄像头信号中的行同步信号,用以判断一行是否开始。输入捕捉中断TC0:这个中断时用来捕捉经比较器比较后的图像信号的跳变沿,从而判断黑线的位置。2

12、.4智能车各部分的功能描述2.4.1主控芯片MC9S12XS128MC9S12XS128单片机内核为 CPU12高速处理器,片内总线时钟最高可达 40MHz。经过对单片机进行超频处理,可以使该单片机内部总线达到 80MHz7,从而大大提高了处理速度。此外,MC9S12XS128单片机拥有50多个中断源,中断优先级可设并支持中断嵌套。片内资源包括8K RAM、128K Flash、2K EEPROM,大容量的存储器使得对于嵌入式操作系统的移植和中等复杂程度的控制系统都不需要外扩存储器;串行通信端口也非常丰富,有2 路SCI、2 路SPI、IIC 等串行接口模块;脉宽调制(PWM)模块可设置成8路

13、8位或者4 路16位,逻辑时钟选择频率宽,特别适合用于控制多电机系统;还包括两个8路10位精度A/D转换器,增强型捕捉定时器(ECT)模块,和控制器局域网模块(CAN)并支持背景调试模式。同时还增加了一个平行处理的XGATE模块,该模块是一个智能的可编程的直接存储器(DMA)模块,可以适应高速中断处理、通信和数据预处理,并为其他任务释放一部分CPU空间,从而提高整体性能。此外,它内部还集成了完整的模糊逻辑指令,可大大简化程序设计。最终采用了清华嵌入式研究中心提供的MC9S12XS128系统板,优点是小系统经过长时期推广应用,稳定性良好,缺点是智能车作为竞速比赛,有很多功能比赛未能到,因此清华提

14、供的系统板在一定程度上增加了智能车的重量,对速度有一定的影响。2.4.2测速编码器受车模机械结构的限制,必须采用体积小、重量轻的速度传感器。本设计采用的是光电旋转编码器。其优势是获取信息准确,精度高,搭建容易。劣势:增加后轮负载;光电编码器体积较大,导致车重增加。 2.4.3舵机舵机是竞赛组委会提供的S3010舵机,使用一路PWM控制前轮的转向,配合后轮的驱动电机,使得车体能够快速稳定的行驶。2.4.4电机驱动采用大功率集成驱动芯片BTS7970,控制直流电机紧急制动。使用两路PWM控制占空比,精确调整电动机正反转速。最大驱动电流60A,体积小,集成度高,结构稳定,内阻小,压降低,芯片几乎不发

15、热,是一款性价比极高的驱动电路。3图像采集与处理这个章节是本次设计中的难点,从图像数据的采集到数据的处理,都不是一件容易的事。本次设计中采用的是通过硬件电路将视频信号二值化后,再送到单片机进行图像的采集与处理。3.1摄像头的选择首先,由于赛道仅由黑白两种颜色组成,故只需要采用黑白摄像头即可,这样同时也减轻了数据处理的压力。其次,关于摄像头线数,由于我们采用的是输入捕捉的图像采集方法。这种方法需要保存的数据并不多,故可以适当选择线数较多的摄像头。最后,对于摄像头的前瞻,当我们的小车速度到达一定程度再加上舵机的响应时间,我们有必要提高摄像头的有效前瞻。以目前的速度有效前瞻在180cm左右为宜。本设

16、计选用的摄像头只需要5V电源供电,这不仅简化了电路,减轻的智能车的重量,同时还提高了整体系统的可靠性。相关参数如表2所示:表2 摄像头相关参数额定电压5V额定电流120mA感光材料CCD输出信号制式PAL分辨率320线3.2摄像头图像信号简介3.2.1图像信号的组成 图像信号的组成如图6所示:图6摄像头图像信号的组成3.2.2图像信号各参数理论上摄像头的参数:场周期为20ms(每秒50场);行周期为64us(每场312.5行,其中偶场的第一行是一个半行);场消隐宽度=25个行周期=1.6ms;场同步宽度=2.5个行周期=160us;行消隐宽度=12us;行同步宽度=4.7us;3.3视频信号分

17、离采用LM1881进行视频分离。其中行同步信号和奇偶换场信号作为判断标志。其中奇偶换场信号中奇场时该引脚输出为高电平,偶场时该引脚输出为低电平。由于在每一帧的图像中,奇偶两场的信号差别不大,为了节省空间,提高采集数据的实时性,选择每一帧图像仅采偶场,则判断奇偶换场信号的下降沿。3.4视频信号二值化二值化的效果如图7所示。图7 LM339二值化比较效果二值化的原理实际上,比较器是将输入的信号进行二值化的最简单的一种方法,当将视频信号接入比较器的同向输入端,在反向输入端给定一基准电压(COMS摄像头0.68V左右;CCD摄像头0.25V左右),其二值化原理图如图8所示。图8 二值化原理图3.5数据

18、采集3.5.1数据采集原理本设计采用的是捕捉图像二值化后的边沿。如图9所示。图9 捕捉图像示意图行同步信号下降沿W0到来后,图像整个宽度为W=W4-W1;其中W3-W2为黑线。通过公式:OFFSET=W2-W1,就可以知道黑线的偏移量了。上述采集思路也是存在一定问题的,上面数据的参考点选择的为图13中的W1,而这一点是不确定的。我们仔细观察图7中的图像两边,发现比中间要低,而图像硬件二值化结果第一点并不是和图像开始边沿对齐,也就是说我们用W2W1得出的黑线偏移是以W1为基准点,而W1又是变动的,那么同一位置的偏移量就有变动的。所以在后面的处理中,选择的参考点为W0,因为它是行同步下降沿,所以为

19、定值。3.5.2数据采集流程图本设计中数据采集流程图如图10所示:图10 数据采集流程图本设计中用到的输入捕捉发,在二值化的基础上能得到较好的图像采集效果。同时有减少了数据量。减小了数据的保存和处理难度。3.6路径识别3.6.1黑线提取理论上在摄像头的一行信号中我们可以捕捉到4次电平变化(以下称之为采集点)。虽然我们采用的硬件二值化电路已经具备了一定的抗干扰能力,但是实际中我们往往会采集到2到6个电平变化。造成这一结果的主要原因有:跑道上的台阶或者不平整导致小车的抖动所致; 跑道的十字路口或者起跑线导致采集点的变化; 现场的灯光不均匀导致采集点的变化。 鉴于以上原因我们就很有必要设计出进一步可

20、以滤除信号干扰的方案,再设计中我们发现无论是由于什么原因导致采集点的变化,都和真确的黑色引导线是不连续的。也就是说在整个跑道上,正确的黑色引导线始终是连续的。通过这一发现我们设计出了逐点搜索的方法来滤除干扰,实验证明这种方法是比较有效的。这种滤除干扰的方法实现流程图如图11所示。图11 黑色引导线搜索流程图此滤波法的在使用的过程中要注意的是,搜索范围的控制,如果搜索范围比较大将导致滤除干扰的效果不明显甚至不能起到滤波的作用。如果搜索范围设置的比较小那么往往导致无法搜到有效地第一点,这样就很容易丢失掉原本真确的图像信号。3.6.2偏差计算通过有效地黑线提取。我们得到比较能真实反映智能车前方路径的

21、一组数据。这样就可以对智能车是否偏移跑道做出准确的判断。这在智能车的设计中是十分重要的。本设计中采用的是速度介入法。速度介入法的主要思想是:在计算偏差的过程中,加入速度的因素。通过理论分析和实际调试做出以下控制规则:IF V420 THEN L60IF 380V55IF 300V50IF V45规则说明:规则中V表示智能车的速度,L表示参与偏差计算的认为是远端黑线的行数。例如:L60表示系统认为此时第60行以后为视场远端。行数越大表示图像与摄像头越远。简单的说就是当速度很快的时候需要用摄像头远端的图像来计算偏差,当速度相对较低的时候我们可以用摄像头中部或者近端的图像来计算偏差。这其中要说明的是

22、控制智能车转向的舵机有一个0.16s0.02s的响应延迟时间。此方法的内容中还包括一点,就是智能车最优行驶路线的选择,不推荐任何时候都沿跑道内线行驶,特别是在直角弯和小圆环的跑道上,或者与其类似的跑道。速度介入法提出在急转弯的跑道上可以让智能车适当的沿外线行驶,这样虽然延长的智能车的行驶路程,但是对智能车的转向却非常有利。同时不用再将速度限制的很低。这样取到一个较好的效果。3.6.3起始线识别起跑线如图12所示。为了识别出起始线首先必须确保相邻的采集到行信号之间的距离要小于这两段黑色线段的宽度,否则可能就采集不到起始线了。图12 赛道起始线示意图本设计采用的起始线识别方法是结合黑线的采集方法来

23、实现的。在摄像头的视场中只有一条黑线的时候,经过二值化比较后得到的图像信号如图 所示。可以看出图像中我们可以捕捉到4次电平变化。当摄像头的视场中出现起始线的时候,经过二值化比较后的图像信号如图13所示。可以看出图像中我们可以采集到8次电平变化。这样就可以很容易的判断出起始线的位置了。图13 起始线的视频信号经二值化后的图像4控制策略为了让智能车能够在最短的时间内跑完全程,希望在每一种路况下,赛车都能够以允许的最快速度行驶,这就需要对车速进行闭环控制,我们采用的是BB_control控制算法。对于舵机的控制,我们要达到的目标是在任何一种路径条件下,总能够给舵机一个合适的偏移量,此偏移量采用PID

24、控制算法。从而保证小车能够始终沿着黑线以最少的距离行驶,由于舵机的转角正比于给定的控制信号,因此在这里对舵机实施开环控制。4.1舵机PID控制PID调节器中有比例微分(PD)、比例积分(PI)、和比例积分微分(PID)三种类型。由PD调节器构成的超前校正,可提高系统的稳定裕度,并获得足够的快速性,但稳态精度可能受到影响;由PI调节器构成的滞后校正, 保证稳态精度,却是以对快速性的限制来换取系统稳定的;用PID调节器实现的之后-超前校正则是兼有二者的优点,可以全面提高系统的控制性能,但是具体实现与调试要复杂一点。一般调速系统的要求以动态稳定性和稳态精度为主,对快速性的要求可以差一些,所以主要采用

25、PI调节器;在随动系统中,快速性是主要要求,需用PD或者PID调节器。具体到本设计的智能车系统,我们软件上采用的是PID控制。具体实现公式如公式1所示: (4-1)公式说明:Kp为比例系数,Ki为积分系数,Kd为微分系数,Ei0为本次偏差,Ei1为上次偏差,X_max与X_min为最远有效黑线位置与最近行有效黑线位置。通过实验测试,最终将Kp定在3035之间,Ki在10左右,Kd在26之间。4.2电机BB_control 控制算法在智能车的控制策略中,控制目标是在满足一定巡线精度的前提下,尽可能提高车速。很容易联想到,砰-砰控制能够满足这样的要求。最速控制问题,或者叫时间最优控制(Time O

26、ptimal Control)问题。简单地说,就是给定最大马力和最大刹车功率,开车从 A 点开到 B 点的方法,不考虑弯道、障碍等因素时,能够想象得到的最快的方法,就是加足马力、全速前进,然后在到达终点时,全力刹车。“砰-砰控制”(Bang-Bang Control)这一名称也由此得来:“砰”的一声,油门板一脚到底;“砰”的一声,刹车到底,控制任务完成。最速控制在理论上是一个很有趣的问题,解法通俗、简洁,但在实际应用中单独应用砰-砰控制的情况却不多见。因为在被控对象达到预期输出时,由于砰-砰控制器的作用,将造成较大的超调。因此,在实际应用中一般采用如下方法:启动时,匀速上升到最大控制,以缓和控

27、制的冲击力;到达终点附近时,改用 PID 控制,作闭环微调,克服“砰-砰”的系统模型误差十分敏感的缺点。本设计中控制方法是进入直道后,直接控制 PWM 占空比,使加到驱动电机两端的平均电压为最大值,使电机迅速加速,相当于电机全压启动;速度超过直线段预设的速度限定值后,PWM 占空比调为 0,相当于电机自由停车;速度一旦小于给定值,则立即将 PWM 占空比调到最大。判断进入弯道时,立即调整 PWM 输出,使加到电动机两端的电压为负的最大值,使电机迅速制动,相当于反接制动状态;随后,根据弯道曲率情况,改变速度给定值,同样采用上述方式,使小车在弯道内的速度始终接近给定值。5系统调试在智能车完成基本的

28、功能后,系统调试工具就显得非常重要了,要想得到智能车在跑道上所采集的最准确的信号,就必须准确的对摄像头的信号进行保存,本设计中采用的是SD卡模块来保存智能车在跑道上的各种信息。然后通过USB接口在PC机上清晰地反映出来。为设计最合适本智能车的控制算法提供最准确的信息。5.1 SD卡模块简介5.1.1 SD卡的接口描述SD卡的接口可以支持两种操作模式13:SD卡模式和SPI模式。其电路连接图如图14所示:图14 SD卡接口连接电路图主机系统可以选择以上其中任一模式,SD卡模式允许4线的高速数据传输。 SPI模式允许简单通用的SPI通道接口, 本设计采用SPI模式通信。表格 3 列出了SD卡引脚在

29、SPI模式下的定义和功能描述。表3 SPI模式下的引脚定义针脚名称类型描述1CSI片选(负有效)2DII数据输入3VssS地4VccS供电电压5CLKI时钟6Vss2S地7DOO数据输出8RSV-9RSV-1)S = 电源供应; I = 输入; O = 输出。2)这个“RSV ”脚是浮空的输入引脚。主机设计者有责任给这些连接线加上外接的上拉电阻。否则,这些浮空的输入脚可能会造成非预料的大的电流消耗。 5.1.2 SD卡模块的实现SD卡的读写操作都是通过发送SD卡命令完成的。SPI总线模式支持单块(CMD24)和多块(CMD25)写操作,多块操作是指从指定位置开始写下去,直到SD卡收到一个停止命

30、令CMD12才停止。单块写操作的数据块长度只能是512字节。单块写入时,命令为CMD24,当应答为0时说明可以写入数据,大小为512字节。SD卡对每个发送给自己的数据块都通过一个应答命令确认,它为1个字节长,当低5位为00101时,表明数据块被正确写入SD卡。在需要读取SD卡中数据的时候,读SD卡的命令字为CMD17,接收正确的第一个响应命令字节为0xFE,随后是512个字节的用户数据块,最后为2个字节的CRC验证码。可见,读写SD卡的操作都是在初始化后基于SD卡命令和响应完成操作的,写、读SD卡的程序流程图如图15 和图16所示。图15 SD卡写流程图图16 读SD卡流程图5.2遇到的问题及

31、解决方案在整个小车制作和调试过程中出现了很多问题,对其中比较典型的几个问题总结如下:直道抖动问题在系统调试的过程中,曾有一段时间,小车在直道上的运行不平直,一直都有小幅度的抖动。经过摸索我们总结了如下解决方法:检查机械结构,比如摄像头安装是否平稳。检查舵机是否损坏(检查方法是看舵机转角是否连续且从不同方向回到中心时的舵机转角基本相同)。如排除以上两种原因,可以尝试调节PID系数,主要是比例系数的调节。必要时可以试试非线性的方法即给PID系数分段。经过试验发现,我们的问题出在上述分析的第二点,即舵机损坏。更换舵机后,很好地解决了这个问题。单片机复位问题这是一个比较棘手的问题,我们在调试时经常会小车在行驶的过程中经常的出现单片机复位,即小车突然停止,一段时间后又恢复运行。针对此问题,我们摸索了很长时间,最后总结出以下几种可能原因:系统超负荷工作,工作温

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1