基于K60芯片的CCD赛道技术的研究01.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于K60芯片的CCD赛道技术的研究01

基于K60芯片的CCD赛道检测技术的研究邱达毛春霞李健王家盛(湖北民族学院 湖北恩施 445000)【摘要】利用K60驱动CCD采集数据,通过单面机内改良的凹槽算法进行判断,结合控制算法控制舵机给出合理舵值,再给出合适的PWM波来控制电机转速。速度控制方面采用一个OMR0N旋转编码器来实现反馈脉冲,从而实现智能车在赛道上的稳定行驶。【关键词】线性CCD;智能小车;MK60;旋转编码器0引言随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,可见其研究意义很大。本设计就是在这样的背景下提出的,在本文中着重的介绍了小车控制系统的软、硬件结构,包括硬件电路的设计与运用,程序算法的编写与优化。经过系统硬件电路搭建和软件程序编写,能够实现小车快速直行及循迹转弯等功能。1系统总体设计本智能车核心系统由CCD、主板、电源模块、电机驱动模块、编码器等器件组成。通过CCD从 1到128的位置对黑白赛道灰度进行单行采集,然后对采集后的各个点的灰度进行二值化处理为0或1的黑白信号。之后通过查找每行0和1之间的跳变来查找确定两侧的黑线。记录两侧黑线位置后,运用两侧位置通过一定算法计算虚拟中线。比较虚拟中线和实际中线的差值得到偏差。运用算法对偏差计算来得到舵机控制的PWM。通过得到的PWM来实现车子的转向。通过转向的曲率和编码器的速度反馈闭环控制后轮电机的加减速,来实现智能车在赛道上完美飞驰。2 硬件系统部分本智能车的系统主要包括主控单元、电源模块、电机驱动模块、线性 CCD 图像信息采集处理模块、转向控制模块、速度采集模块、显示模块,本文着重介绍线性CCD循迹模块。系统硬件结构框图如图1所示。图1 系统硬件结构框图下面对系统主要硬件模块进行阐述。2.1 单片机控制模块本系统采用Freescal半导体公司生产的32位单片机MK60DN512作为控制器。MK60DN512是一款由飞思卡尔公司推出的基于ARM Cortex-M4内核的K系列高端芯片,该芯片拥有丰富的资源,集主流功能于一身,能满足各种应用。2.2 线性CCD图像信息采集处理模块该模块采用TSL1401CL线性CCD图像传感器,其内部由一个128×1的光电二极管阵列、相关的电荷放大器电路和一个内部的像素数据保持功能电路组成,它同时提供了集成起始和停止时间的像素[1]。其原理图如下:图2 TSL1401CL线性传感器原理图本项目利用MK60DN512的PTE4和PTE5引脚对其SI和CLK两个引脚按特定的时序发出方波信号,TSL1401CL的AO引脚就会依次输出128个像素点的模拟信号给MK60DN512,其引脚连接图如图3所示。图3 MK60DN512与TSL1401CL引脚连接图我们通过测试发现,该传感器的输出信号和环境光线密切相关,白天AO输出值比晚上高很多,对光和背光相差也很大,白炽光和日光灯光线条件下差异很大。同一镜头或信号放大倍数,必然无法适应各种环境,经常会出现过弱或信号饱和,对环境的适应性很弱,对此可通过软件适时地、动态的调整曝光参数[2]。曝光时间自适应策略示意图如下:图4曝光时间自适应策略示意图从上图可看出,该曝光时间自适应策略时间就是一个典型的闭环控制,控制对象是线性CCD模块的曝光时间,反馈是线性CCD感应到的曝光量,调节的目标是设定曝光量。工作原理:曝光量的偏差e=设定的曝光量-实际曝光量新的曝光时间= Kp*e+上次的曝光时间如此反复进行调节就能达到适应环境光的目的。值得注意的是实际曝光量并不是某一个像素的曝光量,因为单个像素是无法反应环境光强度的,实际曝光量应该是一段时间和一定像素点强度的函数。因此取一次采集到的128个像素电压的平均值作为曝光量当前量,设定的曝光量也就是设定的128像素点的平均电压。通过此策略,线性CCD采集到的电压值,在正常的智能车运行环境中都能保持在合理范围内[3]。3 软件系统部分3.1黑线提取算法 凹槽算法流程如图5所示:自己适应算黑线位置算法中,首先查找左边凹槽,然后查找右边凹槽,再计算黑线位置,最后根据连续性查找左右黑线位置。其次利用改良的凹槽算法,在小车行驶前,摄像头会拍摄图片取出其中的中线值。在行驶过程中,会与开始的中线值进行比较,来控制左右转向。图5凹槽算法流程3.2 曝光自适应程序流程曝光自适应程序流程如下图所示:图6 曝光自适应程序流程图其中主程序 20ms 执行一次,主要完成 CCD 采样、计算实际曝光量、计算曝光时间。采集到的 128 像素数据保存在 Pixel[128]数组中,实际曝光量当量保存在像素的平均电压全局变量中,曝光时间(单位 ms)保存在积分时间全局变量中。曝光控制中断程序每1ms执行一次,每

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档