版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕 业 设 计(论 文)题 目 视觉导引智能寻迹小车系统设计 如需要源代码或者其他资料可以联系我( OR )姓 名 学 号 所在学院 机械工程学院 专业班级 指导教师 日 期 年 月 日 摘 要 智能车作为现代社会的新产物,以及它的安全、节能、环保、智能化和信息化越来越受到人们的关注,在智能车的基础上开发出来的产品已经成为自动化物流运输、柔性生产组织等系统的关键设备。本设计是一种基于单片机控制的简易智能寻迹小车系统,对智能车自主行驶的决策以及算法也进行了相应的研究。 本论文主要从总体方案设计、硬件和软件设计。硬件方面以Cortex-m3为控制核心,使用ST
2、M32F103RBT6单片机,辅助模块包括电源模块、驱动模块,图像采集模块以及为了调试方便而采用的辅助调试模块。软件设计方面重点介绍了寻迹小车如何解决轨道检测和线路跟随问题。单片机将CMOS摄像头对路面黑色轨迹进行检测的信号,通过一定的算法分析,通过调整PWM占空比控制小车左右两轮的速度以实现转向,从而使小车能够沿着黑色轨迹自动行驶,到达自动寻迹的目的。关键字:智能车,图像处理,STM32abstractAs the new product of modern society, intelligent vehicle, and its safety, energy saving, enviro
3、nmental protection, intelligence and information technology, is paid more and more attention,The product has become the key equipment of the automation logistics transportation, the flexible production organization and so on. This design is a simple intelligent tracing car system based on microcontr
4、oller control, and the autonomous driving decision and algorithm of the intelligent vehicle are also studied.This paper mainly from the overall scheme design ,hardware and software design. Hardware to Cortex-M3 as the control core, use stm32F103RBT6 microcontroller, auxiliary module including power
5、supply module, a driving module, image acquisition module and to facilitate the debugging and the auxiliary debug modul . The design of the software focuses on how to solve the track detection and line following problem. SCM CMOS camera on the road to detect the black trajectory of the signal, throu
6、gh a certain algorithm analysis.By adjusting the duty ratio of PWM to control the speed of the car around two wheels to achieve the steering, so that the car can automatically travel along the black track, reaching the purpose of automatic tracing.Keywords: smart car, image processing, stm32目 录1 绪论1
7、1.1 课题背景11.2 本课题的研究现状11.3 本课题研究的目的和意义22 视觉导引智能寻迹小车系统方案设计32.1 系统总体设计32.2 系统工作原理43 视觉导引智能寻迹小车硬件设计53.1 电源模块设计53.1.1 电源电压分配53.1.2 正向低压降稳压器AMS117简介53.1.3 AMS117-5V和3.3V稳压电路图63.2 单片机最小系统的设计63.3 道路图像采集模块93.3.1 OV5116 CMOS摄像头的特点和优势103.3.2 摄像头的工作原理103.3.3 图像的采集113.3.4 图像的处理133.4 直流电机驱动模块144 视觉导引智能寻迹小车软件设计174
8、.1 STM32 I/O口与外设的连接简介174.2 单片机各个模块的初始化174.3 图像信号的采集204.3.1 行数据的采集204.3.2 场数据的采集204.3.3 电机的控制205 系统的测试255.1 系统测试的目的255.2 系统测试的原则255.3 系统测试的结果256 结论277 谢辞288 参 考 文 献29 1绪论1.1 课题背景 目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上许多国家都在积极进行智能车辆的研究和开发设计。智能车辆也叫无人车辆,是一个集环境
9、感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和巡航控制等功能。智能车辆的主要特点是在复杂的道路情况下,能自动地操纵和驾驶车辆绕开障碍物并沿着预定的道路(轨迹)行进。智能车辆在原有车辆系统的基础上增加了一些智能化技术设备: 1) 计算机处理系统,主要完成对来自摄像机所获取的图像的预处理、增强、分析、识别等工作。2) 摄像机,用来获得道路图像信息。3) 传感器设备,车速传感器用来获得当前车速,障碍物传感器用来获得前方、侧方、后方障碍物等信息。智能车辆作为移动机器人的一个重要分支正得到越来越多的关注1.2 本课题的研究现状目
10、前,国际上很多的研究机构已经开始关注智能交通系统 (ITS)方面的研究工作了,并且也取得了很大的成果,已经研发出了一些智能化的原型车辆,并且进行了相应的测试。然而这种智能化原型车研发,其整个过程得益于一些交叉学科的相关领域知识,如机器人技术、人工智能、自动控制、电子通讯、信号处理技术等,从中得到许多新观点,新方法。从近来几年的发展来看,汽车电子的迅猛发展必将逐步满足人们对节能、安全、环保以及信息化和智能化的需求。 智能化作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。同遥控小车不同,遥控小车需要
11、人为控制转向、启停和进退,比较先进的遥控车还能控制其速度,而智能小车,则可以通过计算机编程来实现其对行驶方向、启停以及速度的控制,无需人工干预,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体。现在的智能控制在很多工厂和车间都有很大的应用舞台;人性化,智能化是下一代智能控制的研究方向,目前,我国的研究广度和深度还是不够大,在很多领域几乎是零,需要我们进一步的加深对智能控制的研究,比如汽车电子控制,航天控制,轮船控制等等,在芯片性能上,国内的研究和开发也是欠缺的,芯片的稳定性在很大程度上限制
12、了很多领域的进展,大多都是被国外垄断,这些都是需要我们来面对和改进的地方,也正是发展的重点。此外,智能汽车在高速公路,山地,野外,现代物流业,现在制造系统及柔性制造系统中都有广泛运用,该研究已成为人工智能领域的一个非常重要的热点之一。 1.3本课题的研究目的和意义随着人们物质文化生活水平的不断提高,智能化的电子玩具深受人们的喜爱,尤其是各种智能小车,由于这类玩具具有较好的交互性,可控性,能够给人们带来很好的娱乐以及参与其中的体验,高科技智能化的电子类玩具逐渐成为市场的主流。与此同时,智能小车可以应用于考古、机器人、医疗器械等许多方面,尤其在足球机器人研究方面具有很好的发展前景。因此,智能化小车
13、的研究不仅具有很大的现实意义,还具有极为广阔的应用前景和市场价值。随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。通过构建智能小车系统,培养设计并实现自动控制系统的能力。在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测、驱动和显示等外围电路,采用智能控制算法实现小车的智能循迹。灵活应用机电等相关学科的理论知识,联系实际电路设计的具体实现方法,达到理论与实践的统一。在此过程中,加深对控制理论的理解和认识。本文所研究的智能车是一个比较好的智能模型,通过摄像头循迹来获得
14、路面的信息,通过处理后从而来引导小车的运行,达到一定的智能化。2 视觉导引智能寻迹小车系统方案设计按照题目要求,本次设计的系统是利用主控芯片控制电机,通过CMOS摄像头传感器对路面的轨迹信息进行检测,并将检测信号传输给控制器,然后控制器做出相应的处理,实现小车的自动寻迹行走,该系统设计的首要问题即解决路径检测和小车转向。2.1系统总体设计 采用与地面颜色有较大差别的线条(如跑道表面通过白纸来覆盖,其中心有30mm宽度左右的连续黑线)作为小车运行的引导线,同时也作为识别道路状况的标志、该论文的整体智能车就可以看作是一个控制的系统。 一个完整的智能寻迹小车包括机械结构,硬件和软件三部分。机械结构是
15、寻迹小车能够行驶的根本。寻迹小车有了一定的机械结构,再加上相应的硬件和软件,就构成了一个完整的系统。图2.1系统模型框图该系统通过面阵CMOS摄像头来实现路径识别功能,将CMOS摄像头采集过来的视频信号二值化后送入微处理器进行处理,根据路面信息来决定智能小车的行驶方向;而车速控制采用一定的算法来实现车速的调节。另外,在软件设计中,本课题采用实时采集路况信息方法和实时控制智能小车的速度,最终达到实现整个系统的控制,使小车可以自主的按照路面信行驶。智能车首先将路面上的白纸黑线信息进行检测,再将该智能车的姿态信息一起送给控制器STM32,控制器STM32将采集过来的路面黑线信息和智能小车的行驶信息的
16、数据进行相应的处理、分析、决策、最终分别得出对电机的控制量和对智能小车的控制量,并对驱动电机的转速和转向加以控制,从而实现对智能小车的合理控制,即达到实时性也达到对精度的控制。为了实现上述对智能车的控制,寻迹小车硬件系统可分为四大模块:32 位微控制器STM32F103RBT6核心控制模块,电源管理模块,道路图像采集模块,电机驱动模块。首先要实现对路面信息采集和实时监测,并且要达到一定的抗干扰能力,从而给控制器STM32提供一个很好的决策依据。要达到一定的实时性,首先控制器的处理速度要快,只有控制器的处理速度达到一定的速度了,才能相应的使小车的行驶速度快,实现一个稳定的实时系统。再次,该智能小
17、车需要一个稳定的电量来源,给行驶的小车一个可靠的能量储备,来驱动小车电机模块和该智能小车的控制器等模块的能量利用。还有就是电源管理部分,对于该智能小车中的不同的模块,需要不同级别的电压情况,需要采取一些措施来合理的分配电源的电压,供给不同的应用模块,是小车正常的行驶。2.2系统工作原理本次设计采用的是OV5116CMOS摄像头作为图像传感器,运用LM1881视频同步信号分离芯片,分离出行步信号和场同步信号,供单片机来采集图像;同时运用AD模块AD8032高速比较器来进行硬件二值化,单片机由此来信号,经过一定的算法来识别路径。整个系统上电后,STM32单片机开始不停的扫描与检测电路相连接的I/O
18、口状态,一旦检测到相应I/O口有信号变化,就会执行对应的中断程序和判断程序,并将输出电机控制信号,通过L9110H双桥直流电机驱动模块来驱动左右两个电机,以此通过控制电机的速度来实现小车寻迹的功能。小车转向主要通过两个不同占空比的PWM波来控制左右两个电机的转转速,由于占空比不同因此左右两轮的速度也就不同,右轮快则寻迹小车向左转,反之则右转, 从而实时的控制小车的行驶状态,是沿着黑色轨道行驶的。直流电机晶振双L9110HAD8032OV5116CMOS摄像头LM1881电源复位MCUSTM32F103RBT6图2.7 系统原理图3 视觉导引智能寻迹小车硬件设计视觉导引智能寻迹小车的硬件设计在整
19、个智能车的设计过程中占有非常重要的位置,它是寻迹小车可靠、稳定运行的基础。选择不同的硬件电路及器件,对系统的功能实现影响很大。尽管很多硬件电路和器件都能实现同样的功能,但是遵循电路简单、功能强大、方便调试等原则,结合上一章所选择的硬件模块,在这些基础之上。选择了最佳的硬件电路和器件。3.1 电源模块设计3.1.1电源电压分配本设计中,本着环保节能、实用经济的原则,选择的是两个3.7V可充电的锂电池串联来为系统提供7.4V的系统电压。由于各个模块所需的电压各相同,需要一些电压的转换电路来实现系统对电压的需要。在电源分配的电路中,要供给OV5116CMOS摄像头图像传感器5V的直流电压、主控芯片S
20、TM32F103RBT6最小系统的3.3V电压、以及双L9110H直流电机驱动的驱动电压(直接电源供电即可)。5V电机驱动模块道路图像采集模块电源管理模块STM32F103RBT63.3V7.4V图3.1 电源电压分配3.1.2正向低压降稳压器AMS117简介AMS117系列是输出电压固定的正向低压降稳压器,在1A电流下压降为1.2V。AMS1117有两个版本:固定输出版本和可调版本,固定输出电压为1.5V、1.8V、2.5V、2.85V、3.0V、3.3V、5.0V,具有1的精度;固定输出电压为.2的精度为。AMS1117内部集成过热保护和限流电路,是电池供电和便携式计算机的最佳选择。并且A
21、MS117芯片价格便宜,调压电路非常简单,适合在本设计中使用。AMS117封装和实物如下图所示。图3.2 AMS封装和实物图3.1.3 AMS117-5V和3.3V稳压电路图为了确保AMS1117的稳定性 ,输出需要连接一个104钽电容。图3.3 降压AMS117-3.3和AMS117-5电路图3.2 单片机最小系统的设计采用STM32系列单片机。这款单片机采用了Tail-Chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%中断。它具有一个32位的核,处理速度明显优于MSP430。并且可以直接用库函数产生产生不同频率和占空比的PWM波形,调速
22、很方便。在用串口对摄像头调节焦距以及用串口显示的路径来确定编写的程序时,STM32单片机都非常的方便。并且,只要学过51单片机,学习STM32很方便和容易。以STM32F103RBT6为核心的单片机最小系统的硬件电路设计主要包括以下几个部分:时钟电路、电源电路、复位电路、BOOT接口。其中各个部分的功能如下:1、时钟电路会给单片机提供一个外接的8MHZ的石英晶振。2、电源电路主要是给单片机提供3.3V的电源。3、复位电路在电压达到正常值是给单片机一个复位信号。4、BOOT接口让用户可以控制单片机是运行程序还是向单片机下载程序。如图3.4所示,该最小控制系统采用标准的STM32系列单片机的时钟电
23、路。STM32系列的控制器可以使用外部晶振或外部时钟源,经过内部PLL或不经过内部PLL为系统提供参考时钟,也可以使用内部RC振荡器经过或不经过内部PLL为系统提供时钟源。当使用外部晶振作为系统时钟源时,外部晶振的频率为416MHZ,可以为系统提供精确的系统参考源。本系统使用8MHZ的外接晶振为系统提供精确的系统时钟参考,使用32.768KHZ低速外部晶体作为RTC时钟源,连接到芯片的PC14、PC15引脚上。图3.4 STM32晶振电路图在STM32系列芯片中,由于有完善的内部复位(RESET)电路,外部复位电路就特别简单,使用阻容复位方式即可,如下图3.5所示。图3.5 复位电路图图3.6
24、 BOOT引脚的电路图图3.7 STM32F103RBT6引脚图3.3 道路图像采集模块道路图像采集模块主要是通过CMOS摄像头采集跑道信息,并对信息进行处理,区分出不同的赛道形状,判断出赛车相对于黑线的位置。智能循迹小车系统的总体工作模式为:CMOS OV5116图像传感器采集跑道图像,输出PAL制式信号,将该信号经过8050三极管进行图像模拟信号AV的放大,在经过高速比较器AD8032的信号处理模块进行硬件二值化,采用LM1881进行视频同步信号分离,二值化图像信号、奇偶场信号、行同步信号输入到STM32F103RBT6微控制器,通过二维数组存取跑道信息并进行处理;通过获取的道路信息,经过
25、一定的算法,;来判别智能循迹小车是否要左转、右转或者直线行走,通过改变TIM通道的PWM的占空比,以改变循迹小车的左右两轮的速度,以实现按照获取的内道路信号来自动行驶的功能。OV5116 CMOS摄像头捕获的图像模拟信号AV视频同步信号分离LM1881模拟信号放大到数字式电平信号高速比较器AD8032进行硬件二值化获得数字信号D(黑色为1,白色为0)行同步信号,场同步信号STM32微控制器改变TIM通道的PWM占空比电机驱动模块图3.8 道路采集模块的流程图3.3.1 OV5116 CMOS摄像头的特点和优势(1) 摄像头电路板的尺寸25*28mm。(2) 5V供电电压。(3) 输出四条信号线
26、,分别是行中断信号HS、场中断信号VS、图像模拟信号AV、图像二值化数字信号D。(4) 集成了模拟放大为数字式的电平信号8050三极管。(5) PAL制,每秒25帧,一帧两场,那么每秒就有50场。意味着16.7MS左右就有一幅图像产生。(6) 集成LM1881视频分离芯片,直接输出场同步信号VS、行同步HS等供采集的时序信号。3.3.2 摄像头的工作原理摄像头按一定的分辨率,以隔行扫描的方式采集图像上的点,当扫描到某点时,就通过图像传感芯片将该点处图像的灰度转换成与灰度一一对应的电压值,然后将此电压值通过视频信号端输出。如下图3.8所示,摄像头连续地扫描图像上的一行,则输出就是一段连续的电压信
27、号,该电压信号的高低起伏反映了该行图像的灰度变化。当扫描完一行,视频信号端就输出一个低于最低视频信号电压的电平(如0.3V),并保持一段时间。这样相当于,紧接着每行图像信号之后会有一个电压“凹槽”,此“凹槽”叫做行同步脉冲,它是扫描换行的标志。然后,跳过一行后(因为摄像头是隔行扫描的),开始扫描新的一行,如此下去,直到扫描完该场的视频信号,接着会出现一段场消隐区。该区中有若干个复合消隐脉冲,其中有个持续时间远长于其它的消隐脉冲,称为场同步脉冲,它是扫描换场的标志。场同步脉冲标志着新的一场的到来,不过,场消隐区恰好跨在上一场的结尾和下一场的开始部分,得等场消隐区过去,下一场的视频信号才真正到来。
28、摄像头每秒扫描25幅图像,每幅又分奇、偶两场,先奇场后偶场,故每秒扫描50场图像。奇场时只扫描图像中的奇数行,偶场时则只扫描偶数行。摄像头有两个重要的指标:分辨率和有效像素。分辨率实际上就是每场行同步脉冲数,这是因为行同步脉冲数越多,则对每场图像扫描的行数也越多。事实上,分辨率反映的是摄像头的纵向分辨能力。有效像素常写成两数相乘的形式,如“320x240”,其中前一个数值表示单行视频信号的精细程度,即行分辨能力;后一个数值为分辨率,因而有效像素=行分辨能力分辨率。图3.9 摄像头的视频信号3.3.3 图像的采集由于OV5116摄像头图像传感器输出的信号是图像模拟信号AV,而图像模拟信号AV是集
29、行同步信号、场同步信号、消隐信号的复合信号,所以 OV5116 摄像要能有效地对视频信号进行采样,首先要处理好的问题是如何提取出摄像头信号中的行同步脉冲、消隐脉冲和场同步脉冲,否则,单片机将无法识别所接收到的视频信号处在哪一场,也无法识别是在该场中的场消隐区还是视频信号区,更无法识别是在视频信号区的第几行。这里有两种可行的方法。第一,直接采用A/D转换进行提取。当摄像头信号为行同步脉冲、消隐脉冲或场同步脉冲时,摄像头信号电平就会低于这些脉冲模式之外时的摄像头信号电平。据此,可设一个信号电平阈值来判断A/D转换采样到的摄像头信号是否为行同步脉冲、消隐脉冲或场同步脉冲。第二,就是给单片机配以合适的
30、外围芯片,此芯片要能够提取出摄像头信号的行同步脉冲、消隐脉冲和场同步脉冲以供单片机作控制之用。由于单片机的处理速度有限,而一些脉冲的间隔时间又较短,我们就采用了第二种方法进行信号提取。LM1881视频同步信号分离芯片可从摄像头信号中提取信号的时序信息,如行同步脉冲、场同步脉冲和奇、偶场信息等,并将它们转换成TTL电平直接输给单片机的I/O口作控制信号之用。LM1881的端口接线方式如图3.10所示。图3.10 LM1881接线图其中,引脚2为视频信号输入端,引脚1为行同步信号输出端(下图中的b)。引脚3为场同步信号输出端,当摄像头信号的场同步脉冲到来时,该端将变为低电平,一般维持230us,然
31、后重新变回高电平(如图3中的c)。引脚7为奇-偶场同步信号输出端,当摄像头信号处于奇场时,该端为高电平,当处于偶场时,为低电平。事实上,不仅可以用场同步信号作为换场的标志,也可以用奇-偶场间的交替作为换场的标志图3.11 LM1881分离视频信号的时序图采用LM1881从摄像头信号VIDEO中分离出奇偶场同步信号O/E和行同步信号HS。(1)行同步信号:行同步信号为一系列的脉冲信号,其直接接单片机的外部中断口PB14引脚,每次行同步信号到来都会触发一次外部中断,该行中断信号用于采集每一行数据的标志位,该信号一般是高电平有效,并且可以对该中断进行计数,便可一直到当前黑白图像信号是哪一行。(2)奇
32、偶场同步信号:奇偶场同步信号的输出为高/低电平,奇场输出高电平,偶场输出低电平,其可以直接接单片机的普通I/O口,用时只需读取该I/O口的高低电平就可以知道摄像头当前输出的图像是奇场还是偶场。 用改口接单片机PB15口,每次场同步信号到来都会触发一次外部中断,该场同步信号用于判断一场数据是否读取完和进入下一场的标志位。该信号一般是低电平有效,当检测到场中断信号时,即刻把之前寄存器累积的数据清零,使得下一场的数据当检测到行中断信号时,即刻进入读取行数据。3.3.4 图像的处理1.摄像头信号的转换电路由于摄像头输出的黑白全电视信号为 PAL 制式模拟信号, 所以必须经过相应的图像处理模块进行相应转
33、换之后才能由单片机进行处理。解决方案有以下三种:(1) 使用单片机内部 A/D 转换采用单片机的 AD 口,读取图像数据。这个方案的优点是外接电路简单。缺点是受到单片机 AD 转换速率的影响,读取的数据慢,而且数据错误率较高,同时严重的占用单片机的资源, 导致程序运行慢等的缺点。 一般单片机超频到 64M下,一行采集大概是 80 个点。其精度对于图像的分析是不够的,特别是前瞻 50cm以后的信号,使得图像分辨率不高,赛道检测信息量不足,这种方法达不到我们的要求,不放弃。(2) 使用外部 A/D 转换采用片外AD芯片,例如是高速AD转换芯片:TLC5511。TLC5510是美国德州仪器(TI)
34、公司生产的 8 位高速A/D转换器,它可提供最大20Msps的采样率。使用外部A/D 转换器电路后,我们每行图像最多可以采集 270个点,大大提高了赛道检测的信息量并提高了信息处理的灵活度。其优点是转化速率快,能够实现比较准确的数据转换。但其缺点是外围电路比较复杂,同时占用8 个单片机 IO 口,成本比较高等。从对图像的黑线提取的角度考虑,比较难实现动态阀值。(3) 使用模拟电路对 PAL 信号进行转化对PAL信号进行硬件二值化是为了降低单片机的计算负荷, 通过调节阈值而将灰度图像转换成黑白图像,这样就不需要用 A/D 转换就可以采集图像了。其最明显的优点在于普通 IO 的操作速度要比 A/D
35、 快,使提高分辨率成为可能。由于通过模拟电路实现二值化比较容易实现,所以最后采用了此技术路线而放弃了其它方案的研究。采用高速比较器,例如是高速比较器 AD8032,通过选择合适的电压作为比较器的参考电压,把图像信号转化为高低电平信号,其输出信号直接接到单片机的 IO 口,可以读取到图像信号,一般可得到黑线为 1,白板为 0 的图像信号,此方案优点是数据转化速率快, 若输出信号接单片机低位的 IO 口, 同时单片机超频到 64M 和使用指针程序,一行可以采集到 250 个点。同时能够实现准确的数据转换(几乎不会出错)。故选择这种方法。2.硬件二值化电路摄像头采集的图像为灰度图像,为加快芯片的处理
36、速度需要将图像信息处理为黑白图像,即二值化。图像二值化是用灰度变换来研究灰度图像的一种常用的方法,即设定某一阀值,将灰度图像的像素分成大于阀值的像素群和小于阀值的像素群两部分。二值化的方法分为软件二值化和硬件二值化。两种方法各有利弊,硬件二值化与软件二值化相比,稳定性和精度相对较高,因此本设计选用了硬件二值化的方法。硬件二值化的特点是采用边沿检测电路,通过两个电位器大小的调整便能适应不同情况的光线,而且能适应CMOS的不同视野,具有较强的图片分割能力,具有较强的场地适应性,而对比片外A/D,硬件二值化具有以下优点:1.电路设计更简单;2.占用单片机I/O口只有一位,为片外A/D的1/8;3.不
37、用考虑时钟同步的问题;4.横向精度可以视为无限(因为直接以模拟电平信号输入,由MCU的一位端口对电平进行读取),在满足要求的情况下,MCU不用超频甚至还需要分频,8HZ频率读端口便能每行采集120多个像素,所以不会存在当视野比较远时出现黑线断开的现象;5.采用硬件二值化直接对图片进行了正确有效的分割,减少了CPU的运算量,增加了分割的可靠性。图3.12 摄像头模块整体电路图3.4 直流电机驱动模块采用集成芯片L9110H来直接驱动直流电机。L9110H是专为控制和驱动电机设计的两通道推挽式模块,其将分立电路集成在模块之中,使外围器件成本降低,整机可靠性提高。该模块具有TTL/CMOS兼容电平的
38、输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动及刹车,它具有较大的电流驱动能力,每通道能通过750800mA的持续电流,峰值电流能力可达1.52.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全b可靠。此模块适用于智能化轮式车和智能化履带车、智能化小型机械人和智能化小型机械手、其它类型的低功率(12 伏特 800 )毫安负载等。图3.13 L9110H实物图 L9110H的直流特性如下图所示:符 号参 数最 小典 型最 大单 位VCC电源电压2.2612VImax电流峰值-150020
39、00mAVHIN输入高电平2.5512VVLIN输入低电平00.50.7VPd max允许功耗-800mWTopr操作温度-302525图3.14 L9110H的直流特性图L9110H是专为控制和驱动电机设计的两通道推挽式模块,其将分立电路集成在模块之中,使外围器件成本降低,整机可靠性提高。该模块具有TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动及刹车,它具有较大的电流驱动能力,每通道能通过750800mA的持续电流,峰值电流能力可达1.52.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、
40、步进电机或开关功率管的使用上安全可靠。L9110H的逻辑功能真值表如下图所示:AIAAIBMOTOR ABIABIBMOTOR BHLLHHLLHLHHLLHHLLL刹车LL刹车HH高阻HH高阻图3.15 L9110H芯片的逻辑功能本设计的直流电机的驱动电路采用H型PWM电路,用STM32微控制器来控制驱动电路,使之工作在占空比可调的开关状态,从而实现对电动机的转速的精确调整。其实就是把波形作用于电机驱动的输入端,PWM控制是一种在控制领域应用非常广泛的控制方式,通过对波形或者说是脉冲的占空比加以控制,从而实现对电机速度的控制,灵活应用合理分配是PWM波的一种很强的优势,因此对于电机运行的速度
41、,我们可以通过对PWM波的占空比来实现对脉冲频率的控制,来达到转速的合理控制。图3.16为L9110H驱动寻迹小车左右两轮直流电机的电路图。图3.16 L9110H驱动电路图图2.4 L9110H直流电机驱动模块4 视觉导引智能寻迹小车软件设计高效的软件程序是智能车高速平稳自动寻线的基础。根据系统设计原理,单片机需要通过查询与检测电路相接的I/O口状态,以判断行车轨迹状况,然后通过不同占空比的PWM波,实现电机的转速控制。软件设计主要通过程序实现,即包括传感器信号的读取(由单片机查询与检测电路相连的I/O口状态,确定检测信号的来源)和PWM波的产生(由单片机定时器TIM3的四个通道)4.1 S
42、TM32 I/O口与外设的连接简介OV5116摄像头传感器的数字信号D1接STM32的PA0,行同步信号HS接STM32的PB14,场同步信号VS接STM32的PB15;USB转TTL串口RXD接STM32的PA9;左轮的输入信号INA和INB分别接STM32的PA6和PA7口;右轮的输入信号INA和INB分别接STM32的PB0和PB1口4.2 单片机个模块的初始化4.2.1系统时钟的初始化RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB, ENABLE); /将A口、B口
43、、中断所需要的外设时钟打开RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);/将串口的外设时钟打开RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);/将定时器TIM3外设时钟打开4.2.2 GPIO口的初始化按照实物连接的情况,信号输入的I/O口有PA0、PB14、PB15;信号输出的I/O口有PA9、PA6、PA7、PB0、PB1。按要求需要对这些IO口进行初始化设置:GPIO_InitTypeDef GPIO_InitStructure; /定义一个结构体GPIO_InitStr
44、ucture.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; /选中6、7引脚GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; /复用推免输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /输出速率为50HZGPIO_Init(GPIOA, &GPIO_InitStructure); /初始化PA口GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_0; /选中0、1引脚GPIO_InitStructure.GPIO_M
45、ode = GPIO_Mode_AF_PP; /复用推免输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /输出速率为50HZGPIO_Init(GPIOB, &GPIO_InitStructure); /初始化PB口GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; /选中9引脚GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /输出速率为50HZGPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; /复用推免输出G
46、PIO_Init(GPIOA, &GPIO_InitStructure); /初始化PA口GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_15 ; /选中14、15引脚GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; /设置为浮空输入GPIO_Init(GPIOB, &GPIO_InitStructure);/初始化PA口4.2.3 中断向量初始化对于串口中断、行同步信号中断和场同步信号,蛇形优先级NVIC_InitTypeDef NVIC_InitStructure; /定义一
47、个结构体NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); /设置优先组为1组NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQChannel;/外部中断线15-10 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; /先占优先级为1NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; /从占优先级为0NVIC_InitStructure.NVIC_IRQChannelCmd = ENAB
48、LE; /使能IRQ通道NVIC_Init(&NVIC_InitStructure); /初始化中断优先级NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel; /串口通讯中断NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; /先占优先级为1 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; /从占优先级为0NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /使能IRQ通道NV
49、IC_Init(&NVIC_InitStructure); /初始化中断优先级4.2.4 外部中断初始化对行同步信号、场同步信号和串口的中断设置EXTI_InitTypeDef EXTI_InitStructure; /定义一个结构体GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource14); /连接到PB14口去EXTI_InitStructure.EXTI_Line = EXTI_Line14; /使用外部中断14EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; /中断请求EX
50、TI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; /上升沿触发中断EXTI_InitStructure.EXTI_LineCmd = ENABLE; /使能外部中断14EXTI_Init(&EXTI_InitStructure); /初始化外部中断GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource15); /连接到PB15口去EXTI_InitStructure.EXTI_Line = EXTI_Line15; /使用外部中断14EXTI_InitStructure.EXTI_
51、Mode = EXTI_Mode_Interrupt; /中断请求EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; /上升沿触发中断EXTI_InitStructure.EXTI_LineCmd = ENABLE; /使能外部中断14EXTI_Init(&EXTI_InitStructure); /初始化外部中断4.2.5定时器TIM3的初始化由于两个电机的调速是由TIM3产生的四个PWM分别控制的,故要将TIM3的PWM模式设为需要的参数。TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
52、/定义一个结构体TIM_OCInitTypeDef TIM_OCInitStructure; /定义一个结构体TIM_TimeBaseStructure.TIM_Period = 3000; /向上计数3000次TIM_TimeBaseStructure.TIM_Prescaler =720; /720分频TIM_TimeBaseStructure.TIM_ClockDivision = 0; /设置时钟分割TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; /TIM向上计数模式TIM_TimeBaseInit(TIM3, &
53、TIM_TimeBaseStructure); /初始化定时器TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; /PWM模式1TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; /输出使能TIM_OCInitStructure.TIM_Pulse = 750; /占空比为25%TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; /初始高电平TIM_OC1Init(TIM3, &TIM_OCInitStructure); /PWM通道1打开TIM_OC2Init(TIM3, &TIM_OCInitStructure); /PWM通道2打开TIM_OC3Init(TIM3, &TIM_OCInitStructure); /PWM通道3打开TIM_OC4Init(TIM3, &TIM_OCInitStructure); /PWM通道4打开 TIM_Cmd(TIM3, ENABLE); /使能定时器4.2.6 USART串口的初始化 由于需要用串口发送数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高层展览馆施工合同模板
- 电视租赁合同三篇
- 自然灾害导致理赔客人的协议书(2篇)
- 团建策划合同
- 集体土地宅基地协议书范本
- 协议购车合同范例
- 农民承包小麦合同范例
- 院落保洁合同范例
- 木架拆除回收合同范例
- 沥青购销合同范例
- PS平面设计练习题库(附参考答案)
- 混合云架构整体设计及应用场景介绍
- 《盘点程序说明会》课件
- 期末素养综合测评卷(二)2024-2025学年鲁教版(五四制)六年级数学上册(解析版)
- 小王子-英文原版
- 考核19(西餐)试题
- 2024安全生产法解读
- 吉林省长春市(2024年-2025年小学五年级语文)人教版期末考试(上学期)试卷及答案
- 环保创业孵化器服务行业营销策略方案
- 研究生年终总结和展望
- 浙江省杭州市2023-2024学年高二上学期1月期末地理试题 含解析
评论
0/150
提交评论