收藏 分销(赏)

飞思卡尔智能小车控制系统设计毕业设计.doc

上传人:可**** 文档编号:2959998 上传时间:2024-06-12 格式:DOC 页数:51 大小:4.19MB
下载 相关 举报
飞思卡尔智能小车控制系统设计毕业设计.doc_第1页
第1页 / 共51页
飞思卡尔智能小车控制系统设计毕业设计.doc_第2页
第2页 / 共51页
飞思卡尔智能小车控制系统设计毕业设计.doc_第3页
第3页 / 共51页
飞思卡尔智能小车控制系统设计毕业设计.doc_第4页
第4页 / 共51页
飞思卡尔智能小车控制系统设计毕业设计.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、 本科毕业设计飞思卡尔智能小车控制系统设计指导教师 级实验师摘 要本文以智能小车竞赛为背景,阐述了研究本课题的意义,开发了一种高性能的智能小车车控制系统。本智能小车以飞思卡尔公司的16位单片机MC9S12XS128B为核心控制器,利用CMOS视频传感器采集路况信息,配合速度传感器、电机、舵机、电池等组成的电路进行信息处理,以达到路径识别的目的,控制模型车高速稳定地在跑道上行驶。智能小车系统是一个时变且非线性的系统,采用传统PID算法的单一的反馈控制会使系统存在不同程度的超调和振荡现象,无法得到理想的控制效果。本文将前馈控制引入到了智能小车系统的控制中,有效地改善了系统的实时性,提高了系统的反应

2、速度;并且根据智能小车系统的特点,对数字PID算法进行了改进,引入了比例参数自动调节的方法,改善了系统的动态特性;同时,本文将bang-bang算法与PID算法相结合,有效地提高了智能小车的适应性和鲁棒性,改善了系统的控制性能。硬件电路部分主要包括用半桥芯片BTS7970B搭建的全桥电机驱动电路、用TPS7350和LM1117作为核心芯片的稳压电路以及用E6A2-CS3C编码器构成的测速部分。软件系统部分主要包括与路径识别系统相关模块的算法。利用开发工具CodeWarrior进行编程开发,用BDM进行程序下载,利用串口传输的数据进行在线调试。本文基本实现了路径识别的功能,在实际的测试中,小车能

3、够较好的完成循线行驶的任务。关键词:智能小车 控制系统 PID算法 循线行驶The design of Freescale smart car control systemCai Jianbin(College of Engineering, South China Agricultural University, Guangzhou 510642, China)Abstract: Based on the smart car competition as a background, elaborated on the significance of this thesis, the cont

4、rol system is developed for intelligent car high performance. The smart car use the Freescale companys 16 bit microcontroller MC9S12XS128B as the core controller, using CMOS video sensors to collect traffic information, with the circuit speed sensor, motor, servo motor, battery, information processi

5、ng, in order to achieve the purpose of path identification, control the smart car speed and stable on the runway running. The smart car system is a system with time-varying and nonlinear, the traditional PID algorithm of single feedback control can make the system overshoot and oscillation phenomeno

6、n in different degree, could not get ideal control effect. In this paper, the feedforward control is introduced to control the smart car system, effectively improve the real-time performance of the system, improving the reaction speed of the system; and according to the characteristics of the smart

7、car system, the digital PID algorithm is improved, the proportion parameter method is automatically adjusted, to improve the dynamic characteristics of the system; at the same time in this paper, the bang-bang algorithm combined with PID algorithm, can effectively improve the adaptability and robust

8、ness of the smart car, improve the performance of the control system.The hardware includes, full-bridge motor is built with a half-bridge BTS7970B chip drive circuit, using TPS7350 and LM1117 as stabilizing circuit core chip and composed of E6A2-CS3C encoder speed part.The software system includes t

9、he path recognition module algorithm. This system makes use of the development tools of CodeWarrior programming, to download program with BDM, the online debugging using the serial transmission of data. The system achieves the basic path identification function, in the actual test, the car is good t

