《2022年飞思卡尔智能车路径识别算法研究 .pdf》由会员分享,可在线阅读,更多相关《2022年飞思卡尔智能车路径识别算法研究 .pdf(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 目录摘要 . 3Abstracts . 3 第一章引言 . 5 1.1 Freescale 车模比赛简介. 5 1.2 发展现状 . 7 第二章系统整体框架. 7 2.1 系统框架 . 7 2.2 系统软件 . 8 2.3 方案简介 . 9 第三章机械结构安装与调整. 10 3.1 机械结构的安装. 10 3.1.1 舵机的安装. 11 3.1.2 光电编码器的安装. 11 3.1.3 系统板的安装. 11 3.1.3 总体布局 . 12 3.2 机械调整 . 12 3.2.1 主销内倾 . 12 3.2.2 主销后倾 . 13 3.2.3 前轮外倾角. 13 3.3.4 前轮前束 . 1
2、3 3.3.4 车体重心 . 13 第四章硬件电路的设计与实现. 14 4.1 最小系统板的设计. 14 4.2 电源模块 . 15 4.2 电机驱动模块. 17 4.3 摄像头 . 19 4.4 速度传感器 . 20 第五章软件系统设计与实现. 22 5.1 HCS12 控制软件主要理论 . 22 5.2 软件各功能模块设计. 22 5.2.1 时钟模块 . 22 5.2.2 PWM 输出模块 . 23 5.2.3 ECT 模块 . 24 5.3 图像采集 . 25 5.4 图像处理 . 26 5.4.1 二值化算法. 26 5.4.2 黑线提取流程. 28 5.5 控制算法 . 28 5.
3、5.2 模拟 PID 与数字 PID . 29 5.5.3 PID 控制原理 . 29 5.5.4 位置式 PID 与增量式 PID . 31 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 41 页 - - - - - - - - - 2 5.5.5 PID 各环节作用 . 33 5.6 路径识别 . 34 5.7 舵机控制 . 34 5.8 电机控制 . 35 第六章开发工具及其调试. 36 6.1 上位机开发工具. 36 6.2 串口调试工具. 37 6.3 车模技
4、术参数表格. 38 结论 . 39 致谢 . 40 参考文献 . 41 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 41 页 - - - - - - - - - 3 飞思卡尔智能车路径识别算法研究摘要:本文详细介绍了以第四届全国飞思卡尔智能车大赛为背景的竞速车模自动循线控制系统方案。文中主要介绍了竞速车模的整体框架、硬件设计、摄像头图像采集模块、光电编码器速度采集模块、执行模块电路设计、电源管理模块以及系统软件设计。在硬件设计方面,结合大赛选用芯片的要求,自行设计实现
5、了系统的电路板,实践证明,该电路板较好的集成了智能车所需电路,使得整车的集成度提高,性能更加可靠。软件系统以Freescale16 位单片MC9S12XS128作为系统控制处理器,采用CMOS数字摄像头 OV6620 获取实时赛道信息,通过边缘检测方法提取赛道黑线,求出小车与黑线间的位置偏差,采用PD 控制算法对舵机转向进行控制。通过光电编码器YZ30D4S-2NA-200 实时获取小车速度,采用 P控制策略形成速度闭环控制。经过大赛实践证明,该套方案能够使智能汽车稳定并且快速运行。关键字:飞思卡尔单片机;摄像头信息处理; PID 控制Abstracts: Automatic line pat
6、rol control system prepared for the 4th national contest of Smart car was described in details in this paper. The paper introduces the overall framework, hardware design, camera image acquisition module, photo electrical encoder speed acquisition module, implementation module circuit design, power m
7、anagement module and system software design of the racing car. As for the hardware design, the racing car system, with single-chip MC9S12XS128 as its system control processor, uses CMOS digital camera to obtain the real-time track 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
8、 - - - - 第 3 页,共 41 页 - - - - - - - - - 4 information, extracts the black line on the contest lane with the edge detection method, and calculates position deviation between the car and the black line, distinguishes the different shape of the lane, then PD control algorithm for steering engine steeri
9、ng control was given in this paper. Through the photo electrical encoder named YZ30D4S-2NA-200 to attain the real-time car speed, and uses incremental P strategy to achieve the speed closed-loop control. It is proved that the control system can achieve automatic line patrol control, so as to make th
10、e racing car driving stably and quickly. Key words: Freescale Single-chip;Camera image processing ;PID control 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 41 页 - - - - - - - - - 5 第一章引言1.1 Freescale 车模比赛简介教育部为了加强大学生实践、创新能力和团队精神的培养,在已举办全国大学生数学建模、电子设计、机械设计、结构设
11、计等4项竞赛的基础上,委托教育部高等学校自动化专业教学指导分委会主办每年一度的全国大学生智能汽车竞赛(Freescale 车模比赛) 1 。智能汽车竞赛所使用的车模是一款带有差速器的后轮驱动模型车,由组委会统一提供。赛道路面用专用白色基板制作,在初赛阶段时,跑道所占面积在5米*7米左右, 决赛阶段时跑道面积可以增大。跑道包括普通赛道和窄道区两部分。普通赛道宽度不小于 60厘米 ,窄道区的宽度不小于 45厘米 ; 跑道表面为白色,中心有连续黑线作为引导线,黑线宽 25mm 。铺设赛道地板颜色不作要求,它和赛道之间可以但不一定有颜色差别;跑道最小曲率半径不小于 50 厘米 ; 跑道可以交叉,交叉角
12、为 90 ;赛道直线部分可以有坡度在 15 度之内的坡面道路,包括上坡与下坡道路;在驶入窄道区和驶出窄道区时,赛道上有标志。该标志距离窄道区 25 厘米 在进入和驶离窄道区有两种标志 ( 如图1.1 所示): (1) 黑色正三角形,位于赛道中心。边长25厘米。(2) 赛道突起,颜色白色,厚度0.5 厘米,宽度 3厘米。图 1.1 窄道区示意图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 41 页 - - - - - - - - - 6 赛车可以根据上述标志判断是否进入或
13、驶离窄道区。赛道有一个长为 1米的出发区,如图 1.11 所示,计时起始点两边分别有一个长度10厘米黑色计时起始线,赛车前端通过起始线作为比赛计时开始或者结束时刻。图 1.2 起始线示意图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 41 页 - - - - - - - - - 7 1.2 发展现状智能汽车,是一种集环境感知、规划决策、自动行驶等功能于一体的综合系统,集中地应用到自动控制、模式识别、传感器技术、汽车电子、电气、计算机、机械等多个学科,是典型的高新技术综合
14、体,具有重要的军用及民用价值。目前,智能车领域的研究已经能够在具有一定标记的道路上为司机提供辅助驾驶系统甚至实现无人驾驶。这些智能车的设计通常依靠特定道路标记完成识别,通过推理判断模仿人工驾驶进行操作。通常,智能车接受辅助定位系统提供的信息完成路径规划,如由 GPS 等提供的地图,交通拥堵状况,道路条件等信息。第二章系统整体框架2.1 系统框架硬件电路是整个系统的基础,下面是我们的硬件电路原框图:MC9S12XS128 电机驱动模块舵机驱动模块图像采集模块速度采集模块调试模块电源管理模块图2.1 整体框架2.1.0 主要模块:1) MC9S12XS128 处理器:该模块是整个系统的核心和大脑部
15、件,所有的信息都要由它处理,结合该处理器,我们最终自行设计了最小系统板。2) 采集模块:采集模块主要有图像采集和速度采集,经过比较我们最终采用了CMOS 的OV6620 摄像头对图像进行采集。在速度采集方面,我们选用了名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 41 页 - - - - - - - - - 8 YZ30D4S-2NA-200 光电编码器。3) 驱动模块:主要有电机驱动和舵机驱动。我们最初选用的电机驱动是MC33886 并联的方式,经过测试,发现这种方案
16、驱动能力不强,最终我们自行搭建了由场效应管组成的 H桥,效果很好。为了保险起见,我们使用一个稳压芯片给舵机供电。4) 电源模块:主要用到的有5V和6V,5V芯片选择的是 LM2940,6V 芯片选择的是 LM2941。摄像头和单片机,采用分别供电的方式供电。5) 调试模块:调试模块主要用到BDM ,并且为了简化电路,在最小系统板上没有设计串口的接口,只是把线引了出来,做了独立的串口调试模块。2.1.1 工作过程:系统将图像采集模块,速度采集模块采集到的路况信息、速度信息和小车状态信息等送到整个系统的核心部件MC9S12XS128进行分析处理,然后发出相应控制命令输出到执行模块的电机和舵机执行适
17、宜的速度和转向动作,配以BDM 和串口调试,进而实现整个系统的闭环反馈控制。2.2 系统软件系统的软件流程图如图 2.2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 41 页 - - - - - - - - - 9 图2.2 系统流程图首先对系统各部分进行初始化,初始化完毕后对图像进行采集,图像的采集和处理是实时进行的,采集后对图形处理,提取出黑线的位置,然后依照黑线的位置对舵机和电机进行控制。然后不断的重复,就可以让小车顺利的在赛道上行驶。2.3 方案简介在本次比赛
18、中,组委会提供了3种单片机可供选择 MC9S12XS128,MC9S12DG128和9S08AW60 。我们选择了总线频率较高的MC9S12XS128作为主控芯片,并且自己制作了最小系统板。图像采集我们经过对比最终选择了CMOS的OV6620 作为图像采集传感器。将图像采集来后,为了减小干扰,首先我们对整幅进行了二值化,然后利用跟踪边缘算法对黑线进行提取,为了使提取的黑线更加准确我们对提取的黑线进行了中值滤波和限幅滤波。最终使黑线的变化更加平稳。提取出黑线后,我们采用了模糊控制与PD 控制相结合的方式对舵机进行控制,让小S直接冲过去,大 S尽量内切,最大难度的发卡弯沿线通过,对速度的控制我们参
19、考了去年北科大的算法构建了一个二次函数。然后,小车的速度根据前方的路况自动调整。在硬件方面,我们为了使电路更加简化,自己制作了最小系统板,使得单片机,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 41 页 - - - - - - - - - 10 电源,电机驱动等模块集中到了一块最小系统板上。第三章机械结构安装与调整3.1 机械结构的安装机械安装是整个系统中的基础,决定智能汽车在运行过程中的稳定性,因此对机械结构的合理安装就显得非常重要。3.1.0 摄像头的安装摄像头安
20、装主要考虑的问题有:固定摄像头的材料,摄像头的安装位置和摄像头的安装高度。固定材料我们选择了硬度较好而且质量轻的铝合金材料。安装位置刚开始我们把摄像头安装到舵机后面一点,但是发现那样车的盲区很大,为了减小盲区我们就把摄像头固定到了电机前方。同时摄像头的高度过高,重心就提高同时摄像头看的数据就不是太清晰,高度过低的话视野太小。我们进过多次反复的实验最终确定了摄像头镜头离地面的高度为24.2cm 。摄像头的固定如图 3.1 和3.2 所示。图3.1摄像头的固定图3.2 摄像头与车模的固定名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
21、 名师精心整理 - - - - - - - 第 10 页,共 41 页 - - - - - - - - - 11 3.1.1 舵机的安装舵机起着转向的作用,其安装非常重要。如果安装不好就会出现转向不足或者转向左右不对称的问题。车模原始的固定方式是力臂一边长一边短,这样的安装使得车转向左右不对称。为此我们改变舵机的安装方式。将其立起来安装(如图3.3) ,安装的高度也是需要恰当选择的。若安装的太高,灵敏度是提高了,但提供的总扭矩会减小。这个高度我们在实际的调试过程中不断调整,最终的高度如图3.3 所示:需要注意的是,在舵机的转向连杆和前轮连接固定处,需给万用节留一定空隙,跟有利于转向。图3.3舵
22、机安装3.1.2 光电编码器的安装光电编码器安装主要考虑的问题是与齿轮的咬合,太紧会使电机转动吃力并且会发出很大的噪声,太松有时候会丢齿。因此最好使得安装的编码器松紧程度能够调整最好。安装方式如图 3.4 图3.4编码器安装3.1.3 系统板的安装最小系统板是我们依据车身情况定做的,所以安装容易。如图3.5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 41 页 - - - - - - - - - 12 图3.5系统板的安装3.1.3 总体布局经过各个部件的安装车的总
23、体布局如图3.6 和3.7 图3.6正视图 图3.7 侧视图3.2 机械调整车模的前轮可调节的参数比较丰富,前轮定位的作用是保障汽车直线行驶的稳定性,转向轻便和减少轮胎的磨损。前轮是转向轮,由主销内倾、主销后倾、前轮外倾和前轮前束等 4个项目。在刚开始调试的时候中,我们没有重视这几个参数的调节,后来发现这几个参数对赛车直线的稳定性和弯道灵巧性都有很重要的影响。3.2.1 主销内倾主销内倾是指主销装在前轴略向内倾斜的角度,它的作用是使前轮自动回正。角度越大前轮自动回正的作用就越强烈,但转向时也越费力,轮胎磨损增大;反之,角度越小前轮自动回正的作用就越弱。名师资料总结 - - -精品资料欢迎下载
24、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 41 页 - - - - - - - - - 13 3.2.2 主销后倾主销后倾是指主销装在前轴,上端略向后倾斜的角度。它使车辆转弯时产生的离心力所形成的力矩方向与车轮偏转方向相反,迫使车轮偏转后自动恢复到原来的中间位置上。由此,主销后倾角越大,车速越高,前轮稳定性也愈好。我们将车模控制主销后倾的黄色垫片改为 3:1(前3 后1),使其倾角为负 23。这样则可以减小回正力矩的作用,使转向更为灵活,但也会使回正比原来稍慢。3.2.3 前轮外倾角前轮外倾角对汽车的转弯
25、性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。如果前面两个轮子呈现“V”字形则称正倾角,呈现“八”字则称负倾角。如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。3.3.4 前轮前束前轮前束是前轮前端向内倾斜的程度,当两轮的前端距离小后端距离大时为内八字,前端距离大后端距离小为外八字。由于前轮外倾使轮子滚动时类似与圆锥滚动,从而导致两侧车轮向外滚开。但由于拉杆的作用使车轮不可能向外滚开,车轮会出现边滚变向内划的现象,从而增加了轮胎的磨损。前轮外八字与前轮外倾搭配,一方面可以抵消前轮外倾的负作用,另一方面由于赛车前进时车轮由于惯性自然的向内倾
26、斜,外八字可以抵消其向内倾斜的趋势。外八字还可以使转向时靠近弯道内侧的轮胎比靠近弯道外侧的轮胎的转向程度更大,则使内轮胎比外轮胎的转弯半径小,有利与转向。3.3.4 车体重心由于车运行时,重心越低越好,而且重心集中在中后位置最利于转弯。于是我们利用调整底盘高度来调节车的重心。但是由于赛道存在凸起和坡度,重心太低车可能被卡住。为此我们把车底盘高度最终调整为离地面1cm 高。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 41 页 - - - - - - - - - 14
27、第四章硬件电路的设计与实现硬件电路主要包括:电源模块,驱动模块及调试模块。电源模块主要包括单片机电源,编码器电源,摄像头电源,舵机电源等等。驱动模块主要包括电机驱动和舵机驱动。调试模块主要包括BDM 下载和串口的设计。4.1 最小系统板的设计我们采用了组委会提供的 MC9S12XS128芯片作为主控芯片,参考了组委会提供的系统板的原理图,自行设计了最小系统板和外围器件的电路,同时为了尽可能的减小板子的质量和大小,我们没有将串口设计到最小系统板上,而是另外做了一块USB 转串口的电路板。原理图如图4.1 和4.2 图4.1最小系统板原理图图4.2 PCB图引脚功能介绍:PORTB:LED状态指示
28、PORTM: 摄像头数据采集口PORTK: 模式选择口PP1:舵机控制PP2:电机控制口PP3 :电机控制口名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 41 页 - - - - - - - - - 15 TXD0:串口通讯RXD0: 串口通讯4.2 电源模块为了保证各个部件的正常工作,电源的供给是十分重要的,需要对配发的标准车模用蓄电池进行电压调节。单片机系统、摄像头、车速传感器电路等各个电路的工作电压不同,需要想办法来使得电压满足各自的要求,一种方法是利用升压或降
29、压的芯片来达到它们的要求,另一种方法是利用双电源供电的方法,来实现各模块的不同需要,由于电路模块较多,该方案中仍需要升压或降压芯片。实际应用中,我们确定采用升压降压芯片等来实现对各个模块的供电要求。而且,在电路设计中,考虑到由于电机驱动所引起的电源不稳定,在电源输入端,各芯片电源引脚都加入滤波电路。如图4.1 所示电源模块的组成图4.3 电源模块组成框图 1 )5v电源市场上常用的 5v芯片有 LM2940 ,LM7805 ,LM2575 ,LM2596 。其中 LM2940 和LM7805 转换效率低( 40% )输出波纹小 , 而且稳定,对于电源要求比较高的元件适合。LM2575 和LM2
30、596 转换效率高( 75%80%)输出波纹大,可能会让单片机出现重启。所以我们选择前者而 LM2940 比LM7805 压差小,而且更加稳定因此我们最终选择LM2940 作为5v稳压芯片。原理图如图 4.4 所示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 41 页 - - - - - - - - - 16 图4.4 5v 稳压电路原理图同时我们将摄像头编码器等5v电源直接做到了电路板上,这样连接方便,干扰小而且连线也少电路显得整洁。2)6v电源舵机的响应速度与其电
31、源电压有关。因此,为了获得更快的响应速度,舵机的供电采用其工作上限电压 +6V,舵机的工作电压为 4-6v因此,为了稳定起见我们给舵机也做了稳 . 电路,器件选择的是 LM2941.原理图如图 4.5 图4.5 舵机电源 6v 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 41 页 - - - - - - - - - 17 4.2 电机驱动模块最初我们的电机驱动元件选择的是MC33886, 利用MC33886 级联的方式来驱动电机,但是用了一段时间后我们发现,他的驱动
32、能力不强,而且33886发热较严重,成本较高。于是我们自己用场效应管自行搭建了H桥电路,作为电机驱动。图4.6 和4.7 就是一种简单的 H 桥电路,它由 2 个P 型场效应管 Q1 、Q2 与2 个N 型场效应管 Q3 、Q3 组成, P 型管在栅极低电平时导通,高电平时关闭;N 型管在栅极高电平时导通,低电平时关闭,场效应管是电压控制型元件,栅极通过的电流几乎为“零”。正因为这个特点,在连接好下图电路后,控制臂1 置高电平( U=VCC )、控制臂2 置低电平( U=0 )时, Q1 、Q4 关闭,Q2 、Q3 导通,电机左端低电平,右端高电平,所以电流沿箭头方向流动。设为电机正转。图4.
33、6 简单的 H 桥电路控制臂 1 置低电平、控制臂 2 置高电平时, Q2 、Q3 关闭, Q1 、Q4 导通,电机左端高电平,右端低电平,所以电流沿箭头方向流动。设为电机反转。高低名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 41 页 - - - - - - - - - 18 图4.7 简单的 H 桥电路当控制臂 1、2 均为低电平时, Q1 、Q2 导通, Q3 、Q4 关闭,电机两端均为高电平,电机不转;当控制臂 1、2 均为高电平时, Q1 、Q2 关闭, Q
34、3 、Q4 导通,电机两端均为低电平,电机也不转,所以,此电路有一个优点就是无论控制臂状态如何,H 桥都不会出现“共态导通”(短路),很适合我们使用。另外还有 4 个N 型场效应管的 H 桥,原理基本一样,不再赘述。图4.8 是由与非门 CD4011 组成的栅极驱动电路,因为单片机输出电压为05V,而H 桥的控制臂需要 07.2V 电压才能使场效应管完全导通,设PWM1 输入05V 时,11 引脚输出电压为 07.2V,前提是 CD4011 电源电压为 7.2V。故CD4011 仅做“电压放大”之用。低高名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
35、- - - - - - 名师精心整理 - - - - - - - 第 18 页,共 41 页 - - - - - - - - - 19 图4.8 非门CD4011 组成的栅极驱动电路两者结合就是下面的电路图4.9 :图4.9 电机驱动电路使用时单片机 PWM 输出1 路为PWM 方波信号,另一路为高电平(置1)。4.3 摄像头在选择 CCD 还是CMOS摄像头的问题上,我们通过查阅前几届参赛的智能车的技术报告,发现用 CCD 的较多,目前 CCD 型摄像头的分辨率都比较高,图像质量较好,工作电压一般是 9-12V ,但价格昂贵。 COMS有分辨率低的,而且 CMOS的也比较省电,工作电压有的
36、5V就可以,考虑到系统实际总电压是7.2V,我们就选择了一款带有数字和05V 07.2V 模拟同时输出的 CMOS单板摄像头,其图像采集芯片用得是数字摄像头OV6620 ,而没有选择模拟摄像头。其有效像素和分辨率是356*292。模拟的优势比较地明显:便宜,程序有现成的。缺点:消耗MCU 资源,功耗大,取点个数少,需要做 12V的供电模块(最近有队伍说把摄像头上的5V稳压芯片取下来飞飞线就可以直接用 5V供电),外围 . 理电路多,还要 LM1881 。数字的优点就是避免了模拟的缺点。行场同步中断信号有现成的,而且消隐区也十分有规律。可以用示波器对比一下模拟的和数字的,数字的信号非常漂亮,非常
37、稳定。这对于图像采集来说是十分有利的。最终我们选择了数字摄像头OV6620 。OV6620 的管脚分布样子如图 4.10 和4.11所示:图4.10 OV6620管脚分布图图4.11 OV6620像头PIN1-PIN8 灰度信号输出接口 Y0-Y7 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 41 页 - - - - - - - - - 20 PIN11 SCCB 数据接口 SDA PIN12 奇偶场同步信号 FODD PIN13 SCCB 数据时钟 SCL PIN
38、14 行中断信号 HREF PIN16 场中断信号 VSYN PIN18 像素同步信号 PCLK(也叫TCLK) Pin20 工作电压 5V Pin22 工作电压 5V Pin21 工作电压 0V PIN32 模拟信号输出接口 VTO 4.4 速度传感器要使车能够快速稳定的运行,并且很好的实现加速和减速,速度控制就是很重要的,所以我们就需要精确的测得车的速度,要选择较好的速度传感器。速度采集有多种方案。方案一:采用霍尔传感器和磁钢。将霍尔传感器和磁钢分别安装在车架和车轴的适当位置,小车行驶时,每转动一圈,霍尔传感器产生开关信号,通过在单位时间对其计数可计算出车辆行驶的瞬时速度,累计开关信号可计
39、算出小车行驶的距离。但是这种方法要求在轴上嵌入磁钢,实现复杂,并且不可能放太多磁钢所以精度不高。方案二:采用红外对管和编码盘。将一个带有孔的编码盘固定在转轴上,然后由红外对管检测编码盘的孔对红外线的阻通。他的精度不高,而且制作较为困难,但是成本低。方案三:采用光电编码器。光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,其原理
40、示意图如图1 所示;通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。这种测量方法方便简单可靠,是在高速车辆的很好选择。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 41 页 - - - - - - - - - 21 最终我们选择了 200 线的光电编码器,型号为 YZ30D4S-2NA-200 。我们通过脉冲计数的方法来实现对小车速度的检测:在靠近小车右轮的轴上装光电编码器,这样当小车前进,车轮转动时,光电编码器跟随车轮同步转动,当一个黑色脉冲被摄像头检
41、测到时,速度传感器的输出就变为高电平,产生脉冲,送给单片机的ECT 模块, ECT 模块捕捉脉冲信号并对其进行计数,同样的,当白色被检测到时,也产生一脉冲,送以单片机计数,在一特定时间内(20ms ,即摄像头采集一帧图像的时间)读出脉冲总数,将该总数除以车轮转动一圈移过的脉冲数目,便可以计算出车轮的转动圈数,再乘以车轮周长,得到行驶路程,再除以计数时间,最后得到小车的速度。假设 N为一个采样周期 T内ECT 模块记录的脉冲个数, T为采样周期(单位为 s),l 为小车后轮周长, s为小车前进距离, v为小车的速度, n为光电编码器转过的圈数,此光电编码器上有 200个齿,后轮上的装有的黑色减速
42、器的齿轮为74。则: 13 74 200 N n = (1) 又由S = l n (2) 即有T V S = (3) 经过测量,小车后轮周长l=157mm ,而采样周期 T=20ms ,从而速度为:v = 0.223423N (m/s) 4.5 串口和模式选择因为我们将所有元件集中都一块最小系统板上,所以我们要尽量的减少元件数量,和元件的占用板子的面积。所以我们没有用通用的那种9针的串口,而是做了 USB 转串口的串口,如图 4.12. 同时模式选择我们直接用跳线来选择,如图4.13 图4.12 串口 图4.13 模式选择名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
43、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 41 页 - - - - - - - - - 22 第五章软件系统设计与实现5.1 HCS12控制软件主要理论智能车开发环境采用了飞思卡尔HCS12 系列单片机开发软件 CodeWarrior 。该软件具有支持多种语言、开发环境界面统一、交叉平台开发以及支持插件工具等特点。在CodeWarrior 界面完成编译后,通过BDM FOR S12 工具, 在CodeWarrior 环境下向MC9S12XS128模块下载程序。 BDM FOR S12 工具使用简单,十分方便。本设计我们采用C 语言进行
44、编程。5.2 软件各功能模块设计5.2.1 时钟模块时钟基本脉冲是 CPU 工作的基础。 MC9S12XS128微控制器的系统时钟信号,由时钟振荡电路或专用时序脉冲信号提供。MCU 内部的所有时钟信号都来源于EXTAL 引脚,也为MCU 与其他外接芯片之间的通信提供了可靠的同步时钟信号。S12的总线时钟是整个 MCU 系统的定时基准和工作同步脉冲,其频率固定为晶体频率的1/2。对于S12,可以利用寄存器 SYNR 、REFDV 来改变晶振频率 fOSCCLK ,可以选用 8MHz 或16MHz 外部晶体振荡器作外时钟。将SYNR 设为3,REFDV 设为1,可以得到 32MHz 的总线频率。而
45、锁相环产生的时钟频率fPLLCLK=2*fOSCCLK*(SYNR+1)/(REFDV+1),设计中我们将名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 41 页 - - - - - - - - - 23 SYNR 设为3,REFDV 设为1,因此,总线时钟为 32MHz ,CPU 工作频率为 64MHz 。5.2.2 PWM 输出模块MC9S12XS128集成了 8路8位独立 PWM通道,通过相应设置可变成 4个16位PWM通道,每个通道都有专用的计数器,PWM输出极
46、性和对齐方式可选择,8个通道分成两组,共有 4 个时钟源控制。 PWM0、PWM1、PWM4、PWM5为一组,使用时钟源 Clock A和Clock SA ;PWM2、PWM3、PWM6、PWM7构成另一组,使用时钟源 Clock B 和Clock SB。Clock A 和Clock B 均是由总线时钟经过分频后得到,分频范围 1128,通过寄存器 PWMPRCLK来设置,Clock SA 和Clock SB是分别通过 Clock A 和Clock B 进一步分频后得到的,分频范围为1512,分别通过寄存器 PWMSCLA和PWMSCLB来设置,计算公式为:Clock SA=Clock A/
47、(2*PWMSCLA)Clock SB=Clock B/ (2*PWMSCLB)通过寄存器 PWME来控制 PWM0PWM7的启动或关闭。为了提高精度,我们将PWM0和PWM1,构成 16位的PWM通道,级联时, 2个通道的常数寄存器和计数器均连接成16位的寄存器, 3 个16位通道的输出分别使用通道7、3、1的输出引脚,时钟源分别由通道7、3、1的时钟选择控制位决定。级联时,通道7、3、1的引脚变成 PWM输出引脚,通道 6、2、0的时钟选择没有意义。通过寄存器 PWMPRCLK、PWMSCLA、PWMSCLB、PWMCLK对各通道的时钟源进行设置。通过寄存器 PWMPRCLK、PWMSCL
48、A、PWMSCLB、PWMCLK对各通道的时钟源进行设置。PWM模块的初始化设置过程如下所示:void extern PWM_Init(void) PWME = 0 x00; /pwm禁止PWMCTL = 0 x10; / 通道0,1级联,形成 16位pwm 通道PWMPRCLK = 0 x00; /clock A,B 分频值为总线时钟的 0分频,40MHz PWMSCLA = 5; /clock SA 的频率为 4MHz PWMSCLB = 10; /clock SB 的频率为 2MHz PWMCLK = 0 x0FF; /时钟来源选择 clock SA clock SB PWMPOL =
49、0 x0FF; /在周期开始时, PWM所有通道输出高电平PWMCAE = 0 x00; /所有PWM通道输出左对齐名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 41 页 - - - - - - - - - 24 PWMPER01 = 40000; /PTP1 输出频率 100Hz PWMDTY01 = 6000; /通道1占空比 0.075 右极限 7200 左极限 4700 PWMPER2 = 200; /*PTP1 输出频率 10000Hz*/ PWMDTY2
50、= 88; /*通道1占空比 0.1*/ PWME = 0 x06; /PWM1.2输出5.2.3 ECT 模块S12得ECT 具有8个输入( IC)/ 输出(OC)比较通道,可以通过设置TIOS寄存器选择输入或输出比较功能。 ECT 既可以作为一个时基定时产生中断,也可以用来产生控制信号。模数递减计数器( MDC )是S12微控制器 ECT 特有,它是一个 16位计数器,其外围配备了常数寄存器 MCCNT和控制寄存器 MCCTL ,分别为 MDC 提供定时常数和时钟信号。通过寄存器 TCTL4 设定各个引脚的各种动作,初始化设置过程如下所示:/ 定时器初始化void extern vECTI