用摄像头循迹智能车硬件系统设计论文
- 格式:doc
- 大小:27.50 KB
- 文档页数:7
用摄像头循迹的智能车的硬件系统设计摘要:介绍了用摄像头循迹的智能车的硬件系统设计的思路,重点说明电源管理模块、道路信息采集模块、道路信息处理模块、舵机控制模块、车速检测模块、电机控制模块、串口通信模块等的设计方法。
综合各个模块的设计结果,构成一个完整的智能车硬件系统。
abstract: the hardware designing idea of smartcar tracking with camera is described. the following modules are discussed: power managing module, road information detecting module, road information treating module,direction controlling module, speed detecting module,engine controlling module and serial comunication module. a smartcar can be made with these modules.关键词:摄像头;循迹;智能车;硬件系统;设计key words: camera;tracking;smartcar;hardware;design 中图分类号:tp39 文献标识码:a 文章编号:1006-4311(2012)30-0201-021 智能车硬件系统的总体结构用摄像头循迹的智能车由硬件系统和软件系统两部分构成。
硬件系统包括电源管理模块、信息采集模块、数据处理模块、运动控制模块和串口通信模块等[1]。
其中,信息采集模块包括道路信息采集子模块和车速信息采集子模块;运动控制模块包括舵机控制子模块、直流电机控制子模块。
软件系统包括各模块的初始化、道路图像采集程序、数字信号处理程序、舵机方向控制程序和电机速度控制程序[2]。
本文介绍硬件系统的设计方法。
智能车的硬件系统结构如图1所示。
本智能车采用飞思卡尔公司的16位微处理器mc9s12xs128作为核心控制芯片;使用cmos数字摄像头ov6620采集道路信息;通过pwm信号对转向舵机进行控制;借助于光电编码器测速,通过pid 控制算法对电机实行闭环控制。
各个部分经过mcu的协调处理,使小车能够以较快的速度在指定的道路上行驶。
2 智能车硬件系统各个模块的设计2.1 数据处理模块本智能车采用mc9s12xs128单片机作为控制核心。
该单片机内含16位中央处理器、128kb的程序存储器、8kb 的数据存储器、2个异步串行通信接口、1个串行外设接口、1个8通道输入捕捉/输出比较定时器模块、16通道12位的adc、一个8通道脉冲宽度调制模块和多个数字i/o口[3]。
本智能车使用的mc9s12xs128的i/o口如下:pt0——输入捕捉的摄像头行同步信号;pt1——输入捕捉的摄像头场同步信号;pb0~pb7——输入摄像头采集到的图像数据;pt7——输入车速检测信号;pwm23——输出舵机的pwm控制信号;pwm01、pwm45——输出电机的pwm控制信号;ps0、ps1——串口通信接口。
2.2 电源管理模块整个智能车的电力供应来源于飞思卡尔智能车大赛组委会提供的充电电池。
电池的额定输出电压为7.2v,电量为2000mah。
由于各个模块对电源的要求不同,特别是对电压的要求不同,因此,需要采用不同的稳压芯片,从电池中分流出电压不同的分电源给不同的模块供电。
智能车的供电系统如图2所示[1]。
单片机mc9s12xs128的工作电压是5v,要求电源稳定,避免电机工作时产生的干扰。
为此,采用稳压芯片lm2940,从7.2v电池上取电,输出电压为5v,单独为单片机供电。
用于采集道路信息的摄像头、电机驱动电路、用于采集小车速度信息的编码器等,它们的工作电压都是5v,对电源质量要求不太高,这里采用稳压芯片lm2940,从7.2v电池上取电,输出电压为5v,同时为摄像头、电机驱动电路、编码器供电。
舵机的工作电压是6v,需要较大功率的电力供应,要求电源低内阻、大电流、电压稳定。
为此,采用稳压芯片lm1117,从7.2v 电池上取电,输出电压为6v,单独为舵机供电。
电机需要大功率的电力供应,要求电源低内阻、大电流、电压较高而且稳定。
为此,直接从7.2v电池上取电,单独为电机供电。
2.3 信息采集模块2.3.1 道路信息采集子模块本智能车采用摄像头进行路径识别,其工作原理是用摄像头拍摄小车前方道路的图像,获得小车前方的路况信息,根据道路的类型实施相应的控制策略,使小车能够沿着黑线指示的道路前进。
因此,摄像头所拍摄的图像的质量直接影响到小车运行的稳定性和速度。
理想的摄像头应该具有采集速度快、视野宽阔、前瞻性好、对各种光线环境适应性强等优点。
目前,图像传感器主要有ccd和cmos 两种类型。
ccd图像传感器需要用大电流、高电压的电源驱动,工作电压为12v。
小车的整个电源由大赛组委会指定的直流电池提供,电压为7.2v,不能满足ccd传感器的要求,需要设计12v的升压电路为其单独供电。
而cmos图像传感器工作电源为5v,对于7.2v的电源,可以采用稳压芯片lm2940获得5v电源,简单方便。
因此,本智能车采用cmos图像传感器。
cmos图像传感器又分为模拟输出型和数字输出型两种。
模拟输出型摄像头拍摄的图像是模拟信号,而单片机只能处理数字信号。
如果采用这种摄像头,必须对信号进行数字化处理。
虽然可以使用单片机内部的adc,通过lm1881芯片进行行同步信号、场同步信号的分离,对模拟信号进行数字化处理,但是,受到单片机adc转化速度和转化精度的限制,图像采集的速度和精度必将下降,从而影响小车的控制效果。
因此,本智能车不采用模拟输出型摄像头。
综合考虑,本智能车选择cmos型输出型数字摄像头ov6620作为道路信息采集的主要器件。
2.3.2 车速信息采集子模块为了能够很好地控制小车的速度,需要根据道路类型以及小车当前的速度决定小车在下一段道路的速度。
为此,引进闭环控制策略,把小车的实时速度快速传递给单片机。
车速信息采集子模块测量小车的实时速度,并把实时速度反馈给单片机,单片机根据道路类型以及当前车速对车速控制参数值作出相应的调整,使小车平稳、快速地前进。
精确、快速的小车速度反馈是各种速度控制算法的基础。
本设计采用分辨率为100线的增量式光电编码器来测速。
mc9s12xs128有16位的脉冲累加器,将光电编码器的信号输出线接到pt7口。
在智能车的程序中进行设置:每隔20ms读取一次脉冲累加器中的值,并将累加器清零。
从光电编码器每20ms时间发出的脉冲数,根据电机齿轮与编码器齿轮的齿数比例,就能计算出小车的实时速度。
2.4 串口通信模块为了能够在计算机中看到小车前面一段道路的图像和小车当前的速度,以便对程序中的舵机控制参数和电机控制参数进行设置或修改,当智能车在赛道上行驶时,需要将摄像头传感器采集到的道路信息和编码器测出的小车的实时速度传送给计算机。
串口通信模块是mc9s12xs128单片机与计算机之间的通信接口,其输入线接到mc9s12xs128的ps0、ps1口,输出线通过usb数据线接到计算机的usb口。
2.5 运动控制模块2.5.1 舵机控制子模块舵机控制子模块采用大赛组委会提供的s3010舵机。
根据舵机的工作原理,在一定范围内,占空比决定着舵机的转角度数。
mc9s12xs128单片机共有8路8位可编程的pwm 接口pwm0-pwm7,其中两个相邻的接口可以合成一路16位的pwm。
为了增大pwm信号的控制范围,同时提高舵机的控制精度,将2个8位pwm信号寄存器合并作为一个16位的寄存器。
在本设计中,把pwm2和pwm3合并为pwm23,作为舵机控制信号的输出口。
将舵机的控制信号输入线与mc9s12xs128的pwm3口相连。
2.5.2 电机控制子模块本设计使用bts7960芯片制作电机驱动电路。
bts7960是一款针对电机驱动应用的集成化的大电流半桥芯片,有逻辑电平输入接口,具有电流检测诊断、转换率调整、死区时间生成等功能,可以进行过热、过压、欠压、过流和短路保护。
该芯片有2路pwm输入,两根i/o线作为模式选择线,有正转、反转、能耗刹车三种工作模式,能够满足本系统的需求。
为了增大pwm 信号的控制范围,同时提高电机的控制精度,将2个8位pwm信号寄存器合并作为一个16位的寄存器。
在本设计中,把pwm0和pwm1合并为pwm01,把pwm4和pwm5合并为pwm45,pwm01和pwm45共同作为电机控制信号的输出口。
将bts7960芯片的2个控制信号输入线分别与mc9s12xs128的pwm1、pwm5口相连。
综合以上各个模块的设计结果,就构成了一个完整的智能车硬件系统。
3 结束语智能车系统包括硬件系统和软件系统,本文介绍的是智能车硬件系统的设计方法。
显然,只有硬件系统而没有相应的软件系统的小车还算不上智能车,因此,在构建了智能车硬件系统之后,接下来就需要构建智能车的软件系统,即进行程序设计。
限于篇幅,本文不再介绍,将另文阐述。
参考文献:[1]张庆,孙宝法,张佑生.基于单片机mc9s12xsl28的智能车的硬件系统设计.制造业自动化,2012,34(3下):107-109.[2]孙宝法,梁月放.基于mc9s12xsl28的智能车的软件系统设计.价值工程,2012,31(5下):210-211.[3]mc9s12xs256 reference manual.。