10、o complete inspection driving task.Key words: smart car control system PID algorithm running on the runway目 录1 前言11.1 课题的目的和意义11.2 国内外研究现状11.2.1 国外研究现状11.2.2 国内研究现状32 智能小车控制系统方案的设计与实现42.1小车的总体方案设计思路42.2小车控制系统模型分析62.3小车控制算法的设计82.3.1 离散式PID控制方法82.3.2 模糊控制方法92.3.3 赛道记忆方式93 控制算法仿真与开发环境103.1 主控芯片MC9S12XS

11、128简介103.2 最小系统板简介113.3 功能模块简介123.4 开发软件简介133.5 BDM调试器的使用133.5.1 Hiwave初始化参数设置133.5.2 程序下载153.5.3 程序调试174 功能模块的设计原理与流程图174.1 路径识别模块184.2 PID控制算法介绍194.2.1 位置式PID控制算法204.2.2 增量式PID控制算法214.2.3 PID参数整定214.3 舵机转向控制224.4 速度的闭环控制234.4.1 闭环速度控制234.4.2 驱动电机的PID控制算法234.4.3 刹车功能的实现245 电机驱动模块与速度反馈模块255.1 电机驱动模块

12、方案的对比与选择255.1.1 MOSFET组成的半桥驱动255.1.2 MOSFET组成的全桥驱动265.1.3 BTS7970B组成的全桥驱动265.2 电机驱动模块的详细设计275.2.1 电机驱动芯片BT7970B简介275.2.2 隔离芯片74LS244B简介285.2.3 基于BTS7970B的电机驱动模块295.3 速度检测模块方案的对比与选择305.4 速度检测模块的详细设计315.4.1 欧姆龙E6A2编码盘简介315.4.2 编码盘的安装和使用方式326 模块调试及开发软件的使用与调试336.1 模块调试336.1.1 PWM模块调试336.1.2 无线模块调试346.1.

13、3 总体调试356.2 开发软件的使用与调试356.2.1 开发软件的使用356.2.2 调试过程357 总结36参 考 文 献37附 录38致 谢46 毕业设计成绩评定表II1 前言1.1 课题的目的和意义本课题的是基于全国大学生飞思卡尔智能车竞赛的背景,该竞赛是教育部举办的五大赛事之一,其主要目的是加强大学生实践、创新能力和团队精神的培养。本文结合实际研发一套使智能小车高速而稳定地循线行驶的高性能智能小车控制系统。1.2 国内外研究现状1.2.1 国外研究现状美欧等发达国家从20世纪70年代开始进行无人驾驶汽车的研究,大致可以分为二个阶段:军事用途、高速公路环境和城市环境。在军事用途方面,

14、早在80年代初期,美国国防部就大规模资助自主陆地车辆ALV (Autonomous LandVehicle)的研究。进入21世纪,为促进无人驾驶车辆的研发,美国国防部高级研究项目局(DARPA) 从2004年起开始举办机器车挑战大赛(Grand Challenge)。该大赛对促进智能车辆技术交流与创新起到很大激励作用。在2005年的第二届比赛中,主办方只在赛前2小时提供一张光盘,上面提供了比赛路线上2935个“路点”的方位与海拔等详细资料。整个赛道有急转弯、隧道、路口还有山路,比赛要求参赛车辆能够自主完成全部路程。最终斯坦福大学的“斯坦利”,获得了第1名。具有6个奔腾M处理器的电脑完成“斯坦利

