1、分类号 编号烟 台 大 学毕 业 论 文(设 计)基于STM32的智能小车 摄像头循迹系统 Intelligent Car Tracking System Based on STM 32 Camera申请学位: 工学学士 院系:光电信息科学技术学院专业: 电子信息工程 姓名: 王 坤 学号: 200813503229 指导老师: 杨尚明(教授) 2012年 5 月 21 日烟台大学EDA实验室基于STM32的智能小车 摄像头循迹系统姓 名: 王 坤 导 师: 杨尚明 (教授)2012年 5 月 21 日烟台大学EDA实验室烟台大学毕业论文(设计)任务书院(系):光电信息科学技术学院姓名王坤学号
2、200813503229毕业届别2012专业电子信息工程毕业论文(设计)题目基于STM32的智能小车摄像头循迹系统指导教师杨尚明学历本科职称 教授所学专业 无线电技术具体要求(主要内容、基本要求、主要参考资料等):主要内容:设计一个抗干扰能力强的智能小车循迹系统。基本要求:通过对本课程的设计,能够利用OV7670实现黑白线信息采集;并且能够达到一定的抗干扰效果;能够实现实时采集外界环境信息的效果。主要参考资料: 1陈启军. 嵌入式系统及其应用:基于Cortex-M3内核和STM32F103系列微控制器的系统设计与开发. M.北京: 同济大学出版社,2008.2谭浩强. C语言程序设计. M.北
3、京: 清华大学出版社,2010.3曾星星. 基于摄像头的路径识别智能车控制系统设计J.湖北汽车工业学院学报,2008(6): P76-80.进度安排:第一阶段:14周通过资料、网络、导师了解本设计所需要的知识、资料、相关软件及设计思路方案;第二阶段:58周请教老师查阅资料按要求并由实际情况逐渐得出设计方案及方法;第三阶段:911周根据方案在老师的指导下完成相关的软硬件设计;第四阶段:1213周撰写论文(分初稿、定稿、审合、打印论文);第五阶段:14周进行优化调试达到目标并进行论文答辩。 指导教师(签字): 年 月 日院(系)意见: 教学院长(主任)(签字): 年 月 日备注:烟台大学毕业论文(
4、设计)摘要现在人们越来越喜欢安全、节能、环保、智能化和信息化的汽车了,在智能汽车新时代,无人驾驶技术,得到了飞越的发展,成为了智能车时代的新标志。智能小车不但逐步提高了车辆的控制水平和驾驶水平,而且也保障了车辆行驶的安全、畅通、高效特性。本文主要讨论了智能车系统的设计方案,并且对智能车自主行驶的决策以及控制,算法也进行了相应的研究。 本论文首先设计了智能车的硬件结构,硬件方面以Cortex-m3为控制核心,另外其他辅助模块包括:电源模块,图像传感模块,速度控制模块以及其他功能模块进行辅助,从而来完成智能车的硬件设计。由于智能车有一个比较复杂跑道,传统的控制算法在复杂跑道情况下已经无法解决智能车
5、的控制参数的问题。因此本论文做了一些改进,本论文采用理论结合实际,我们采用了模糊PID控制算法来实现对智能车的控制,并进行了一定的实验。在该系统中,由CMOS摄像头来实现路径识别,通过对小车的闭环控制,使小车能按照给定的黑色引导线平稳地循迹。该系统能够很好地满足智能车对路径识别性能和抗干扰能力的要求,稳定误差小,调节相应时间比较快,具有较好的动态性能和良好的稳定性。实验证明,所设计的智能车具有速度快,适应性强的特点。关键词智能车;图像处理;比例积分微分AbstractNow more and more like safety, energy conservation, environmenta
6、l protection, intelligence and information of vehicles in the new era of smart cars, unmanned technology, has been flying over the development, became the new logo of the smart car era. The smart car has gradually increased the level of control and the standard of driving of the vehicle, but also to
7、 protect the safe and smooth traffic, efficient performance. The article focuses on the design of intelligent vehicle systems, and smart car independent driving the decision-making system and control algorithms were also studied. Thesis designs the mechanical hardware structure of the intelligent ve
8、hicle hardware to control the core Cortex-m3, other ancillary modules include: the power supply module, the image sensor module, the speed control module and other functional modules to carry out assisted, and thus to complete the smart hardware design of the car. Does not match the smart car a more
9、 complicated runway, control algorithms in the control parameters of the smart car has been unable to solve complex runway case. Therefore, this paper has to do improvements, the present theory with reality, we have adopted a fuzzy PID control algorithm to achieve control of the smart car, and carry
10、 out certain experiments.In this system, the CMOS camera head path identification, closed-loop control of the car, car tracking smoothly in accordance with the black guide lines given. The system is able to meet the requirements of the intelligent vehicle path recognition performance and anti-jammin
11、g capability, small steady state error and adjust the response time is faster, has better dynamic performance and good stability.The experiments show that the design of intelligent vehicle speed adaptability.KeywordsIntelligent Car, Image Processing, PID Control 目 录目 录3绪 论11 智能车系统总体介绍21.1 整体设计概述21.2
12、 关于直流电机的简要介绍31.3 CMOS图像传感器的特点31.3.1 CMOS图像传感器的特性31.4 OV7670的性能特点与工作方式41.4.1 OV7670的性能和参数41.4.2 OV7670的功能41.5 OV7670的数字图像输出41.5.1 OV7670的输出信号时序42 方案论证62.1 控制模块的介绍62.2 车身车体的介绍62.3 电机选择与驱动模块的介绍62.4 路径识别的方案设计与论证73 智能车系统硬件设计93.1 智能车系统硬件设计总体结构93.2 STM32最小系统的设计103.2.1 方案总结103.2.2 方案框图103.3 电路设计与原理103.3.1 直
13、流电机应用103.3.2 电源分配电路设计113.3.3 H桥电机的驱动124 智能车系统软件设计134.1 控制算法的简要介绍134.2 速度控制算法144.3 图像采集184.4 图像处理184.5 动态阈值法介绍195 系统的测试215.1 系统测试的目的215.2 系统测试的原则215.3 系统测试的结果215.4 测试结果误差分析216 结 论226.1 工作总结22致 谢23参考文献24附录一:电路原理图25附录二:程序流程图26附录三:源程序部分代码2731绪 论随着智能小车技术的不断提高和增强;智能化,安全化,环保性逐渐得到了人们的亲睐,在当今这个公路等级不断改善的情景下,特别
14、是飞速发展的高速公路,人们对汽车的行驶速度有了更高的要求;同时,在人们的物质生活水平和消费水平不断飞速提高的情况下,汽车的数量也随之逐渐快速的增加,车流量越来越大,汽车碰撞的发生几率也越来越大,然而这些情况,在智能车出现以后,在很大情况下大大减少了因驾驶疏忽而造成交通事故的可能,也使得交通更加畅通,从而很大程度上保证了车辆 行驶的安全,同时也保证了其他的人的人身和财产安全,因此发展智能小车是很重要的。现在,国际上很多的研究机构已经开始关注智能交通系统(ITS)方面的研究工作了,并且也取得了很大的成果,已经研发出了一些智能化的原型车辆,并且进行了相应的测试。然而这种智能化原型车研发,其整个过程得
15、益于一些交叉学科的相关领域知识,如机器人技术、人工智能、自动控制、电子通讯、信号处理技术等,从中得到许多新观点,新方法。从近来几年的发展来看,汽车电子的迅猛发展必将逐步满足人们对节能、安全、环保以及信息化和智能化的需求。1现在的智能控制在很多工厂和车间都有很大的应用舞台;人性化,智能化是下一代智能控制的研究方向,目前,我国的研究广度和深度还是不够大,在很多领域几乎是零,需要我们进一步的加深对智能控制的研究,比如汽车电子控制,航天控制,轮船控制等等,在芯片性能上,国内的研究和开发也是欠缺的,芯片的稳定性在很大程度上限制了很多领域的进展,大多都是被国外垄断,这些都是需要我们来面对和改进的地方,也正
16、是发展的重点。此外,智能汽车在高速公路,山地,野外,现代物流业,现在制造系统及柔性制造系统中都有广泛运用,该研究已成为人工智能领域的一个非常重要的热点之一。本文所研究的智能车是一个比较好的智能模型,通过摄像头循迹来获得路面的信息,通过处理后从而来引导小车的运行,达到一定的智能化。1 智能车系统总体介绍1.1 整体设计概述本论文所设计的智能车,能够实现在一个闭环的跑道上完成自主循线运行的功能,跑道表面通过白纸来覆盖,其中心有30mm宽度左右的连续黑线,作为小车运行的引导线。同时也作为识别道路状况的标志、该论文的整体智能车可以看作是一个自动控制的系统。图1.1为系统模型框图。 图1.1 系统模型框
17、图该系统通过面阵CMOS摄像头来实现路径识别功能,将CMOS摄像头采集过来的视频信号二值化后送入微处理器进行处理,根据路面信息来决定智能小车的行驶方向;而车速控制采用的是PID算法。另外,在软件设计中,本课题采用实时采集路况信息方法和实时控制智能小车的速度,最终达到实现整个系统的闭环控制,使小车可以自主的按照路面信息快速行驶。智能车首先将路面上的白纸黑线信息进行检测,再将该智能车的姿态信息一起送给控制器STM32,控制器STM32将采集过来的路面黑线信息和智能小车的行驶信息的数据进行相应的处理、分析、决策、最终分别得出对电机的控制量和对智能小车的控制量,并对驱动电机的转速和转向加以控制,另外,
18、通过速度检测单元,将电机转速(即智能车的速度)及时的反馈给控制器STM32,从而实现对智能小车的合理控制,即达到实时性也达到对精度的控制。2为了实现上述对智能车的控制,智能车必须具备以下主要功能模块:一般的智能车要必备如下功能模块才能达到对智能小车控制的目的和效果,使小车稳定的行驶。 首先要实现对路面信息采集和实时监测,并且要达到一定的抗干扰能力,从而给控制器STM32提供一个很好的决策依据。要达到一定的实时性,首先控制器的处理速度要快,只有控制器的处理速度达到一定的速度了,才能相应的使小车的行驶速度快,实现一个稳定的实时系统。再次,该智能小车需要一个稳定的电量来源,给行驶的小车一个可靠的能量
19、储备,来驱动小车电机模块和该智能小车的控制器等模块的能量利用。另外,要实现对该智能小车的控制达到闭环控制的效果,要有对该智能小车的速度有一定的控制,这就需要测速模块来提供一个速度反馈回来的信息给处理器STM32。还有就是电源管理部分,对于该智能小车中的不同的模块,需要不同级别的电压情况,需要采取一些措施来合理的分配电源的电压,供给不同的应用模块,是小车正常的行驶。为了调试的方便还要有人机交互模块。1.2 关于直流电机的简要介绍直流电机里边固定有环状永磁体,电流通过转子上的线圈产生洛伦磁力,当转子上的线圈与磁场平行时,再继续转,受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线
20、圈上的电流方向也改变,产生的洛伦磁力方向不变,所以电机能保持一个方向转动。直流电机的分类:按结果主要分为直流电动机和直流发电机 按类型主要分为直流有刷电机和直流无刷电机,励磁方式的直流电机是指对励磁绕组如何供电、产生励磁磁通势而建立主磁场的问题。 该实验课题,我用的是单级直流电机。是一种电枢导电部分始终工作于单一极性磁场中的直流电机。它是一种低压大电流无换向器的直流电机。 图单极直流电机原理示意示一台圆筒形电枢单极直流电机的原理结构。当两个环形励磁线圈通直流电时,电机气隙的整个圆周上将产生单一极性的磁场。当转轴带动圆筒形铜质电枢旋转时,枢轴向两端即感生电动势,其方向是固定不变的。此电动势由电刷
21、从电枢两端引出。单极直流电机电压低,电流大。电压只有几伏或十几伏,而电流可达几百安,几千安,甚至上万安。因此电刷的接触损耗和发热相当大,磨损也快。实用上应尽可能加多并联电刷的数目,采用接触电压降小的铜-石墨电刷,或用导电和导热更好的液态金属,如水银或钠钾合金等做电刷。 要提高单极直流电机电压,就必须提高气隙磁通密度和转速。转速受旋转体机械强度的限制,气隙磁通密度则受铁磁饱和限制,都不能过高。如采用超导技术则可使单机功率比普通电机提高十几倍以上。1.3 CMOS图像传感器的特点1.3.1 CMOS图像传感器的特性(1)光照特性CMOS图像传感器的主要应用也是图像的采集,也要求能够适应更宽的光照范
22、围。因此也必须采用非线性的处理方法和自动调整曝光时间与自动增益等处理方法。结果与CCD相机一样损失了光电转换的线性,正因为此项,它也受限于灰度的测量。(2)输出特性CMOS图像传感器的突出优点在于输出特性,它可以部分输出任意区域范围内的图像。(并非所有CMOS传感器都具有这个功能,如果生产厂家没有给您提供)这个特性在跟踪、寻的、搜索及室外拍照等的应用前景非常之好。也是CCD传感器所无法办到的。(3)光谱响应光谱响应受半导体材料限制,同种硅材料的光谱响应基本一致,与CCD的光谱响应基本一致。(4)光敏单元的不均匀性光敏单元的不均匀性是CMOS图像传感器的弱项,因为它的光敏单元不像CCD那样严格的
23、在同一硅片上用同样的制造工艺严格制造,因此远不如CCD的光敏单元的一致性好,但是它内部集成单元多,处理能力强能够弥补这个缺陷。1.4 OV7670的性能特点与工作方式1.4.1 OV7670的性能和参数OV7670是一款采用24脚封装的芯片,30万像素CMOS VGA图像处理传感器。该模块具有体积小、工作电压低等特点,可以实现对单片VGA摄像头和影像处理器的所有功能;通过SCCB控制总线控制,可以实现输出整帧、子采样、取窗口等方式的各种分辨率的8位影像数据;同时最高的数据帧可达30FPs,这样用户可以完全控制图像的质量,数据的格式和传输的方式,所有的图像处理功能伽马曲线,白平衡,饱和度,色度等
24、,都可以通过对I2C总线的控制以SCCB方式进行配置,另外感光阵列是640x480的,可以很好的输出(4:2:2)的格式数据。OV7670模块,带AL422 FIFO,超宽工作电压,带24MHZ有源晶振,带380KB 大容量的FIFO AL422B,非常适合慢速MCU直接通过I/O采集图象数据,带OV7670必须的稳压LDO,超宽单工作电源3.3V5V,I/O直接连接无须电平转换,工作温度050度,镜头为全玻璃镜片,镜头焦距3.6毫米 650nm波段。1.4.2 OV7670的功能1. 高灵敏度特性适合低照度的应用场合。2. 很低的电压适合嵌入式的应用。3. 该芯片具有标准的SCCB接口,并且
25、兼容IC接口。4. 支持VGA,GIF,和CIF到40x30的各种尺寸。5. VarioPixel子采样方式。1.5 OV7670的数字图像输出1.5.1 OV7670的输出信号时序像素数据输出时序和帧与行有效信号时序分别如图1.5.1和图1.5.2所示。像素时钟与主时钟同频,在一帧图像开始输出时帧有效信号由低电平变为高电平,一帧输出结束时由高电平变为低电平;而行有效信号则在一行数据输出有效时由低电平变为高电平,一行数据输出完成后由高电平变为低电平。根据OV7670的输出信号时序就能正确地采集整帧图像。图1.5.1中,P为帧消隐区,A为有效数据区,Q为行消隐区。图1.5.1为像素数据输出时序图
26、,图1.5.2为帧与行有效信号时序图。图1.5.1 像素数据输出时序图 图1.5.2 帧与行有效信号时序图2 方案论证2.1 控制模块的介绍方案一,采用ATMEL 公司的AT89C51。51单片机价格便宜,应用广泛,但是功能单一,但其运算速度低,RAM、ROM空间小,如果系统需要增加语音播报功能,还需外接语音芯片,实现较为复杂;另外51 单片机需要仿真器来实现软硬件调试,较为烦琐。方案二,采用STM32系列单片机。这款单片机采用了Tail-Chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%中断。 它具有一个32位的核,处理速度明显优于MSP
27、430。方案三,采用ARM7,ARM7底层驱动很复杂,平时用的也不是很多。 三个方案都能满足题目要求。但小车实时处理要求高,处理速度应尽量快。完成题目基本上不会使用到430单片机的五种低功耗模式。ARM虽然在性能上优于另外两个方案,但其价格高。综上所述,综合考虑时间、性价比和低功耗等因素,我们选择方案二。2.2 车身车体的介绍方案一,使用坦克式小车。小车体积大,可承载模块多;摩擦力大,可走崎岖不平的路径;运动可快可慢,快时用于行进,慢时用于位置精密调节。缺点:功耗大,灵敏度低。方案二,使用四轮矩形车体。小车功耗较低,运动灵活,车速较快。适于平整地面快速运行。方案三,使用圆形车体。左右两个单向轮
28、,前后两个万向轮。功耗和灵敏度明显优于方案二。经研究,决定选用方案三,并在万向轮上加入减震设备,使小车运行过程平稳。另外小车车体中加载9V可充电电池(环保且可持续利用),通过稳压模块稳定为5V和3.3V,分别给小车驱动和M3处理器等模块供电。车轮表面贴有码盘,可用红外实时感测车轮的运动状态,并输入单片机进行实时调整。2.3 电机选择与驱动模块的介绍方案一,使用直流电机。直流电机机械特性的线性度好,速度快,反应灵敏,转动力矩大,体积小,重量轻,成本低,另外,直流电机带负载能力强,调速平滑,PWM调整范围广。缺点:不易于精确调节和准确定位。方案二,使用步进电机。步进电机是将脉冲信号转化为角位移或线
29、位移的器件,其精度高,效率高,可靠性高,另外,步进电机只有周期误差而无积累误差,可以精确的控制转动的角度和位移。缺点:体积大,力矩小,速度慢,且力矩在高转速时急剧下降。我们选择直流电机,利用L298集成芯片组成驱动电路可产生PWM脉冲。利用PWM脉冲驱动直流电机,可以提高直流电机的精确度,又不会影响其速度的优势。用于提供小车行驶的动力,速度快,灵敏度高,使之满足题目要求。2.4 路径识别的方案设计与论证方案一:基于光电传感器阵列的智能控制光电传感器的排列方法、个数、彼此之间的间隔都与控制方法密切相关。但一般的认识是:在不受外部因素影响的情况下、能够感知前方的距离越远,行驶的效率越高。由于光电传
30、感器电路板的大小有限,其延伸的距离太短,因此大多制作者通过调整了光电传感器与地面信息的的方向,从而使光电传感器可以获得更远地方的路面的跑道情况。3下图2.4.1和2.4.2是两种典型的光电循迹的方案,图2.4.1中模型车采用了8对光电传感器分布得比较宽;图2.4.2中模型车只采用了3对光电传感器,放置在向外伸出的小电路板上,探测的范围比较小。具体在实际中将采用哪种方案更合适,这个与光电传感器扫描前方的距离和宽度以及所控制的策略是十分相关的。下面的图2.4.1为8路红外发射管方案,图2.4.2为3路红外发射管方案。 图2.4.1 8路红外发射管方案 图2.4.2 3路摄像头方案在光电循迹方案中,
31、为了得到质量较高的接收信号,一般还附加一些电阻电容组成的RC高通滤波器。这样就能够在一定程度上避免由外部光线引起的路线识别不正确的问题。有的模型车设计的传感器离地面距离较远,为了能够接收到更多的从发光传感器发射过来的光线,也有使用凸透镜的情况。基于反射式红外传感器的光电传感器阵列的路径检测方法具有较高的可靠性与稳定性,信息更新速度快且易于单片机处理。但是它易受环境光线的干扰,而且存在着检测距离近的的问题,硬件电路复杂。为了获得远方的信息需要将传感器伸的尽可能远,从而增加了车体高速行驶时的转动惯量,限制了智能车的最高速度。方案二:基于面阵CCD传感器的控制基于面阵CCD传感器的路径检测方法具有探
32、测距离远(后文将这种前方探测距离称为“前瞻“)的优势,能够尽可能早地感知前方路径的信息并进行预判断,实现提前减速过弯。而且这样还可以提高转弯的最高速度。同时还可以结合利用单片机内部的A/D,在小车的前方虚拟出24个光电传感器,采用单一传感器,硬件结构简单且高速运行时转动惯量小,从而增加了小车的最高速度。这样不仅能够克服传统光电传感器的缺点,又能够精确的感知黑色引导线的位置,为智能车的稳定运行提供保障。但是,在调试过程中我们发现这样面阵摄像头在市场上很少,不易购买。图2.4.3 CMOS摄像头小车方案三:基于面阵CMOS传感器的控制基于黑白面阵CMOS摄像头传感器的路径检测方法具有以上两种方案的
33、所有优点,同时面阵CMOS摄像头输出的复合视频信号,采集到的信息将是前方整个一副图像。利用单片机内部的A/D转换器,并配合从视频信号分离出的同步信息,该单片机可以直接将图像信号采集到内部的RAM中,然后通过软件对图像信息进行处理。这样不仅可以识别道路的中心位置,同时还可以得到跑道的方向,跑道的曲率等信息。这样可以有效地对车模进行运动控制,提高车模路径跟踪速度和运行速度。但是面阵CMOS摄像头的延时比较大(20ms),因此对信息的采集和处理有一定的约束。图2.4.3为CMOS摄像头小车。综合以上分析,为了更好的获得路况信息和取得大的前瞻,本设计选择方案三,并对其进行可改进。3 智能车系统硬件设计
34、3.1 智能车系统硬件设计总体结构本系统是利用了市面上很流行的处理器STM32作为本系统的主要控制模块,我们采用了CMOS摄像头作为识别路面信息的传感器,通过控制器STM32对摄像头采集过来的信息进行分析和判别,才实现对智能小车直流电机的控制从而达到实现自动循迹的目的。众所周知,一个系统的硬件是一个系统能否稳定运行的关键,在设计智能车硬件的总体架构时,该系统充分考虑了这方面的因素,使该系统能够很好的运行,使小车的行驶速度更快更稳定。如图3.1,并在此基础上选择了最佳的硬件电路和器件,后面将分成各个模块加以介绍。图3.1为系统硬件整体框图。4图3.1 系统硬件整体框图3.2 STM32最小系统的
35、设计3.2.1 方案总结1 电机模块:直流电机2 控制模块:Cortex-m33 车体选择:四轮圆形车身4 摄像头模块:OV7670模块3.2.2 方案框图图3.2为方案框图。图3.2 方案框图3.3 电路设计与原理3.3.1 直流电机应用L298为双全桥步进电机专用驱动芯片,内含4信道逻辑驱动电路,接收标准TTL逻辑信号,可驱动46V、2A以下的步进电机,且可直接通过电源来调节输出电压。然而本电路将M3控制器与L298驱动结合,产生PWM脉冲,用于驱动直流电机,在不影响直流电机速度快、带负载能力强的同时,实现较精确调节,可达到很好的效果。L298作为小车电机驱动芯片,驱动能力很强,广泛被智能
36、小车控制作用,硬件简单,操作性极强,而且价格也适合,非常适合初学者来应用,在该课题中,小车的驱动主要依靠该模块来实现,摄像头采集的信息通过CPU的处理,从而调节小车的运行情况,是该课题的主要模块。其电路原理图如3.3.1图。L298是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:高的工作电压最大可达46V;比较大的输出电流,具有3A瞬间峰值电流,实验报告检测其持续工作电流可达2A,具有25W额定功率。内涵两个H的高电压大电流全桥式驱动器,能够实现对直流电动机和步进电机和步进电机的驱动,继电器线圈等感性负载;采用标准逻辑电平信号控制:具有两个智能控制端,在输入信
37、号合理的情况下允许或者禁止期间工作有一个逻辑电源输入端,使内部逻辑电路部分工作在低电压下模式下;可以外接检测电阻,将变化量反馈给控制电路,使用L298芯片驱动电机,该芯片可以驱动一台两相步进电机或者四相步进电机,也可以驱动两台直流电机。图3.3.1为电机驱动模块。6 图3.3.1 电机驱动模块3.3.2 电源分配电路设计电源分配电路中,所用的电池是蓄电池,电池要通过一些电压的转化电路来实现对电机的驱动作用,由于STM32的最小系统的驱动电压时3.3V的直流电压,摄像头的驱动是3.3V到5V的直流电压,需要将蓄电池的电压转换过去,这部分,该系统利用了LM3117-3.3V的转换芯片,能够得到稳定
38、性和波纹都很好的3,3V直流电压,可直接利用该直流电压给单片机和CMOS摄像头传感器供电。图3.3.2为电源模块。 图3.3.2 电源模块3.3.3 H桥电机的驱动本系统的直流电机的驱动电路采用H型PWM电路,用STM32处理器来控制驱动电路,使之工作在占空比可调的开关状态,从而实现对电动机的转速的精确调整。其实就是把波形作用于电机驱动的使用端,PWM控制是一种在控制领域应用非常广泛的控制方式,通过对波形或者说是脉冲的占空比加以控制,从而实现对电机速度的控制,灵活应用合理分配是PWM波的一种很强的优势,因此对于电机运行的速度,我们可以通过对PWM波的占空比来实现对脉冲频率的控制,来达到转速的合
39、理控制。图3.3.3为L298 H桥内部电路。 图3.3.3 H桥内部电路4 智能车系统软件设计4.1 控制算法的简要介绍智能小车的控制,实际上就是对智能车的运行车速和运行方向的控制,本课题通过对各种算法的比较,最终采用了比较适合的算法PID控制,PID控制是一种新型的算法,这种算法来源于模糊数学模型,模糊推理的控制就是利用了这种算法来实现对图像的合理处理的。 在对驱动电机和舵机控制之前,需要利用道路检测信息来制定各种路况下的控制策略,道路路况不外乎4种,如图4.1所示为跑道的4种情况。 图4.1 跑道的4种情况 要实现在最短的时间能实现对智能小车的控制,并完成所要达到的任务,那么这就要求我们
40、在直道上要用全速的状态来行驶,同时在“S”道转向不大的情况下要尽量做到直道行驶的速度来行驶,最后在进入弯道时要合理的减速,既不能太大也不能过小,以使得在弯道上能够及时的转向,在弯道中和出弯的时候要及时的提高小车的速度,以使得在小车在进入直道时候就能够很快达到最高速度。对于十字交叉道路,可以按是直道处理,避免横线的干扰。6 PID控制介绍PID控制算法是根据偏差的值,按照一定的函数关系进行计算,用所得的运算结果对系统进行控制。PID控制有位置式控制和增量式控制,方程如下: (4-1) (4-2) 利用PID控制器步骤如下: (1)首先预选择一个足够短的采样周期让系统工作; (2)仅加入比例控制环
41、节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期; (3)在一定的控制度下通过公式计算得到PID控制器的参数。 在实际调试中,只能先大致设定一个经验值,然后根据调节效果修改。 模糊控制介绍 模糊控制实质上是一种人性化的控制策略,其要求用计算机去按照操作人员的思想来控制小车的运行,这样可以很好的避开了对复杂的数学模型的处理,而是着力于对操作员想要的控制问题进行研究,使控制问题能够跟好的实现,使成功的几率更方便,总结出知识,从中提炼出控制规则,实现复杂系统的控制。 模糊控制有以下的特点: 1. 尽管模糊控制的算法是运用模糊集理论来进行的的计算方法,但是最终得到的控制数
42、据时确定的,定量的。 2. 对于一些实际系统,需要系统建立一些数学模型,而模糊控制算法则不需要根据机理与分析建立数学模型,从而简化了处理的复杂度。更加具有使用性。 3.模糊控制系统与传统的控制方法相比,模糊控制系统是设计员利用自然语言表达出来的规则,更加的人性化,此算法更接近于人的的思维方法和推理习惯,因此,便于现场操作人员的理解和使用,便于人机对话,以得到更有效的控制规律。 4.2 速度控制算法由上面对PID控制算法和模糊控制算法特点的介绍可以看出,PID控制算法简单、容易计算机实现,但其参数的准确整定困难,而模糊控制算法刚好弥补了这一缺陷,因而我们选取模糊PID作为智能车速度和转向的控制算
43、法。图4.2.1为模糊PID控制结构图。 图4.2.1 模糊PID控制结构图输入输出变量的确定及模糊化 模糊控制器的输入变量为速度的偏差e及其偏差变化率ec,输出变量为PID控制校正参数Kp、Ki、Kd。偏差和偏差变化率都是精确的输入值,模糊化就是使之离散化,变为设定整数论域中的元素。 将e和ec定义如下: (4-3) (4-4)式中kl,k2为e和ec的变换比例因子,设e和ec的实际变化范围分别为-em,em和-ecm,ecm,经变换和量化后的模糊变量分别为E和EC,根据车速的控制精度要求,将E和EC的论域定义为: E,EC=-6,-5,-4,-3,-2,-1,0,l,2,3,4,5,6其模
44、糊子集为:E,EC=NB,NM,NS,ZO,PS,PM,PB 上式子集中元素分别代表负大、负中、负小、零、正小、正中、正大。模糊子集的隶属度函数采用三角形函数。 输出量KiKpKd的论域、语言变量取值、隶属度函数的选择与E和EC相同。 模糊规则表的建立 表4-1 Kp的模糊规则表DKpEC ENBNMNSZOPSPMPBNBPBPBPMPMPSZOZONMPBPBPMPSPSZONSNSPMPMPMPSZONSNSZOPMPMPSZONSNSNMPSPSPSZONSNSNMNMPMPSZONSNSNMNMNBPBZOZONMNMNMNBNB表4-2 Ki的模糊规则表DKiEC ENBNMNSZOPSPMPBNBNBNBNMNMNSZOZONMNBNBNMNSNSZOZONSNBNMNSNSZOPSPSZONMNMNSZOPSPMPMPSNMNSZOPSPSPMPBPMZOZOPSPSPMPBPBPBZOZOPSPMPMPBPB表4-3 Kd的模糊规则表DKiEC ENBNMNSZOPSPMPBNBPSNSNBNBNBNMPSNMPSNSNBNMNMNSZONSZONS