基于线性CCD传感器的自导航循迹小车的制作技术报告_第1页
基于线性CCD传感器的自导航循迹小车的制作技术报告_第2页
基于线性CCD传感器的自导航循迹小车的制作技术报告_第3页
基于线性CCD传感器的自导航循迹小车的制作技术报告_第4页
基于线性CCD传感器的自导航循迹小车的制作技术报告_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于线性CCD传感器的自导航循迹小车的制作技术报告 “飞思卡尔”杯全国大学生智能汽车竞赛技术报告关于技术报告和研究论文使用授权的说明 本人完全了解第八届“飞思卡尔”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。摘要 本文以第八届“飞思卡尔”杯全国大学生智能汽车竞赛为背景,详细阐述了基于线性CCD传感器的自导航循迹小车的制作过程。其中内容包括电路设计方案、机械结构设计与改装、算法设计与实现、参

2、数整定和整车调试等。涉及自动控制、无线通信、传感技术、汽车电子、电气、计算机、机械、能源等多个学科。 本文主要阐述了基于coldfire核心控制器利用倒立摆模型、卡尔曼滤波器实现两轮小车的直立行走。通过线性CCD对赛道的识别,实现小车的自主循迹。利用CodeWarrior Development Studio for Microcontroller v7.2进行了代码编写,程序开发和在线调试。关键词:Freescale 小车直立行走 coldfire 卡尔曼滤波 陀螺仪加速度计目录第一章引言11.1 智能车研究背景简介11.2飞思卡尔智能车竞赛介绍11.3章节总述2第二章系统设计总方案42.1

3、硬件电路设计方案42.2车模机械结构设计方案52.3软件系统设计方案6第二章硬件电路设计83.1 ColdFire控制模块83.2电源模块113.3 加速度计和陀螺仪模块123.4 速度检测模块143.5 电机驱动模块143.6 无线传输模块203.7 输入模块203.8 寻迹线性CCD传感器213.8.2 环境光影响问题22第四章机械结构设计与调整244.1全车总览244.2电路板安放位置254.3轮胎处理254.4电池安放位置264.5传感器的固定264.6传感器支架安装284.7保护28第五章软件设计295.1mcf52259资源简介295.2软件任务及框架29295.3控制算法31第六

4、章开发工具的使用和调试过程406.1 codewarrior IDE 的安装与使用406.2 无线上位机系统466.3 现场调试466.4 调试中遇到的问题及解决过程47第七章车模参数与总结507.1车模参数507.2总结50致谢52附录A 程序源代码53参考文献67引言1.1 智能车研究背景简介 智能小车,也称轮式机器人,是一种以汽车电子为背景,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等多科学的科技创意性设计,一般主要路径识别、速度采集、角度控制及车速控制等模块组成。一般而言,智能车系统要求小车在白色的场地上,通过控制小车的转向角和车速,使小车能自动地沿着一条任意给定的黑色带状

5、引导线行驶1。 小车需要实现自动导引功能和避障功能就必须要感知导引线和障碍物,实现自动识别路线,选择正确的行进路线,使用传感器感知路线并作出判断和相应的执行动作。智能小车设计与开发涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科。它可以分为三大部分:传感器检测部分,执行部分,CPU。 现智能小车发展很快,从智能玩具到各行业都有实质成果,其基本可实现循迹、避障、检测贴片,寻光入库、避崖等基本功能,有向声控系统发展的趋势。比较出名的飞思卡尔智能小车更是走在前列,我们此次的设计主要实现循迹这一个功能。1.2飞思卡尔智能车竞赛介绍 飞思卡尔公司开发嵌入式解决方案的历史可追溯到50多

6、年前,现在,已发展成为在20多个国家设有业务机构,拥有 20,000多名员工的实力强大的独立企业。 飞思卡尔公司专门为汽车、消费电子、工业品、网络和无线应用提供“大脑”。他们无比丰富的电源管理解决方案、微处理器、微控制器、传感器、射频半导体、模块与混合信号电路及软件技术已嵌入在全球使用的各种产品中。并拥有雄厚的知识产权,其中包括6,200 多项专利。 为加强大学生实践、创新能力和团队精神的培养,促进高等教育教学改革,受教育部高等教育司委托教高司函2005201号文,附件1,由教育部高等自动化专业教学指导分委员会(以下简称自动化分教指委)主办全国大学生智能汽车竞赛。该竞赛以智能汽车为研究对象的创

