基于摄像头传感器的智能小车设计课程设计学生姓名:魏武学号:6100307142专业班级:自动化072指导教师:黄玉水二0一0年 1 月10 日目录1.课程设计目的…………………………………………………页码2.课程设计题目描述…………………………………………………页3.课程设计报告内容…………………………………………………页4.结论………………………………………………………………页1.课程设计目的了解飞思卡尔智能汽车大赛的相关知识和技术使用2.课程设计题目描述和要求基于摄像头传感器的智能小车设计3.课程设计报告内容3.1 系统总体设计1.1机械系统设计及实现智能车系统的总体工作模式为:CMOS图像传感器拍摄赛道图像,输出PAL制式信号,经过信号处理模块进行硬件二值化,采用LM1881进行视频同步分离,二值化图像信号、奇偶场信号、行同步信号输入到MC9S12XS128微控制器,进行进一步处理获得主要的赛道信息;通过光电编码器来检测车速,并采用MC9S12XS128的输入捕捉功能进行脉冲计算获得速度和路程;转向舵机采用PD 控制;驱动电机采用 PID控制,通过PWM控制驱动电路调整电机的功率;而车速的目标值由默认值、运行安全方案和基于图像处理的优化策略进行综合控制。
根据智能车系统的基本要求,我们设计了系统结构图,如图1.1所示。
在满足比赛要求的情况下,力求系统简单高效,因而在设计过程中尽量简化硬件结构,减少因硬件而出现的问题。
MC9S12XS128LM1881图像处理模块CMOS摄像头光电编码器电机驱动模块舵机转向模块上位机模拟图像信号奇偶场信号行同步信号二值化后图像速度信息PWM23PWM01IIC/SCI/SPI 2.1车体机械建模此次竞赛的赛车车模选用由北京科宇通博科技有限公司提供的B型车模,控制采用四轮驱动方案。
,基本参数见表2.1。
1可见原装车模的电池由两个部分连接而成,为了整车整体机械结构稳固,我们使用扎带固定电池,保证了电池在车运动过程中不会振动。
2.2前轮倾角的调整在调试过程中,我们发现由于前轮轴和车轮之间的间隙较大,对车高速时转向中心的影响较大,会引起高速转向下模型车的转向不足。
然而这里是规则中严禁改动的部分,所以为了尽可能降低转向舵机负载,我们对前轮的安装角度,即前轮定位进行了调整。
前轮定位的作用是保障汽车直线行驶的稳定性,转向轻便和减少轮胎的磨损。
前轮是转向轮,它的安装位置由主销内倾、主销后倾、前轮外倾和前轮前束等4个项目决定,反映了转向轮、主销和前轴等三者在车架上的位置关系。
在实际调试中,我们发现适当增大内倾角的确可以增大转弯时车轮和地面的接触面积,从而增大车了地面的摩擦程度,使车转向更灵活,减小因摩擦不够而引起的转向不足的情况。
2.3底盘高度的调整在保证顺利通过坡道的前提下,底盘尽量降低,从整体上降低模型车的重心,可使模型车转弯时更加稳定、高速。
2.4电机与中间齿轮箱的调整模型车采用 RS-380SH 电机驱动,电机轴与齿轮箱之间的传动比为 14:32(电机轴齿轮齿数为 14,齿轮箱传动齿数为 32)。
齿轮传动机构对车模的驱动能力有很大的影响。
齿轮传动部分安装不恰当,会增大电机驱动后轮的负载;齿轮配合间隙过松则容易打坏齿轮过紧则会增加传动阻力。
所以第二章机械系统设计及实现我们在电机安装过程中尽量使得传动齿轮轴保持平行,传动部分轻松、流畅,不存在卡壳或迟滞现象。
2.1摄像头的安装为了降低整车重心,需要严格控制CMOS摄像头的安装位置和重量,我们自行设计了轻巧的铝合金夹持组件并采用了碳纤维管作为安装CMOS的主桅,这样可以获得最大的刚度质量比,整套装置具有很高的定位精度和刚度,使摄像头便于拆卸和维修,具有赛场快速保障能力。
摄像头的安装如图2.3所示。
目前市面上常见的摄像头主要有CCD和CMOS两种:CCD摄像头具有对比度高、动态特性好的优点,但需要工作在12V电压下,对于整个系统来说过于耗电,且图像稳定性不高;CMOS摄像头体积小,耗电量小,图像稳定性较高。
因此,经过实验论证之后我们决定采用CMOS摄像头。
对于CMOS摄像头分为数字和模拟两种。
采用了数字摄像头,我们选用了OV7620进行实验,对数字摄像头的可行性进行论证。
经过实验,得出结论:数字摄像头OV7620可以直接输出8路数字图像信号,使主板硬件电路的简化成为可能,且能够达到60帧/S的帧速率,但需要对其内部寄存器进行适当设置,且受环境影响较大,适应性较差。
因此,最终我们选择了CMOS模拟图像传感器的方案。
我们选用了黑白全电视信号格式OV5116P型CMOS摄像头采集赛道信息。
OV5116P 是Omni Vision公司生产的较为典型的CMOS图像传感器模块,芯片阵列大小为352×288,有效光敏面为312×215像素,电源是5 V(DC),28个引脚的PLCC 型封装。
摄像头输出的黑白全电视信号为PAL制式模拟信号,每秒25帧,电视扫描线为625线,奇场在前,偶场在后。
3..1编码器考虑到智能车的实际速度控制对速度反馈信号波形要求不是太高,因此在满足比赛要求的基础上,我们使用了自制的光电编码器来测速,从而尽量简化电路。
我们实验室使用线切割在直径为30mm的圆盘周围加工出100个细缝,使用红外光电对射管作为采集码盘脉冲可鉴向的传感器。
3.2电路设计方案智能车控制系统电路由三部分组成:MC9S12XS128为核心的最小系统板、主板、ZLG7290键盘。
最小系统板可以插在主板上,组成了信号采集、信号处理、电机控制、舵机控制单元。
为了减小电机驱动电路带来的电磁干扰,我们把控制单元部分和电机驱动部分分开来,排布在主板的两端。
主板上集成了本系统的主要电路,它包括如下部件:电源稳压电路、最小系统板插座、视频同步分离电路、AD转换电路、摄像头接口、舵机接口、电机驱动模块、编码器模块、键盘接口、拨码开关、指示灯等。
3.3.单片机最小系统板Freescale 16位HCS12系列单片机也称MC9S12系列,简称S12系列。
MC9S12X 系列是HCS12系列的增强型产品,基于S12 CPU内核,可达到25MHz的HCS12的2~5倍的性能。
S12X系列增加了172条额外指令,可以执行32位计算(共280条指令),总线频率最高可达40MHz,并且具备完全的CAN功能,改进了中断处理能力。
S12X系列的CPU以复杂指令集CISC架构,集成了中断控制器,有丰富的寻址方式。
中断有7个优摄像头视频信号中除了包含图像信号之外,还包括了行同步信号、行消隐信号、场同步信号、场消隐信号等。
因此若要对视频信号进行采集,就必须通过视频同步分离电路准确地把握各种信号间的逻辑关系。
系统采用 LM1881 芯片对摄像头输出信号进行视频同步分离,得到奇偶场信号O/E以及行同步信号IRQ,具体原理不再赘述,电路如图3.8所示。
O/E信号是周期为40ms的方波信号,奇场为高电平,偶场为低电平,程序中只采集奇场或偶场图像信号。
IRQ信号是周期为64us的方波信号,低电平标志每行的开始,波形如图3.9所示。
图3.8 视频同步分离电路图3.9 O/E、IRQ信号波形图3.34图像处理电路由于摄像头输出的黑白全电视信号为PAL制式模拟信号,所以必须经过相应的图像处理模块进行相应转换之后才能由单片机进行处理。
解决方案有以下三种:(1) 使用单片机内部A/D转换MC9S12XS128单片机具有A/D转换器的功能,但是速度较慢。
实际使用发现,在将单片机超频并且降低A/D转换质量之后,每行图像仍只能采集78个点,使得图像分辨率不高,赛道检测信息量不足。
远远达不到我们的期望值,故放弃。
(2) 使用外部A/D转换第五届全国大学生智能汽车竞赛技术报告14为此,我们尝试设计了TLC5510芯片制作了外部A/D转换电路。
TLC5510是美国德州仪器(TI) 公司生产的8位高速A/D转换器,它可提供最大20Msps的采样率。
使用外部A/D转换器电路后,我们每行图像最多可以采集274个点,大大提高了赛道检测的信息量并提高了信息处理的灵活度。
但我们在使用中发现用A/D转换处理后的图像分辨率低,处理速度慢以至于使得单片机的内部资源得不到最充分的利用。
外部A/D转换电路如图3.10所示。
图3.10 外部A/D转换电路(3) 使用模拟电路对PAL信号进行转化对PAL信号进行硬件二值化是为了降低单片机的计算负荷,通过调节阈值而将灰度图像转换成黑白图像,这样就不需要用A/D转换就可以采集图像了。
其最明显的优点在于普通IO的操作速度要比A/D 快,使提高分辨率成为可能。
由于通过模拟电路实现二值化比较容易实现,所以这个方案最快进入了测试阶段并取得了令人满意的效果,所以最后采用了此技术路线而放弃了其它方案的研究。
在对硬件二值化的研究中,我们也从数字比较器以及模拟比较器几个方向进行了试探性研究,从图像的稳定性及清晰性等方面进行筛选,最终决定采用模拟电路搭建而成的比较器对图像进行二值化,电路如图3.11所示。
利用示波器观察摄像头信号波形及对应电压比较器输出波形如图3.12所示。
第三章硬件系统设计及实现图3.11 边缘检测比较器电路图3.12 摄像头信号波形及电压比较器输出波形3.3.5电机驱动电路电机驱动电路板为一个由分立元件制作的直流电动机可逆双极型桥式驱动器,其功率元件由四支 N 沟道功率 MOSFET 管组成,额定工作电流可以轻易达到 100A 以上,大大提高了电动机的工作转矩和转速。
该驱动器主要由以下部分组成:PWM 信号输入接口、逻辑换向电路、死区控制电路、电源电路、上桥臂功率 MOSFET 管栅极驱动电压泵升电路、功率 MOSFET 管栅极驱动电路、桥式功率驱动电路、缓冲保护电路等,电路如图3.14所示。
电路中肖特基二极管IN5819保证了电平VB_1、VB_2低于12V,VB_1高于MOTOR_A,VB_2高于MOTOR_B。
高电平用1表示,低电平用0表示。
当Direction为1时,经过74V1G14得到inverted信号为0。
Breakdown为单片机输出的PWM信号,inverted和Breakdown 经过74V1T08得到IN_B为0,Direction和Breakdown经过74V1T08得到IN_A 与Breakdown信号相同。
IN_A输入到IR2104,得到HO_1以及LO_1,都为方波信号,幅值不同。
IN_B为0,输入到IR2104,得到HO_2以及LO_2,HO_2为0,LO_2为1。
HO_1、LO_1、HO_2、LO_2分别连接4个MOS管,此时Q100在HO_1为1时导通,为0时不导通,Q101在LO_1为1时导通,为0时不导通,Q102不导通,Q103一直导通。