15、”的所有程序的处理。车辆移动时,4个激光传感器、一个雷达系统、一组立体摄像头和一个单眼视觉系统感知周围的环境。图1 “斯坦利”行驶图2006年德国举办了欧洲陆地机器人竞赛(European Land Robot Trial,简称(ELROB),德国的参赛车“途锐”取得了冠军。该车通过影像处理寻找道路,周围景物被处理成3D影像。该车由光学定向与测距系统对收集的信息进行导航决策,分析哪里是行人哪里是树木。“途锐”自主行驶了90%的赛程,不过在通过关键十字路口时还是靠手动驾驶。图2 “途锐”行驶图韩国大学生智能模型车竞赛是韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办的以 HCS12单片机

16、为核心的大学生课外科技竞赛。随着赛事的逐年开展,将不仅有助于大学生自主创新能力的提高,对于高校相关学科领域学术水平的提升也有一定帮助,最终将有助于汽车企业的自主创新,得到企业的认可。这项赛事在韩国的成功可以证明这一点。 2000年智能车比赛首先由韩国汉阳大学承办开展起来,每年全韩国大约有100余支大学生队伍报名并准予参赛,至今已举办多届,得到了众多高校和大学生的欢迎,也逐渐得到了企业界的极大关注。韩国现代公司自2004年开始免费捐赠了一辆轿车作为赛事的特等奖项。德国宝马公司也提供了不菲的资助,邀请3名获奖学生到德国宝马公司研究所访问,2005年SUNMOON大学的参赛者获得了这一殊荣,图3为他

17、们设计的智能车模型(黄开胜,金华民,蒋狄南,2006)。电源部encoder 部电机部传 感 器 部图3 SUNMOON大学的智能车1.2.2 国内研究现状在国内已经成功地举办过七次飞思卡尔杯全国大学生智能汽车竞赛。参加竞赛的赛车均以飞思卡尔的汽车用16位微控制器(第七届开始可以用32位)作为智能模型车之主控芯片,开发软件可以选择CodeWarrior 5.0,比赛赛道具备基本参数限制。比赛计时由电子计时器完成并实时在屏幕显示,最终成绩取决于赛车最快单圈时间、技术报告评分以及赛车冲出赛道次数的综合评判。 此次大赛由作为全球最大汽车电子半导体供应商的飞思卡尔半导体全程赞助。无论从参赛队伍中的大学

18、生们学习、研制参赛权过程的感受,还是指导老师和各参赛队伍的反应来看,该次赛事取得了圆满的成功,达到了预期的目的。为此,在以后的几年内将连续举办类似的比赛像今年的“第八届飞思卡尔杯全国大学生智能车竞赛” 以进一步的扩大该赛事的影响。图4 第七届飞思卡尔智能车大赛光电组小车图5 第五届飞思卡尔智能车大赛摄像头组小车图6 第七届飞思卡尔智能车大赛电磁组小车2 智能小车控制系统方案的设计与实现智能小车控制系统既要满足随动系统要求,也要满足恒值调节系统要求。所以要先对智能小车的模型和控制算法进行正确分析设计(张鹏,徐怡,任亚楠,2008)。2.1小车的总体方案设计思路本文智能车系统采用飞思卡尔16位单片

19、机MC9S12XS128为核心控制单元,由采用摄像头检测技术的道路识别模块和速度检测模块负责采集信号,并将采集到的电平信号送入核心控制单元MCU,核心控制单元对信号进行处理后,通过单片机端口发出PWM信号波,通过输出不同占空比分别对转向舵机、直流电机进行驱动控制,完成控制智能车的方向与速度。为了使智能车能够快速平稳沿着赛道行驶,除了控制前轮转向舵机外,还需要控制车速,使智能车载机转弯时的速度不要过快而冲出跑道,所以要采用速度检测,对智能车进行闭环反馈控制。单片机必须把路径的判断、相应的转向伺服电机控制以及直流驱动电机的控制精密地结合在一起。不论是传感器部分数据的错误采集和识别,还是转向伺服电机

20、控制的失当,都会造成模型车严重抖动甚至偏离赛道;如果直流电机的驱动控制效果不好,还会造成直线路段速度上不去,或弯曲路段入弯速度过快而使智能车冲出赛道等问题(张建强,庄可佳,方程,2009;孙嘉,孙凯,周璐,2010)。本文智能小车系统总体结构图如图7所示。MCUMC9S12XS128路径识别摄像头检测模块速度检测模块电源管理模块调试接口直流电机电机驱动模块舵机模块图7 小车系统总体结构图从系统总体结构框图可以知道系统由以下几个部分组成。(1)中央处理器单元中央处理器采用MC9S12XS128芯片,以运算速度很快的CPU12内核为核心的单片机,经过锁相环后,时钟频率可达到64MHz,内部Flas

21、h高至128KB,拥有2组各8路10位A/D、16路I/O口,有功能强大的8位PWM输出共8路,以及8路16位增强型定时器(ECT)。该单片机功能强大,完全能够胜任小车的检测和控制功能。(2)道路识别模块道路检测模块用于完成赛道相对智能车的偏移量、方向、曲率等信息的采集,通过连接线把信息传送给中央控制单元,使智能车沿着跑道轨迹稳定前行,获取更多、更远、更精确的赛道信息是提高智能车运行速度的关键。(3)电源模块为各个电路模块提供稳定电源,可靠的电源方案是整个电路稳定运行的基础,电源模块包含多个稳压电路,将充电电池电压转换成各模块所需要的电压。(4)舵机驱动模块对模型车上的舵机进行驱动,达到快速准

22、确控制赛车方向。(5)电机驱动模块通过电机驱动模块,控制驱动电机两端电压可以使模型车加速运行,也对模型车进行制动。(6)速度检测模块通过速度检测模块对模型车的速度进行检测,实现闭环控制,以便调整弯道和直道的速度,从而提高平均速度,使小车能够平稳快速的跑完全程。智能车的工作模式是:摄像头探测赛道信息,转速传感器检测当前车速,并将这些信息输入单片机进行处理。通过控制算法对赛车发出控制命令,通过转向舵机和驱动电机对赛车的运动轨迹和速度进行实时控制。2.2小车控制系统模型分析智能车系统根据检测到的路况和车速的当前信息,控制转向舵机和直流驱动电机,相应地调整小车的行驶方向和速度;最终的目的是使智能车能快

23、速、稳定地按给定的黑色引导线行驶(卓晴,黄开生,邵贝贝,2007)。 小车在行驶过程中会遇到以下两种路况:(1)当小车由直道高速进入弯道时,转角方向和车速应根据弯道的曲率迅速做出相应的改变,原则是弯道曲率越大则方向变化角度越大,车速越低。弯道策略图如图8所示。(2)当小车遇到十字交叉路段或是脱离轨迹等特殊情况时,智能车应当保持与上次正常情况一致的方向行驶,速度则相应降低。因此,对智能车的设计,要求具有实时路径检测功能和良好的调速功能。十字交叉段如图9所示。智能车路径识别的关键在于快速地判断弯道并快速、准确地响应。智能车行进过程中,从长直道进入连续弯道时,由于曲率变化很小,此时转速的设定值较大,

24、加之舵机响应时间的限制,智能车极易脱离轨迹。采用加长转臂的舵机及合理的路径搜索算法,可以增强智能车对轨迹的跟随性能。高速区低速区中速区高速区图8 弯道策略图 图9 十字交叉段本文主要设计了一个智能车控制系统,实现了快速自动寻迹功能。在硬件上,该系统采用MC9S12XS128单片机为控制核心,车速检测模块、舵机控制模块及直流驱动电机控制模块的工作;在控制算法上,采用PID控制算法实现对智能车的舵机转角和电机转速的控制。此外,系统还完成了对加长转臂舵机的控制,实现了转向伺服电机与车速的配合控制。控制模型车的转向和速度,使其能够跟随道路的变化来运行。实现这一目标有两个难点:一是各种外界干扰因素作用于

25、系统,影响被控对象偏离控制规律,例如道路变化,检测信号的噪声和电池电压不稳等;二是控制对象车模本身的惰性使得被控量变化不能够灵活自如。为此,需要分析外部扰动以及控制对象的动态特性。模型车控制系统一般可看作随动系统,使得模型车跟随道路的变化而运行,另一方面,模型车在走直线或蛇形线时,也可以看作一个恒值调节系统,能够跟随道路变化而更加平稳快速的运行。在设计控制算法时,要既能满足跟随系统的动态特性,同时又能满足恒值调节的稳定特性。建立起模型车运动力学模型进行分析过于复杂。为了抓住问题的主要矛盾,需要将模型车的运动规律进行简化。首先,当模型车近似沿着道路中心线运行时,改变舵机输出转角即可改变模型车前轮

26、转向,并改变模型车与道路中心线的相对位置,位置的改变量近似等于舵机输出转角的随着距离的积分。 (2.1)其中:d(l)是模型车与道路中心线的偏移量;k是系数;A()为舵机输出转角;X为前轮转向角度改变量与舵机输出角度改变量之比。从上面简化的车模运动模型可以看出,车模与赛道中心线的相对位置是舵机输出转角的积分。为此,最简单的控制规律可以采用比例负反馈控制,即P控制,使得舵机输出角的大小正比于模型车与道路位置偏移量,且方向相反。合理选择比例值的大小即可达到恒值无偏差调节,同时又可以将跟随调节的动态误差减小到足够小,满足小车稳定运行的要求。通过上述分析可知仅仅控制模型车以最快的速度运行是不可以的。其

27、主要的因素是小车本身的控制惰性,这个惰性主要来源于控制模型车的前轮转向的舵机。由于舵机输出给定角度需要一定的时间延迟,它正比于旋转角度的大小。该时间延迟使得模型车的动态性能变差,甚至使得模型车冲出跑道,该特性在设计算法时应该特别重视。2.3小车控制算法的设计依靠简化的模型,尽量采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现,满足各项的要求。系统的控制方法在具体的算法上,还有许多具体的形式。2.3.1 离散式PID控制方法单片机实现PID控制,它是一个离散时间控制系统,其参数可以通过实验确定,也可采用自整定PID调节算法。PID控制器本身是一种基于过去,现在和将来对信息

28、进行估计的简单控制法。该算法实际是一个非线性控制器,它是根据偏差,将偏差按比例,积分和微分通过线性组合构成控制量,对被控对象进行控制。根据PID控制器的原理得知,PID控制器的主要作用是平稳的消除系统产生的偏差。根据赛车的数学模型,就需要控制舵机将黑线平滑的控制在车的中央。换言之,当黑线不在赛车中央的时候,赛车即产生了一个水平偏差,此时应用PID控制算法来消除这个水平偏差,从而达到让黑线保持在赛车中央的目的。积分作用可以消除静差,但积分器可使动态响应变慢,这对于对实时性要求非常高的小车控制系统来说不适合使用,因此本文没有使用积分控制,将PID控制简化为PD控制。2.3.2 模糊控制方法离散式增

29、量PID控制方法是基于模型车简化运动模型基础上,并假设模型车的位置与方向都接近跑道中心线的情况下提出的。模糊控制算法可以看成分段线性化的控制策略。它无需知道被控对象的精确模型,也不必考虑对象的模型过于复杂。它的控制规律是以前人的经验总结出来的条件语句表示,容易设计掌握,对于被控对象的参数变化有很强的鲁棒性。2.3.3 赛道记忆方式由于比赛规则要求车辆在跑道上行驶两圈,因此车辆第一圈时通过记录转速传感器采集到的脉冲数、转向舵机的转角等信息,来判断区分直道、弯道、S弯道以及转弯的方向与转弯半径等等信息。根据第一圈记录的数据信息,可以对第二圈的各个道路点进行分段处理。直道上采用最高速加速,在进入弯道

30、之前提前进行减速,减至过弯的极限最高车速,对于不同半径的弯道,选择不同的车速。路径记忆算法的优势在于对于复杂的S弯道,可以实现类似CCD探测头达到的效果,选用小的转向角度通过,这样可以大大缩短时间。但是由于赛道信息在比赛前是不公布的,而且现在比赛的赛道越来越复杂,因此采用赛道记忆算法存在很大的风险,一旦出现差池,如赛道材质与预赛稍有不同、连续弯道要求极限过弯车速降低、多个十字赛道交叉等因素影响,赛车可能出现冲出跑道的问题。通过对比以上三种方式的对比,本文首先排除第三种方式,因为由于环境的不同,比如赛道的质量的变化,会大大增加算法的风险。在模糊算法与PID算法中,本文最后选取的是PID算法,虽然

31、模糊算法是一种很好的算法,正如上文所述,但是模糊算法需要较多的时间来调试和总结,才能达到理想的效果。所以最终决定用PID算法,并且本文在PID算法中加入了bang-bang算法,使得该算法的鲁棒性更好,性能更佳。3 控制算法仿真与开发环境智能小车采用MC9S12XS128芯片作为核心控制单元,该芯片为16位单片机拥有丰富的资源,包括CAN通讯口、BDLC模块、PWM模块、ATD模块、电源管理模块、BDM模块等。其中,电源管理模块是该系列单片机的一个特色,按照需求通过该模块可以为每个模块单独的供电,或可以关掉,以节约电源;同时该单片机的指令是流水线操作执行速度特别的快,其指令执行时间与总线的字周

32、期几乎相等。在程序的开发过程中使用的是CodeWarrior5.0 for HCS12软件。该软件是面向以HC12或S12为CPU的单片机嵌入式应用开发软件包。包括集成开发环境IDE,处理器专家库、全芯片仿真、可视化参数显示工具、项目管理器、C交叉编译器、汇编器、连接器及调试器等。在CodeWarrior 软件中可以使用汇编语言或C 语言,以及两种语言的混合模式。3.1 主控芯片MC9S12XS128简介Freescale公司的16位单片机主要分为HC12、HCS12、HCS12X三个系列。HC12核心是16位高速CPU12核,总线速度8MHZ;HCS12系列单片机以速度更快的CPU12内核为

33、核心,简称S12系列,典型的S12总线速度可以达到25MHZ(清华大学Freescale MCU/DSP应用开发研究中心,2010)。HCS12X系列单片机是Freescale 公司于2005年推出的HCS12系列增强型产品,基于S12 CPU内核,可以达到25MHz的HCS12的2-5倍性能。总线频率最高可达40 MHz。S12X系列单片机目前又有几个子系列:MC9S12XA系列、MC9S12XB系列、MC9S12XD系列、MC9S12XE系列、MC9S12XF系列、MC9S12XH系列和MC9S12XS系列。MC9S12XS128就是S12X系列中的一个成员。大赛组委会所提供了MC9S12

34、XS128开发板,微控制器MC9S12XS12816可以工作在单片方式,也可以通过总线扩展存储空间和增加I/O接口电路芯片,工作在扩展方式。地址总线20位,数据总线16位或8位,地址和数据总线占用3个8位并行I/O接口,在单片方式下这24位可做普通I/O接口用。MC9S12XS128有两个8路10位精度A/D转换器。MC9S12XS128的脉宽调制模块(PWM)可设置成4路8位或者2路16位,逻辑时钟选择频率。MC9S12XS128的串行接口有以下三种。(1)两个异步串行通信接口模块SCI;(2)一个I2C总线接口;(3)一个同步串行外设接口SPI。MC9S12XS128有2个具有位输入信号沿

35、产生中断、唤醒CPU功能的8位并行口,即16个位输入通道,这16位也可以设为输出。 S12 CPU128KB FLASH2个8路10位ADC增强型8路16位定时器8位8路/16位4路PWM2个SCI口3个SPI口I2CJ1850通信口最多5个增强型CAN总线接口5N变2.5V电压调整器12KB RAM4KB EEPROM16位键盘唤醒IRQ I/O口图10 MC9S12XS128B单片机结构组成3.2 最小系统板简介以MC9S12XS128芯片为核心的最小系统主要包括以下几部分:时钟电路、BDM接口、供电电路、复位电路和调试用LED灯。最小系统板图如图11所示。各部分的功能分别如下。(1)时钟

36、电路时钟电路为单片机提供一个外接的16HZ的石英晶振。标准的MC9S12XS128单片机的时钟电路,通过把一个16HZ的外部晶振接到单片机的外部晶振输入接口EXTAL和XTAL上,让后利用MC9S12XS128内部的压控振荡器(VCO)和锁相环(PLL)把这个频率提高到25HZ,使之作为单片机工作的内部总线时钟。(2)BDM接口BDM接口允许用户通过该接口向单片机下载和调试程序。BDM接口是连接BDM调试工具的,其中BDMIN接口是接BDM调试工具,向MC9S12单片机下载程序使用的。BDMOUT接口是当开发上的应用程序为BDM调试器程序时,此接口可以用做BDM调试器的输出口。(3)电源电路H

37、CS12单片机的芯片内部使用3V电压,而I/O端口和外部供电电压为5V。通常需要采用滤波电路改善系统的电磁兼容性,降低系统对电源的高频干扰。(4)复位电路复位电路是通过一个复位芯片给单片机一个复位信号。复位电路的作用是产生一个低电压信号给MC9S12XS128的RESET端,使系统上电启动。通常使用低电压复位芯片MC34064,使上电复位更加可靠。在系统目标板上通常添加一个手动复位按钮,方便调试。(5)调试用LED灯调试用LED灯和单片机的PORTK口相连,供程序调试使用。图11 最小系统板图3.3 功能模块简介PWM(Pulse Width Modulate)模块:PWM调制波有8个输出通道

38、,每个通道都可以独立的进行输出。每个输出通道都有一个精确的计数器、一个周期控制寄存器和两个可供选择的时钟源。每个PWM输出通道都能调制出占空比从0100%变化的波形。PWM脉宽调制波是一种可用程序来控制波形占空比、周期、相位的波形。它在电机驱动、D/A变换等场合有着广泛的应用。在要求精度不高的情况下,PWM波可以用作D/A转换,最简单的方法就是在PWM输出口加入一个低通滤波,可以将PWM波转换成相应的模拟量。本次大赛使用的电机驱动芯片为BTS7970B,其输入信号即为一路PWM信号。BTS7970B根据PWM信号的周期和占空比来控制电机的转向和速度。大奖赛中使用的舵机也是用PWM来控制的。PW

39、M信号的周期大于某一阈值后可驱动舵机工作,保持周期、调节PWM的占空比即可调节舵机的转动方向。在没有电机、舵机的具体参数的情况下,可写一个可调周期、占空比的PWM输出程序进行测试。3.4 开发软件简介在程序的开发过程中使用的是CodeWarrior5.0 for HCS12软件。该软件包括集成开发环境IDE,处理器专家库、全芯片仿真、可视化参数显示工具、项目管理器、C交叉编译器、汇编器、连接器及调试器等(hunter_xiaobao,2012)。在CodeWarrior 软件中可以使用汇编语言或C 语言,以及两种语言的混合模式。Corewarrior IDE是Metrowerks为其DSP和微

40、处理芯片所推出的专用可视化集成开发环境,功能强大,除了能编译代码外还具有芯片仿真等功能。3.5 BDM调试器的使用3.5.1 Hiwave初始化参数设置(1)在开发环境安装目录的prog文件夹下可以找到名为Hiwave.exe的图标,双击它即可打开调试软件。Hiwave程序启动如图12所示。图12 Hiwave.exe 程序启动界面(2)安装BDM for S12(TBDML)的驱动程序。将BDM调试器与计算机相连,此时系统会提示安装相应的驱动程序,选择配套光盘目录下2-TBDML DLL Driver文件夹下的bin_tbdml_win_driver_11文件夹即可完成驱动的安装。在右下角命

41、令窗口中输入set gdi命令,同样要添加光盘2-TBDML DLL Driver文件夹下的bin_tbdml_gdi_dll_11文件,添加完确认后会提示设置相关参数,如图13所以应将晶振频率设置为16.00(M)。然后选择OK,设置完成该项参数。(3)选择BDM接口标准,如图14所示,Hiwave.exe程序的【Component】菜单中【Set Target】选项。(4)安装选择目标板S12单片机型号。将BDM与单片机连接,回车确认后有提示选择相应型号的单片机,在此选择MC9S12XS128,单击OK。也可以通过单击【TBDML HCS12】菜单的【Select Derivative】实

42、现。如图15所示。至此完成了所有基本参数的设置。图13 Hiwave调试环境设置图14 Hiwave选择BDM接口标准图15 选择目标单片机型号3.5.2 程序下载BDM连接成功之后,就可以向单片机下载程序了。下载程序之前必须通过Hiwave对单片机进行复位,否则会使Flash擦除不成功,甚至导致Flash保护等错误。复位可以通过选择TBDML HCS12|Reset菜单命令或者单击工具栏的快捷图标来实现。复位后单片机程序停止运行,选择TBDML HCS12菜单中Flash命令打开如图16所示内存擦写窗口,先选中后三行内存进行擦除(Erase),擦除之后下载(Load)新程序即可。单击Make

43、后如无错误,可单击Debug,出现对话框单击OK进行下载,出现如图17和图16所示,下载成功。图16 程序擦写窗口图17 Debug操作执行成功图18 Unsecure操作成功3.5.3 程序调试Hiwave 具有丰富的调试功能,在本车的调试过程中配合电视机的使用几乎不需要使用别的上位机软件。现对其各窗口功能作简单介绍如下。 Source:查看所下载的代码,并具有设置断点,单步调试等功能。二者相互结合能很快的找出程序里的BUG。 Data1:显示程序中的静态变量。在对摄像头的调试中,能查看所有采集点的对应数值,从而找出对应的黑线位置。 Assembly:显示汇编代码。 Registers:显示

44、当前寄存器的值。 Memory:显示内存数值。 Command:命令行,具体的命令可以键入help查看。4 功能模块的设计原理与流程图本文的控制方案是根据路径识别模块和车速检测模块所获得的当前路径和车速信息,控制舵机和直流驱动电机动作,从而调整智能车的行驶方向和速度。在主循环体中通过调用位置识别和控制策略程序,及时地调整舵机以及后轮驱动的输出,最终达到使小车中心沿着黑线行走的目的。主程序和中断子程序框图分别如图19所示和图20所示。系统初始化检测道路信息计算智能车位置智能车速度控制智能车方向控制输出开始图19 程序框图中断开始 保护现场采样滤波是否有效?储存数据重置标志位恢复现场中断返回否是图

45、20 定时器采样中断4.1 路径识别模块由于本文侧重于直流电机和舵机的控制系统,所以对于路径识别模块就做简单的介绍,使用的是CMOS动态摄像头OV5116。如图21所示。图21 0V5116摄像头为了能使小车循线,就必须及时地将当前赛道信息的变化提供给控制算法部分,才能调整小车的状态。可以说道路识别模块相当于小车的眼睛。该模块的功能是准确的计算出黑线与小车中心的相对位置。本文采用的采集图像策略是跟踪算法。由于黑线是连续的,因此当前行和上一行的变化不会很大,只会相差几个点(周斌,等,2010)。利用这个原理,在第一次搜索左右两边的黑线时,使用全扫描,从左边第一个像素点到右边最后一个像素点,分别记

46、录两边黑线内侧的位置。第二次开始搜索时,就不全扫描了,在上一行的两个基点位置,对本行的黑线进行搜索,往外搜3个点(搜索范围越小,抗干扰性越高,但容易丢失,所以搜索范围要适当)。将搜索到的左右两边黑线的中心位置相加再除以二,得到虚拟中心黑线的位置。由于一场有许多行(本文设定采取了120行),全部用上,单片机会处理不过来,所以本文选取了远场的8行,然后对这8行的虚拟中心点进行平均计算,得到的数值便是该场的虚拟黑线中心的位置,舵机和电机根据这个值与目标中心值进行比较,小车根据这个偏差来做下一步的调整。4.2 PID控制算法介绍在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称 PID控制,又称 PID 调节。PID 控制器问世至今已有近 70 年历史,它以其结构简单、稳定性好、工作可靠、调

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服