7、意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神, 为优秀人才的脱颖而出创造条件。 该竞赛由竞赛秘书处为各参赛队提供/购置规定范围内的标准硬软件技术平台,竞赛过程包括理论设计、实际制 作、整车调试、现场比赛等环节,要求学生组成团队,协同工作,初步体会一个工程性的研究开发项目从设计到实现的全过程。该竞赛融科学性、趣

8、味性和观赏性为一体,是以迅猛发展、前景广阔的汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多学科专业的创意性比赛。该竞赛规则透明,评价标准客观,坚持公开、公平、公正的原则,保证竞赛向健康、普及,持续的方向发展。 该竞赛以飞思卡尔半导体公司为协办方,得到了教育部相关领导、飞思卡尔公司领导与各高校师生的高度评价,已发展成全国30个省市自治区近300所高校广泛参与的全国大学生智能汽车竞赛。2008年起被教育部批准列入国家教学质量与教学改革工程资助项目中科技人文竞赛之一(教高函200730号文)。 全国大学生智能汽车竞赛原则上由全国有自动化专业的高等学校(包括港、澳

9、地区的高校)参赛。竞赛首先在各个分赛区进行报名、预赛,各分赛区的优胜队将参加全国总决赛。每届比赛根据参赛队伍和队员情况,分别设立光电组、摄像头组、创意组等多个赛题组别。每个 学校可以根据竞赛规则选报不同组别的参赛队伍。全国大学生智能汽车竞赛组织运行模式贯彻“政府倡导、专家主办、学生主体、社会参与”的16字方针,充分调动各方面参与的积极性。 全国大学生智能汽车竞赛一般在每年的10月份公布次年竞赛的题目和组织方式,并开始接受报名,次年的3月份进行相关技术培训,7月份进行分赛区竞赛,8月份进行全国总决赛。1.3章节总述本文共把章节安排如下: 第1章引言,大赛背景介绍和章节总述。 第2章系统设计总方案

10、,简述了硬件电路设计、机械结构设计与软件系统设计的大体思路。 第3章硬件电路设计,详细描述了硬件电路相关的包括单片机、电源、电机驱动、传感器、无线等各模块的内容。 第4章机械结构设计与调整,详细描述车模机械结构的安装方式。 第5章软件系统设计,详细描述软件系统的理论分析与程序设计。 第6章开发工具的使用和调试过程,主要介绍了codewarrior?IDE作为系统的开发环境的使用以及调试的相关内容。 第7章总结与参数说明,总结了在本届大赛当中所取得的成绩与不足之处,列出了车模的参数。 第二章 系统设计总方案 本章节简述硬件电路设计、机械结构设计与软件系统设计的大体思路,后三章将对此进行详细说明。

11、本组全车系统图如图2.1所示。图2.1全车系统图2.1硬件电路设计方案 系统的硬件电路板部分大体可概括为六个部分: 1 单片机最小系统:由于大赛同校同组别不得使用相同单片机的规定,我们使用的是较少人使用过的32位的coldfireMCF52259单片机。这加大了我们的学习难度,但同时也让我们收获更多。ColdFire系列芯片不但具有微处理器的高速性,还具有微控制器的使用方便等特征。它具有丰富的资源,足以满足小车控制的需求。 2 电源模块:我们使用的线性电源芯片为TPS7350与TPS7333,这两种芯片电路简单、纹波很小,适合我们使用。 3 电机驱动模块:电机驱动芯片我们选用BTN7960,它

12、是一款针对电机驱动应用的完全集成的大电流半桥芯片。 4拨码开关输入模块:我们在开关的选择上选择了8位拨码开关,应为8位开关可以储存大量的数据,使得在比赛时我们小车有更多的方案进行选择,增加了对赛道的适应性。 5 直立控制陀螺仪与加速度计传感器模块:加速度传感器可以测量由地球引力作用或者物体运动所产生的加速度。陀螺仪可以用来测量物体的旋转角速度。我们使用了竞赛允许选用的飞思卡尔公司产生的加速度传感器和村田公司出品的ENC-03系列的加速度传感器。 6 编码器测速模块:我们所使用的D车车模有两个电机,转向时需要电子差速,因此我们的采用了两路速度闭环控制,为每个轮子各安装了一个编码器进行测速。 7

13、循迹线性CCD传感器模块:根据大赛的要求,跑道检测传感器我们选择TSL1401线性CCD。 8 无线调试模块:我们使用的是一对XL02-232AP1无线模块,其各项参数如:输出功率、串口速率、工作频率、产品ID等相关参数可以通过软件设置,并且设置工作十分方便快捷,避免一些不必要的麻烦。2.2车模机械结构设计方案 车模的机械结构对小车的影响很大,到小车速度快到一定程度之后,机械结构的好坏往往是决定能否再提速的关键性因素。车模机械调整的目标是让整个小车系统的各个模块及零部件合理地布局,并除掉不必要的部分,让小车在整体上更加紧凑整洁轻便,利于提速。 车模机械结构的调整大致分为以下几个部分: (1)电

14、路板安放:电路板根据个人设计不同,可以是一整块,也可以分成独立几块,分开布局。电路板的安放位置对小车重心有较大影响。 (2)电池的安放:电池的质量占据了整个车模系统很大的比重,所以它的位置将很明显地影响系统的重心位置。 (3)传感器的安装:小车使用了控制直立的陀螺仪与加速度计传感器、循迹的线性CCD传感器、编码器测速和检测终点的红外传感器等较多模块,每一种传感器的安放水平都影响检测到的数据,不可大意。 (4)传感器支架安装:我们组小车使用了两个线性CCD传感器,故而对安装的位置要求较高,安装时要格外注意。 (5)轮胎处理:小车高速跑是轮胎容易打滑,因此我们将轮胎与轮毂用胶水粘牢,防止打滑。 (

15、6)保护部分:小车在调试时常常出错冲出赛道,为避免撞坏小车的精密部件,需对小车做好必要的保护处理,一般采用轻便的泡沫。 对直立小车来说,车模机械结构安装调整完成后,须考虑两个因素,即车模质量与车模重心。 关于车模质量:车模质量越大则惯性也越大,小车系统对速度和转向都要求很高的灵敏度和灵活度,从这个角度来说,小车应该越轻越好。但由于本届比赛光电平衡小车有过障碍的要求,较大的惯性可以保证车模更平稳的过障碍。从这个角度来说,车模重一些好。因此要综合两方面考虑,给出合适质量。我们小组选择的方案是用较重的车模增加过障碍的平稳度。 关于车模重心:车模重心高有利于直立控制,重心低有利于速度控制。为了保证智能

16、汽车在高速入弯时不发生侧翻,重心越低越好。所以,我们在安放主控电路板及电池的时候尽可能的低。2.3软件系统设计方案 软件的主要任务有以下几个部分: 1)ccd,加速度计,陀螺仪传感器的采集、处理 2)车模控制:直立控制、速度控制、方向控制 3)电机输出 4)发送串口数据,供上位机监控图2.2 程序流程图 单片机上电后,便进行单片机的初始化,包括单片机应用到的各个模块和车模控制程序中应用到的变量值。 初始化完成后,首先进入车模直立检测子程序。该程序通过读取加速度计和陀螺仪卡尔曼融合后的数值判断车模的直立状态。车模的直立控制、速度控制以及方向控制都是在中断程序中完成。硬件电路设计 整体车子主要分为

17、8个模块:以ColdFire为核心的控制模块,电源模块,电机驱动模块,加速度计和陀螺仪模块,寻迹线性CCD传感器模块,输入模块,无线传输模以及速度检测模块。其中以ColdFire为核心进行整体车子的检测与控制,使车可以正常运行。图3.1各模块联系图3.1 ColdFire控制模块 整车以ColdFire MCF52259微控制器作为控制核心。ColdFire是Freescale公司在M68K基础上开发的微处理器芯片。ColdFire系列芯片不仅具有片内Cache、MAC及SDRAM控制器等微处理器的特征,同时片内还具有各种接口模块,如GPIO、QSPI、UART、快速以太网控制器及USB,这是

18、微控制器的特征。因此,ColdFire系列芯片不但具有微处理器的高速性,还具有微控制器的使用方便等特征。ColdFire系列芯片既支持BDM调试,也支持JTAG调试。到目前为止,ColdFire系列芯片已有近50种,适用于不同功能、不同应用。图3.2 ColdFire MCF52259实物图 MCF52259的管脚具体分配见图3.3。图3.3 MCF52259的管脚分配 芯片的各硬件资源分配如表3.1所示。表3.1 单片机管脚资源分配表序号管脚功能作用1FEC_TXENI/O引脚外部计数器输入2FEC_TXD0I/O引脚外部计数器输入3FEC_TXERI/O引脚外部计数器输入4FEC_TXCL

19、KI/O引脚外部计数器输入5FEC_RXCLRI/O引脚外部计数器输入6FEC_RXERI/O引脚外部计数器输入7FEC_RXD0I/O引脚外部计数器输入8FEC_RXDVI/O引脚外部计数器输入9FEC_RXD2I/O引脚外部计数器输入10FEC_RXD1I/O引脚外部计数器输入11IRQ5I/O引脚外部计数器输入12FEC_RXD3I/O引脚外部计数器输入13TIN0PWM输出驱动BTS7960芯片14IRQ3I/O引脚使BTS7960工作16TIN1PWM输出驱动BTS7960芯片17UCTS0I/O引脚外部计数器清零19URXD0I/O引脚拨码开关输入20UTXD0I/O引脚拨码开关输

20、入21TIN3I/O引脚拨码开关输入22URTS0I/O引脚拨码开关输入23PCS2I/O引脚拨码开关输入25QSDOI/O引脚拨码开关输入27PCS0I/O引脚拨码开关输入29SDAI/O引脚拨码开关输入313V3_E逻辑和I/O引脚的电源接电源323V3_E逻辑和I/O引脚的电源接电源34FEC_TXD2I/O引脚线性CCD复位控制38IRQ1I/O引脚线性CCD逻辑时钟39URXD2I/O引脚线性CCD复位控制40UTXD2串口输入引脚无线串口输入42UCTS2I/O引脚线性CCD逻辑时钟46ICOC0PWM输出驱动BTS7960芯片49AN4AD转换引脚水平陀螺仪输入51AN6AD转换

21、引脚角加速度计Z轴输入54AN2AD转换引脚线性CCD输入55AN1AD转换引脚竖直陀螺仪输入56AN0AD转换引脚线性CCD输入57TIN2PWM输出驱动BTS7960芯片62ICOC3内部计数引脚编码器输入63GND逻辑和I/O引脚的参考地接地64GND逻辑和I/O引脚的参考地接地3.2电源模块图3.4 电源供电分配 电源分为开关电源和线性电源,线性电源的电压反馈电路是工作在线性状态,开关电源是指用于电压调整的管子工作在饱和和截止区即开关状态的。线性电源一般是将输出电压取样然后与参考电压。线性电源技术很成熟,制作成本较低,可以达到很高的稳定度,波纹也很小,而且没有开关电源具有的干扰与噪音。

22、所以我们选择了线性电源。我们使用的线性电源芯片为TPS7350与TPS7333,这两种芯片电路简单、纹波很小,适合我们使用。图3.5 TPS7350工作原理图图3.6 TPS7333工作原理图3.3 加速度计和陀螺仪模块 由于直立控制的需要,我们在智能车上安装了陀螺仪和加速度计,我们分别使用了大赛组委会要求的日本村田公司生产的ENC-03MB陀螺仪和飞思卡尔公司生产的MMA7361加速度计。 加速度传感器可以测量由地球引力作用或者物体运动所产生的加速度。竞赛规则规定必须使用飞思卡尔公司产生的加速度传感器。该系列的传感器采用了半导体表面微机械加工和集成电路技术,传感器体积小,重量轻。如图3-7所

23、示,它只需要测量其中一图3.7 车模运动引起加速度信号变化个方向上的加速度值,就可以计算出车模倾角,比如使用Z轴方向上的加速度信号。车模直立时,固定加速度器在Z轴水平方向,此时输出信号为零偏电压信号。当车模发生倾斜时,重力加速度g便会在Z轴方向形成加速度分量,从而引起该轴输出电压变化。 陀螺仪可以用来测量物体的旋转角速度。竞赛允许选用村田公司出品的ENC-03系列的加速度传感器。它利用了旋转坐标系中的物体会受到科里奥利力的原理,在器件中利用压电陶瓷做成振动单元。当旋转器件时会改变振动频率从而反映出物体旋转的角速度。ENC-03角速度传感器以及相关参考放大电路如图3-8所示: 图3.8 角速度传

24、感器以及参考放大电路 在车模上安装陀螺仪,可以测量车模倾斜角速度,将角速度信号进行积分便可以得到车模的倾角。如图3-9所示。图3.9 角速度积分得到角度 由于陀螺仪输出的是车模的角速度,不会受到车体运动的影响,因此该信号中噪声很小车模的角度又是通过对角速度积分而得,这可进一步平滑信号,从而使得角度信号更加稳定。因此车模控制所需要的角度和角速度可以使用陀螺仪所得到的信号。为了得到比较准的角度值,并且去掉陀螺仪的过冲于温漂问题,我们采用将陀螺仪与角加速度计的信号采集进入单片机进行卡尔曼滤波的方法。对于卡尔曼会在后面详细介绍。3.4 速度检测模块图3.10 编码器及分压工作原理图图3.11 外部计数

25、器74HC4040工作原理图3.5 电机驱动模块 电机驱动芯片我们选用BTS7960,它是一款针对电机驱动应用的完全集成的大电流半桥芯片。它是NovalithICTM系列的成员之一,它的一个封装中集成了一个P通道场效应管在上桥臂和一个N通道场效应管在下桥臂以及一个控制集成电路。由于上桥臂采用的是P通道开关,对于电荷泵的需求也就不复存在了,因此电磁干扰减至了最小。由于集成在内驱动集成电路具有逻辑电平输入,与微控制器的连接变得非常简单,且该驱动集成电路还具有电流检测诊断、转换率调整、死区时间生成以及过热、过压、欠压、过流和短路保护。BTS7960在较小的电路板空间占用的情况下为大电流保护的PWM电

26、机驱动提供了一种成本优化的解决方案。 由于直立车的两个电机都需正反向控制,因此我们用的驱动板共用4片BTS7960,两两组成了一个H桥,共两个驱动桥,分别驱动左右电机。此芯片开关频率可以达到25kHZ,可以很好地解决电机噪声大和发热的问题、同时驱动能力有了明显的提高,相应速度快。具体原理图如图3.12所示。图3.12 BTS7960工作原理图 根据直流电机工作原理2,电动机的反电动势与转速n之间的关系有: (1) 对于永磁电机来说,每极磁通量可视为常数,所以公式1中电动机电势系数为常数,可在电动机空载时,通过编码器测取电动机空载转速和电压求取: (2) 电动机的电磁与电枢电流之间的关系有: (

27、3)公式3中为电动机转矩常数。 (4) 公式4中为PWM占空比;为电源电压。 所以,本设计采用转速闭环,电流开环的控制方式,对电机转矩进行控制。 主电路由二片BTS7960B组成H桥电路驱动永磁直流电机的主电路原理结构图如图3.13所示。图3.13主电路原理结构图 图3-13中,为电机反电动势;为电机线图电感;为回路电阻,包括电机线图电阻、电机换向器等效电阻和BTS7960B的通态电阻,三者组成永磁直流电机的等值电路模型。为电机端电压平均值,其瞬时值为;为电机端电流平均值,其瞬时值为。 BTS7960B由一片P-MOSFET(上桥臂)和一片N-MOSFET(下桥臂)构成,带电流检测、死区时间设

28、定等功能,其基本功能框图如图3.14所示。图3.14 BTS7960B基本功能框图 图3-14中BTS7960B的上下桥臂互补方式工作,与的控制逻辑如图3-15所示。通态电阻,上下桥臂的死区时间可由SR脚设定,本设计设定为。图3.15 BTS7960B的控制逻辑 主电路中V1、V2为一片BTS7960B的上下桥臂(含寄生反向二极管),由PWMR+控制;V3、V4为另一片BTS7960B的上下桥臂,由PWMR-控制。 电路采用单极性工作方式,当电机需要正向电压时,PWMR-置“0”,V4常开,V3常闭。 由PWMR+控制电机电压,驱动电路简化为如图3.16所示。 图3.16正向驱动简化电路图 当

29、PWMR+“1”时,V1开通,V2关断,电源电压加到电动机两端,有。 图3.17正向驱动PWMR+“1”时的简化电路图 此时的电压回路方程为:(5) 当PWMR+“0”时,V2开通,V1关断,电机两端被短路,。 图3.18正向驱动PWMR+“0”时的简化电路图 此时的电压加路方程为: (6) 所以,电机端电压平均值为 (7) 公式8中为PWMR+的占空比。 由于电路相当于电流可逆型复合斩波器3,所以电流连续,在电机电流的平均值为: (8)当电动机为电动状态。当电动机为制动状态,电机减速。 当电机需要减速,可减小,使电动机为制动状态。考虑到能耗问题,有必要能量回馈,本设计采用的主电路有利于能量制

30、动回馈,从以下电流途径分析可得到验证。 电动机工作于制动状态,V1开通前,由于电感正向储能不足,在电机反电动势的作用下,瞬时电流为负,电感反向储能,电流途径如图3-19所示。 图3.19电流途径1:放能、反向储能 此时V1开通,V2关断,反向电流无法经V2流通,虽有,在和的共同作用下,电流将从V1反向寄生二极管流通,回馈到电源电容器,电流途径如图3.20所示。 图3.20电流途径2:放能、放能、电源能量回馈 在瞬时电流由负变为零,电感储能为零,电流才变为正向,从电源吸收电能,电动机瞬时为电动状态,电流途径如图3.21所示。 图3.21电流途径3:电源放能、正向储能、吸能 转换到V2开通, V1

31、关断时,同样由于电感储能的作用,瞬时电流不能立即改变方向,电流将从V2反向寄生二极管流通,电流途径如图3.22所示。 图3.22电流途径4:放能、吸能 瞬时电流为零时,才在电机反电动势的作用下,瞬时电流为负,循环到电流途径1。 在电流绝对值较大时,电感储能较大,可能不会出现电流途径3和4,这样纯粹能量回馈。 实际电机电动状态也可能出现上述四种途径,关键是在一个PWM周期内能量流向。当平均电流时,能量回馈为主,有利于小车工作。 另一方面,电机工作电流相对较大,并且频率较高,容易产生电磁干扰,影响小车正常工作,所以PCB布线时,应尽量合四种电流途径布线短、少成回路、阻抗小。3.6无线传输模块 为了

32、实时掌握车子运行状况,方便及时的调整车内运行参数,我们使用了无线模块,实时的传回数据到上位机,供我们分析。我们使用的是一对XL02-232AP1无线模块,其各项参数如:输出功率、串口速率、工作频率、产品ID等相关参数可以通过软件设置,并且设置工作十分方便快捷,避免一些不必要的麻烦。3.7输入模块 由于比赛期间是不能烧写程序的,如果一些参数要别动就要靠开关来进行调节。我们在开关的选择上选择了8位拨码开关,应为8位开关可以储存大量的数据,使得在比赛时我们小车有更多的方案进行选择,增加了对赛道的适应性。具体原理图如图3.23所示。 图3.23编码器工作原理图3.8寻迹线性CCD传感器 根据大赛的要求

33、,跑到检测传感器我们选择TSL1401线性CCD。该传感器是包含128个光电二极管的线性阵列。在光电二极管的光能量冲击下产生的光电流,这是由有源积分电路,与该象素相关的集成。在积分周期期间,采样电容器连接到积分器的输出通过一个模拟切换。在每个像素中累积的电荷量是和光强度和积分时间成正比的。 积分器的输出和复位控制由一个128位的移位寄存器和复位逻辑控制的。输出周期是一个逻辑时钟SI 1时。对于正确的操作的最小保持时间条件满足后,SI在时钟的下一个上升沿之前必须变低。一个内部信号,称之为Hold,是在像素电路中,产生于SI的上升沿,然后发送给模拟开关。这会导致所有128个采样电容被切断,并启动一

34、个积分器复位期间。由于SI脉冲是主频通过移位寄存器,存储在采样电容器的电荷被顺序地连接到一个电荷耦合输出放大器上产生一个电压,模拟输出AO。同时,在第一个18个时钟周期,所有的像素集成复位,下一个集成从19时钟周期开始。在第129时钟上升沿,SI脉冲同步输出的移位寄存器和模拟量输出AO假设高阻抗状态。请注意,这个第129的时钟脉冲被要求终止第128像素的输出,以及返回的内在逻辑到一个已知的状态。如果需要一个最低的积分时间,那么下一个SI脉冲可以是在第129个时钟脉冲后的一个最小延迟时间的TQT(像素电荷转移时间)后出现。 AO型运算放大器的输出,不需要一个外部下拉电阻。这种设计允许轨至轨输出电

35、压摆幅。 VDD 5 V时,没有光输入时输出是0 V,正常的白电平为2 V,4.8 V为饱和光照水平。当设备未在输出信号的相位,AO是在一个高阻抗状态。 模拟输出(AO)的电压由公式9给出。 (9) 其中,是为白色状态的模拟输出电压,是黑暗条件下的模拟输出电压,是对于给定的V /中给出的光的波长(J/cm2设备响应),是在W/cm2的事件辐照,是集成在几秒钟的时间。 试验表明TSL1401线性CCD的输出信号和环境光线密切相关,在自然光条件比晚上灯光下AO引脚输出电压值高出很多,正对着光线比背着光线输出电压高,白炽灯光下比日光灯下输出电压高。因此,同一参数(曝光时间、镜头光圈)难以适应各种环境

36、,在光线较弱环境下的参数在强光下会出现输出饱和,在较强光线下调节好的参数在弱光下输出电压过低,甚至处于截止状态。在智能车应用中,白天自然光环境和晚上灯光环境、正对光和背光、不同的比赛场地之间都不能采用相同的曝光参数。与输出电压密切相关的参数是曝光量,曝光量取决于CCD模块所采用的镜头光圈大小和程序所控制的曝光时间。由于镜头光圈大小难以调节,所以设置CCD程序所控制的曝光时间是使得CCD能正常工作的关键。 根据上一章所述,可以通过调整曝光时间来适应各种环境,在弱光环境增大曝光时间,在强光下减小曝光时间。但是曝光时间不能无限增大的,因为增大曝光时间势必降低采样率(每秒采样次数)采样率低控制周期就长

37、,智能车反应就慢。根据历届摄像头车参赛经验,1米的前瞻,3.5m/s的速度情况下,控制周期不得高于20ms(采样率不得低于50Hz),否则智能车转向机构反应再快也无法很好跟随赛道而冲出赛道。控制周期不高于20ms就意味着曝光时间不能超过20ms。试验时,我们将TSL1401线性CCD曝光时间调整到20ms(采用周期20ms),分别在强光、弱光、灯光不同环境进行采用,采样数据表明环境光线较弱时CCD输出信号较低,以致赛道黑线信息不够明显,晚上日光灯环境下输出信号电压值更低,几乎接近0,根本无法辨别赛道信息!由于智能车制作和调试很大部分时间都是在晚上,因此必须在不降低采样率的情况下,增大晚上弱光环

38、境下线性CCD的输出电压。要增大输出电压,简单有效的方法就是放大输出信号,我们可以采用运放来放大AO输出信号。蓝宙电子实践表明增大运放能非常有效的解决弱光时输出电压低问题,在晚上环境同样能达到50Hz的采样率,这是无运放的线性CCD无法达到的。 为了能保证输出电压在合理范围(不饱和、不截止、能分辨赛道黑线),需要根据选定的镜头确定运放放大倍数。我们选用的是蓝宙电子线性CCD模块,其放大电路如图3.24所示。图3.24 放大电路工作原理图 其中运放放大倍数A 1+R5/R4,此电路中A 11,也就是对TSL1401的AO信号进行11倍放大。 对于线性CCD的个数选择,有好几种方案,不过大赛规定线

39、性CCD个数不得超过3个,所以这也使得方案有所限制。我们在考虑的有两种方案,一种是一个CCD直接检测两条黑线,另一种是由两个CCD分别检测跑道的一条黑线。 由于线性CCD采集的数据两端的线性度没有中间的高。并且如果使用一个CCD,为使CCD看到整个跑道,CCD必须架高,导致车子的整体重心提高,对于小车稳定的运行有所影响,所以我们选用双CCD的方案。 双CCD检测时每个CCD只负责一条黑线,所以黑线的检测位置可以是在CCD线性度比较高的位置进行采集,增加传感器采集数据的准确度,并且有两个CCD使得可以测得的宽度增加,CCD的不用架的很高,车子的整体重心降低,有利于小车稳定运行。所以我们采用的是双

40、CCD的方案,不过在安装的时候要注意两个CCD的前瞻要基本保持一样,否则会导致赛道识别有误。第四章 机械结构设计与调整 本届比赛光电组使用D型车模。车模采用直立方式前行,利用双电机的优势实现电子差速,完成转向等任务。由于直立车的特殊性不能快速的加减速导致算法上不能有很大的改进,提高速度主要是通过改进机械结构这种方式。因此我们在机械上下了很多功夫,进行了很多项改进。4.1全车总览 整车安装如下三张图所示。 图4.4 车模俯视图4.2电路板安放位置 为降低重心,我们的板子采用倾斜固定的方式图4.5 电路板放置位置4.3轮胎处理 在高速状态下,车子过弯时会产生很大的离心力,这个力会使轮胎从轮毂中滑出

41、,影响车子稳定行进,而且某些情况下轮胎与轮毂打滑,使电机输出的动力无法全部传到轮胎上,致使小车冲出赛道。因此,我们将轮胎与轮毂用胶水粘牢,防止打滑。4.4电池安放位置 电池是占小车车重的主要部件,他的安装对重心的影响极大,车模重心太高在高速时会导致了侧翻,降低重心能增加过弯的稳定性。但是因此电机要付出更大的PWM占空比来稳定直立,消耗更多电量,缩短电池使用时间。但为稳定性考虑,我们还是适当降低了电池位置。4.5传感器的固定 我们的车模共用到两个陀螺仪,分别是水平陀螺仪与竖直陀螺仪,其中水平陀螺仪与加速度计为一购买的合成模块,用于直立倾角与角速度的反馈。如图4.7所示。竖直陀螺仪用于转向检测,如

42、图4.8所示。 为了保证车子转向的对称性,直立的陀螺仪要保证在车子中心,而且要安装水平,这样可以避免转弯时引入的水平分量。同时我们使用的是加速度计指向地面的Z轴。车模倾角在两个角度位置过渡,看到除了角度变化信号之外,还存在由于运动引起的电压波动,这个电压波动随着车模运动速度增加会变得很大。为了减少运动引起的干扰,加速度传感器安装的高度越低越好。因此我们将水平陀螺仪与加速度计放到了较低的位置。竖直陀螺仪只要保证垂直即可,因此安装在了安装方便的高处。 我们尝试了两种方案,一种是一个CCD直接检测两条黑线,另一种是由两个CCD分别检测跑道的一条黑线。由于线性CCD采集的数据两端的线性度没有中间的高。

43、并且如果使用一个CCD,为使CCD看到整个跑道,CCD必须架高,导致车子的整体重心提高,对于小车稳定的运行有所影响,所以我们选用双CCD的方案。 图4.11 线性ccd安装位置 左右平行的双CCD在安装上难度较大,不仅要保证两个CCD的前瞻一致,也要保证两个CCD在左右两方向的对称。我们先调整了左右的对称情况,在车顶打上硅胶固定碳素杆后,我们再对两个CCD的前瞻进行调节,确保前瞻相同之后给CCD与碳素杆打上硅胶,这样以后再调前瞻时能做到同时调整两个CCD前瞻。 我们所使用的D车车模有两个电机,转向时需要电子差速,因此我们的采用了两路速度闭环控制,为每个轮子各安装了一个编码器进行测速。两个编码器

44、都是NIDEC NEMICON公司的157线编码器。 图4.12 编码器安装位置4.6传感器支架安装4.7保护 小车在调试时常常出错冲出赛道,为避免撞坏小车的精密部件,需对小车做好必要的保护处理,一般采用轻便的泡沫。第五章 软件设计5.1mcf52259资源简介MCF52259主要特性:ColdFire V2 32位内核;主频80MHz;片内512K Flash ROM;片内64K SRAM ?一个快速以太网控制器模块(FEC),可用于以太网应用 ?一个USB On-The-Go USBOTG,可作为USB主机或设备 ?一个灵活的CAN总线模块(FlexCAN) ?3个异步串口模块(UART)

45、;2个IIC模块(I2C);队列型SPI模块(QSPI) ?8通道12位模拟数字转换(ADC);4通道直接存取访问模块(4 channel DMA);4个32位支持DMA的输入捕获/输出比较定时器DTIM;4通道通用定时器,可以配置成输入捕获,输出比较,脉冲宽度调制(PWM),脉冲编码器(PCM),脉冲计数器 ?8通道/4通道,8位/16位脉冲调制模块(PWM) ?2个16位周期中断定时器(PIT);实时时钟模块(RTC) ?可编程的软件看门狗模块 ?57个外设中断源 ?内部集成锁相环,可将外部8M晶振时钟倍频到80M系统时钟 ?BDM或JTAG调试方式 在软件设计中,共用到了PWM模块,IO

46、模块,GPT计数模块,ADC模块,PIT模块,UART模块等6个模块。表5.1模块对应功能IO模块获取外部计数状态,获取拨码开关状态等GPT计数模块编码器脉冲计数ADC模块检测CCD,加速度计,陀螺仪电压PIT模块产生1ms中断定时UART模块串口发送PWM模块控制电机输出5.2软件任务及框架 1)ccd,加速度计,陀螺仪传感器的采集、处理 2)车模控制:直立控制、速度控制、方向控制 3)电机输出 4)发送串口数据,供上位机监控 打开电源开关,单片机上电,便进行单片机的初始化,包括单片机应用到的各个模块和车模控制程序中应用到的变量值。 初始化完成后,首先进入车模直立检测子程序。该程序通过读取加速度计和陀螺仪卡尔曼融合后的数值判断车模的直立状态。 接下来,车模的直立控制、速度控制以及方向控制都是在中断程序中完成。中断程序框图如图5.2所示。 图5.2中,使用PIT定时器,产生一毫秒的周期中断。中断服务程序的任务被均匀分配在13的中断片段中。因此每个中断片段中的任务执行的周期为3毫秒。 特别注意的是,在每个1毫秒中断的开始都会进行ccd循迹算法。 将任务分配到不同的中断片段中,一方面防止这些任务累积执行时间超过1毫秒,扰乱一毫秒中断的时序,同时也考虑到这些任务之间的时间先后顺序。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论