毕业论文终稿 doc - 图文

更新时间:2024-05-07 21:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

题目:无人车转向控制系统软件设计

院 (系): 电子信息工程学院 专 业: 电气工程及其自动化 班 级: 学 生: 学 号: 指导教师:

2013年 06月

本科毕业设计(论文)

题目:无人车转向控制系统软件设计

本科毕业设计(论文)

院 (系): 电子信息工程学院 专 业: 电气工程及其自动化 班 级: 学 生: 学 号: 指导教师:

2013年 06月

- 2 -

西安工业大学毕业设计(论文)任务书

院(系) 电子信息工程学院 专业 电气工程及其自动化 班 090415 姓名 学号

1.毕业设计(论文)题目: 无人车转向控制系统软件设计 2.题目背景和意义: 而智能无人车是现代自动化发展的一个重要代表,其需要实现自动导引功能和避障功能就必须要感知导引线和障碍物,实现自动识别路线,选择正确的行进路线,使用传感器感知路线并作出判断和相应的执行动作。基于视觉的道路识别系统是无人车安全行驶的前提和基础,在汽车发展、交通、军事等领域有广泛的应用前景。 3.设计(论文)的主要内容(理工科含技术指标):

(1)分析比较当前国内外无人车的现状与优缺点,为本次无人车转向控制系统的设计提供依据。(2)设计无人车转向控制系统的软件方案,确定该系统应该完成的任务。(3)无人车转向控制系统中PID控制算法的研究。(4)为了提高系统整体的可靠性和安全性,研究当前无人车电子转向控制算法等的问题。(5)对无人车转向控制系统进行软件编程。 4.设计的基本要求及进度安排(含起始时间、设计地点): 1.第二周~第四周: 进行文献检索,调研,可行性分析;了解无人车转向控制系统的相关知识;学习Keil u vision4的使用,学习C语言编程方法,为后续研究做好准备;2.第五周~第七周:确定系统方案,确定所用器件的型号;3.第八周~第十周:系统软件程序的编写;4.第十一周~第十三周: 完成软硬件调试,通过实验对系统进行优化;5.第十四周~第十六周:总结,撰写论文; 6.第十七周~第十九周:准备答辩。 5.毕业设计(论文)的工作量要求

*

① 实验(时数)或实习(天数):

*

② 图纸(幅面和张数): ③ 其他要求:

指导教师签名: 年 月 日

学生签名: 年 月 日 系(教研室)主任审批: 年 月 日 说明:1本表一式二份,一份由学生装订入附件册,一份教师自留。

2 带*项可根据学科特点选填。

毕I-2

无人车转向控制系统软件设计

- I -

摘 要

随着科技的快速进步, 电子计算机等高新科技与汽车技术也得到快速的发展,智能车就是这两者相结合的产物。本文以MC9S12XS128单片机为核心微处理控制器(MCU),设计和开发了无人车转向控制系统。本文系统总体设计方案如下,在整个控制系统中,单片机为核心部分,起主体控制作用;电源模块为单片机提供5V电源电压;速度检测模块通过光栅编码器来检测小车行进的速度;电磁感应模块有四个电感,其中包括三个横电感和一个竖电感。竖电感用来感应跑道中心的磁场从而确保不偏离跑道,两个横电感与十字电感用来确定小车转过的角度;电机模块为普通直流小电机,通过控制它实现小车的前进、后退以及不同的转速;舵机模块用来在弯道处使小车转过一定的角度,具体的角度可以通过编程实现;LCD模块用来显示当前转速,PWM输出值等。

关键词:无人车;单片机;电机;舵机;转向控制

The software design of Unmanned vehicle steering control

- II -

Abstract

With the rapid development of science and technology,electronic computer and other high and new science and technology also get fast development, intelligent car is a combination of them.In this paper, an unmanned vehicle steering control is

designed with MC9S12XS128 microcomputer.The system overall design as follows, as the core control portion, MC9S12XS128 microcomputer has the main control function. The power module supplies the 5V voltage. The speed detection module detects the speed of car through grating encoder. The electromagnetic induction module has four inductances,including two horizontal inductances,one vertical inductance and one cross inductance. The vertical inductance is used to detect the magnetic field of the runway center to prevent the car deviating the runway. The horizontal inductances and cross inductance are used to ensure the turning angle of the car, The motor module is normal small DC motor,we can achieve moving forward, moving back and several diffirent speed. The steering engine is used to turn a certain angle at the corner, we can achieve the specific angle through programming. The LCD module is used to display the current speed and the output of PWM and so on.

Key Words: unmanned vehicle; microcomputer;motor; steering engine; steering control

- III -

目录

中文摘要 ...................................................................................................................... I 英文摘要 ..................................................................................................................... II 1 绪 论 ........................................................................................................................ 1

1.1

课题背景及意义 ........................................................................................... 1

1.2系统描述 ........................................................................................................... 1 1.3国内外研究情况 ............................................................................................... 2

2系统总体方案的设计 ........................................................................................... 3

2.1设计要求 ........................................................................................................... 3 2.2无人车转向控制系统的设计思路 ................................................................... 3 2.3无人车转向控制系统硬件结构图 ................................................................... 4 2.4无人车转向控制系统的功能 ........................................................................... 5

3无人车转向控制系统算法研究 ........................................................................ 6

3.1电机控制算法设计 ........................................................................................... 6 3.2舵机控制算法设计 .......................................................................................... 9

4系统软件设计 ........................................................................................................ 11

4.1 本系统的软件开发环境与开发工具 ............................................................. 11 4.2 软件结构设计 ................................................................................................. 11

4.2.1 顺序程序设计 ...................................................................................... 12 4.2.2采用实时多任务操作系统 ................................................................... 12 4.3软件工作流程分析 ......................................................................................... 12 4.4无人车转向控制系统各个模块流程图 ......................................................... 14

4.4.1 主程序初始化流程图 .......................................................................... 14 4.4.2 A/D采集模块流程图 ............................................................................ 15 4.4.3中值平均滤波流程图 ........................................................................... 15 4.4.4 PWM输出控制函数流程图 ................................................................. 17

5系统调试与分析 .................................................................................................. 22

- IV -

5.1 系统仿真调试 ................................................................................................ 22

5.1.1 仿真内容 .............................................................................................. 22 5.1.2 调试、仿真环境 .................................................................................. 22 5.1.3 调试步骤 .............................................................................................. 22 5.1.4 调试过程中遇到的问题及解决方法 .................................................. 25 5.2无人车跑道调试 ............................................................................................. 26

5.2.1 调试内容 .............................................................................................. 26 5.2.2 调试过程中遇到的问题以及解决方法 .............................................. 26

6 总结 ........................................................................................................................ 28 参考文献 ................................................................................................................... 29 致谢 ............................................................................................................................. 31 毕业设计(论文)知识产权声明 ..................................................................... 32 毕业设计(论文)独创性声明 ......................................................................... 33 附 录A 程序 ...................................................................................................... 34 附 录B 外文翻译 ............................................................................................ 62

- V -

1绪论

1 绪 论

1.1 课题背景及意义

1.题目背景:

自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人工作的机器一直是人类的梦想。

而智能无人车是其中一个代表,其需要实现自动导引功能和避障功能就必须要感知导引线和障碍物,实现自动识别路线,选择正确的行进路线,使用传感器感知路线并作出判断和相应的执行动作。基于视觉的道路识别系统是无人车安全行驶的前提和基础,在汽车发展、交通、军事等领域有广泛的应用前景。 2.研究目的、及意义:

20世纪后半叶一来,浓缩着人类文明的汽车工业得到了迅速发展。作为现代主要交通工具的汽车,以其特有的优越性为现代社会的发展和人类生活条件的改善做出了巨大贡献,其发展速度越来越快。智能无人车辆是人类的伟大发明之一,在短短的50年内发生了日新月异的变化。随着计算机和控制计技术的发展,智能移动平台在军事、民用和科学研究等诸多方面得到了广泛的应用,工作环境也从单纯的室内环境变成了各种复杂的环境,包括地面、水下、空中甚至太空外等。在军事上,无人车可以代替人类在危险场所(如战场、化工污染和核污染场所、北极等)按照设计者的意图自动行驶至目的地,并代替人类完成侦查、排雷等军事任务。在民用方面,不仅可以作为自动或辅助驾驶系统以减少交通事故,还可以作为智能轮椅帮助残疾人士。在科学研究就方面,无人车还可以代替人在高危环境甚至外形从事探索和勘探工作。

1.2系统描述

本设计使用的车为电磁循迹车,该无人车转向控制系统由微控制处理器(MCU),电源模块,速度检测模块,电磁感应模块,LCD显示模块,电机模块与舵机模块构成[1][2][3]。在行进的过程中,电磁感应模块将检测到的跑道信息通过异

- 1 -

西安工业大学毕业设计(论文)

口通讯传给MCU,同样,速度检测模块将编码器检测到的小车转速信息也传给MCU,MCU通过判断跑道信息与转速信息来给出一个控制信号[4][5],分别通过控制舵机与直流电机实现左转、右转、前进、后退以及不同的转速。为了更为直观的显示出当前的转速、PWM输出值等参数信息[6][7][8],本设计使用了LCD显示模块,LCD的每一个字都有相对应的数字信息,存在一个库函数里面,通过编程可以调用需要的参数名称。

1.3国内外研究情况

智能车是电子计算机等最新科技成果与现代汽车工业相结合的产物。通常具有自动驾驶,自动变速和自动识别道路的功能。另外,车内的各种辅助设施也一应电脑化,常常给人以新奇感。

2010年第十一届北京国际车展上,低碳环保理念让新能源车成为市场翘楚,但其实节能技术、混合动力技术和电动技术只是在外部能源限制、环境制约和政策制约下的一种被动调整,电子和信息技术的广泛应用才是整个汽车产业下阶段发展的第一生产力。当信息技术足够成熟地驾驭汽车,何时松油门,哪个时间点踩刹车,智能行车电脑暗自计算着从起点到目的地的最佳路线(不仅考虑距离远近,还要兼顾道路行驶状况)。这些智能的应用都将在点滴间帮我们降低油耗,节能资源和时间成本。

智能汽车虽已不是新鲜概念,但比尔·盖茨曾讲过的话“如果汽车工业和信息技术发展的速度一样快,那么我们早就可以开着汽车上月亮了”却揭示出智能汽车发展的瓶颈。

·1.4本文主要研究内容

本课题是研究一种基于MC9S12XS128单片机控制的无人车转向控制系统的软件设计、工作原理及主要功能。该无人车转向控制系统以MC9S12XS128单片机为核心,配合外围电路共同完成速度检测、跑道情况检测、控制电机,舵机从而实现不同转速等功能[9][10]。系统应采用高性能的单片机,要求工作稳定、测量精度高、耐用性强、功耗低,保证检测模块的精确性及可靠性,而且最好体积小,成本低,有利于减少车体的重量,降低无人车的成本。

- 2 -

2系统总体方案的设计 2系统总体方案的设计

2.1设计要求

(1)根据系统结构特点,提出总体设计方案;

(2)设计本系统的软件流程图,(包括:主流程图、底层设计流程图、PWM输出流程图等),并对每个模块进行仿真、调试; (3)软件模块的调试、仿真;

(4)结合系统硬件设计和应用软件设计总体联合调试。

2.2无人车转向控制系统的设计思路

该设计中的无人电磁循迹车能在无人干预的情况下在跑道上自己行驶,当遇到拐弯的情况下能自动转过一个合适的角度,并且在行驶过程中控制在一定的速度,从而防止转弯时速度过高而冲出跑道。这个车的最基本组成部分应包括:电源模块、电磁感应模块、速度检测模块、电机模块、舵机模块、LCD显示模块、单片机控制电路等[11]。

电源模块通过电平转换芯片为单片机提供5V的电源,从而使单片机能够在合适的电压下工作。电磁感应模块通过四个电感来感应所在道路信息,通过模数转换电路将采集到的信息转换为单片机能够识别的信号。同样,速度检测模块通过光栅编码器检测小车当前正在行驶的速度,并将其转换为单片机能识别的数字信号。从而使单片机确定是直走还是转弯,并将控制信号输出给电机和舵机,当在直线行驶时可以适当地加速行驶,而在转弯时低速行驶,这些通过PWM控制即可实现。另外可以通过控制H桥电路来实现电机的正反转,从而控制小车前进或者后退。单片机对速度检测得到的数字信号进行滤波处理,并对处理后的数据进行分析,是否大于或等于某个预设值,如果大于则启报警,反之则为正常状态。为方便检测与监控,使人们能直观地观察到小车的当前转速、PWM输出值、转过的角度等信息,可将这些值送到LCD显示屏中。方便实验调试时转换不同的速度,可以加入拨码开关。以上是根据无人电磁车应具备的功能提出的整体设计思路。

- 3 -

西安工业大学毕业设计(论文) 2.3无人车转向控制系统硬件结构图

基于MC9S12XS128单片机的无人车转向控制系统结构图如图2.1所示。系统设计的最基本要求是使小车在跑道上行驶时能够自动进行转弯、直走以及实现不同的转速。系统必须是易于实现、灵活、高效的。整个系统电路有以下几个部分: 电源模块、电磁感应模块、速度检测模块、电机模块、舵机模块、LCD显示模块、单片机控制电路。

速度检测模块电源模块电磁传感器模块单片机主控模块LCD液晶显示模块舵机驱动模块电机驱动模块

图2.1控制系统结构框图

此无人车转向控制系统工作在比较好的环境中,各种干扰以及损伤较小,所以我们将采用一般的单片机。另外,根据内存大小以及端口数量需要,我们决定采用MC9S12XS128单片机。

MC9S12XS128是16位单片机,由16位中央处理单元(CPU12X)、128KB程序Flash(P-lash)、8KB RAM、8KB数据Flash(D-lash)组成片内存储器。

- 4 -

西安工业大学毕业设计(论文) 2.4无人车转向控制系统的功能

(1)自动检测道路信息功能

在行驶的过程中,通过小车前面的四个电感来自动检测当前正在行驶的道路信息,即前方是否有弯道,并经过模数转换传递给单片机。

(2)小车当前行驶速度检测功能

在小车前进时通过光栅编码器来检测小车当前的转速信息,通过模数转换器传递给单片机。

(3)自动转弯功能 当前方有弯道时,单片机控制舵机转过一个相应的角度再继续前进,避免小车偏离跑道。

(4)不同转速间的自动互换功能

小车在道路情况不同时应处于不同的转速,例如,在转弯时速度应该减速,防止离心力过大而使小车飞出跑道,而当在直线行驶时可以适当地增大转速,这些转速的互换可以通过拨码开关来实现。

该单片机主要功能模块包括:内部存储器,内部PLL锁相环模块 2个异步串口通讯 SCI ,1个串行外设接口 SPI ,MSCAN 模块 ,1个8通道输入/输出比较定时器模块 TIM ,周期中断定时器模块 PIT ,16通道A/D转换模块 ADC ,1个8通道脉冲宽度调制模块 PWM ,输入/输出数字I/O口。

- 5 -

3无人车转向控制系统算法研究 3无人车转向控制系统算法研究

无人车实际是由传感器检测跑道,舵机控制前轮转向和电机驱动后轮行驶的物理实体。电机控制和舵机转向控制的快速与精确度是衡量所设计的无人车系统优劣的标准。故而在硬件确定的情况下合适的选择电机与舵机的控制算法就变得尤为重要。

3.1电机控制算法设计

本次无人车系统设计采用了前轮转向,后轮辅助转向的结构,由此设计必须完成对电机的合理控制,同时,为了实现无人车车启动、加减速、制动时快速平缓,要求电机的动态响应速度要快,且速度的升降度曲线要平滑以此避免出现速度的突升突降现象。为此归纳本设计电机控制系统主要要实现的动作如下:

(1)停止。当无人车检测到停止标记(起始线)后,必须采取刹车制动,并迅速的停止下来;当检测到车体严重偏离导引线时,也要采取刹车制动并发出报警信号。

(2)干扰信息。当检测到前方有干扰(如虚线、断线等)时,无论此时的偏离距离、偏离角度是否为零,都需要采取减速策略;如果干扰消失则重新开始加速。

(3)弯道信息。当检测到前方的导引线为弯道时,无论此时车体是否偏离导引线,都需要降低速度。

(4)偏离距离信息。当车体偏离距离不断增大时,降低速度;偏移距离减小回归于零时则适当的加大速度。

本设计采用单个直流电机来驱动无人车,参照上面叙述的电机主要动作,对于电机做出合理的控制。给定一个目标速度,调节电机控制器的参数使其速度的升降曲线尽量平滑并能够达到期望的速度要求,如果达不到期望的性能,则需要在原来的参数基础上,对电机进行微调,直至车体能够平稳运行。

传统的电机调速一般使用PID控制算法。PID控制简单易懂,使用灵活,通过对其KP,KI,KD参数进行合理的设定便可实现控制目的,是目前最为通用的一种控制器。数字PID控制算法分为两类,即位置式和增量式[12][13]。对于以电机为执行机构的系统来说,采用数字增量型控制器,会得到比较好的控制效果。

由式

- 6 -

西安工业大学毕业设计(论文) ku(k)?KPe(k)?KI?e(j)?KD[e(k)?e(k?1)]i?0(3.1)

根据递推原理可得

u(k?1)?KPe(k?1)?KI?e(j)?KD[e(k?1)?e(k?2)]j?0k?1(3.2)

由式(3.1)和(3.2)可知

?u(k)?KP?e(k)?e(k?1)??KIe(k)?KD?e(k)?2e(k?1)?e(k?2)?

?KP?e(k)?KIe(k)?KD[?e(k)??e(k?1)]

式中

?e(k)?e(k)?e(k?1),?e(k?1)?e(k?1)?(k?2)

PID控制也存在着不足之处,即在时变、非线性、耦合以及结构不确定的系统中,它的控制效果一般,因而限制了其应用的范围。由于电机的转速调节是一个非线性、快速随动系统,因此如果单纯的使用PID控制,在电机转速还未达到设定值的情况下,输出的控制量就已经减小;当系统出现了大的扰动或者转速设定值在大范围内变动时,转速的响应曲线也往往会出现比较大的超调量并伴随长时间的波动。为了避免这一问题,系统在电机控制过程中采用了变结构PID控制方法[14]。

Bang-Bang控制,实际上是一种时间最优控制,e?k??0即控制函数总是取在容许控制的边界上,或者取最大,或者取最小,e?k??0仅仅在这两个边界值上进行切换,其作用相当于一个继电器,所以也是一种位式开关控制。其给定式如下: ?umax? u k ?

0?

式中,uk为控制器当前时刻的输出;umax为控制器的最大输出;e?k?为检测偏差量。

从理论上讲,对于一个时间最优位置随动系统,应采用Bang-Bang控制。但是Bang-Bang控制的定位精度很难得到保证,因此在高精度的伺服系统中,需要采用Bang-Bang控制与线性控制相结合的方式,譬如在线性控制区间可内采用数字PID控制。其控制规律为:

??a,Bang?Bang控制 e(k)?r(k)?y(k)???a,PID控制

式中,是系统的偏差,、是相邻两次采样的值,是设定的临界值。当系统的偏差大于设定的临界值时采用Bang-Bang控制,小于设定的临界值时采用PID控制。其设计结构如图3.1所示。

- 7 -

西安工业大学毕业设计(论文) 开始各模块初始化道路与速度信息采集数据处理速度、角度输出值电机速度控制舵机转向控制其他操作

图3.1 变结构PID控制框图

本次无人车设计对电机控制在采用Bang-Bang控制和PID控制相结合的同时,又引入了PD控制[15]。设计设置两个速度检测偏差临界值,。当误差时采用Bang-Bang控制;时采用PD控制;时采用PID控制。与前面所述不同,设计中根据实际需要增加了一个区间。在此区间内,反馈信号的变化较大,若采用PID控制,系统的调节将会滞后,被控量难以快速恢复。因此可以去掉PID控制中的积分环节,以提高控制系统的动态响应性能[16][17]。如图3.2所示为本系统所采用的变结构PID控制示意图,纵轴表示误差值的范围[18]。

开始各模块初始化道路与速度信息采集数据处理速度、角度输出值电机速度控制舵机转向控制其他操作

图3.2 本系统中变结构PID控制示意图

变结构PID控制算法的参数整定包括以下几项:比例系数KP,积分系数KI,

微分系数KD,Bang-Bang控制器的输出值B,切换点S1(对应于临界点)和S2(对应于临界点)[19][20][21]。

电机控制算法仿真:

针对建立的电机传递函数,采用经典PID控制进行在线仿真[22][23][24],所得的闭环阶跃响应曲线和正弦扰动跟踪曲线如图3.4和3.5所示。

- 8 -

西安工业大学毕业设计(论文) 全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码[35]。

4.4无人车转向控制系统各个模块流程图

4.4.1 主程序初始化流程图 底层初始化流程图如图 4.2所示。

开始芯片系统初始化定时器初始化A/D初始化I/O口初始化主程序

图4.2底层初始化流程图

- 14 -

西安工业大学毕业设计(论文)

4.4.2 A/D采集模块流程图

当电磁感应模块在进行跑道检测及光栅编码器在测量当前电机转速时,都要先进行A/D转化,将采集到的模拟信号转化为单片机能够识别的数字信号后才能对其进行处理和控制。因此,A/D采集模块在无人车转向控制系统中是非常重要的,它的流程图如图3.3。

开始初始化端口,设置等送通道号,启动AD转换转换等待N转换结束Y数据处理,存储采集转换值 返回

图4.3A/D转换流程图

4.4.3中值平均滤波流程图

在单片机对采集到的参数进行数据处理时要进行滤波,才能有效的防止不必要的干扰信号。在本设计中,我们采用中值平均滤波法。即在每个周期先用中位值滤波得到m个滤波值,再对m个值进行算术平均,得到可用的被测参数。也称为去脉冲干扰平均值滤波法。其流程图如图4.4.

- 15 -

西安工业大学毕业设计(论文)

开始定义Xi, i=1,sum=0 X1=max,sum=X1 采集X2 X2>max?NYX2=min Sum+=X2 X2=max,X1=mini++ Sum+=XiY Xi>=max?YNXi<=min?YXi=maxXi=minNi<=m?Nsum=sum-max-minAve=sum/(m-2)结束

图4.4 中值平均滤波流程图

- 16 -

西安工业大学毕业设计(论文)

4.4.4 PWM输出控制函数流程图

本设计的最终目的在于控制单机与舵机,让其有一个合适的输出值,而这个控制工程则是由PWM控制实现的[4],因此PWM输出控制方法是本设计中最重要的。如图3.5所示为PWM输出函数流程图。

开始PID误差复位,速度反馈参数复位,装PWM初值PID运算PID输出>=0?N求补,转速为整数YPWM输出=PID输出值+误差PWM输出>=最大值?NPWM输出<=最小值?NYY输出最大值输出最小值输出计算值 图4.5PWM输出控制函数流程图

4.4.5 增量式PID函数流程图

本设计应用的算法为增量式PID控制算法,通过调整KP 、KI、Kd这三个参数来实现相应的控制。如图4.6为增量式PID控制算法流程图。

- 17 -

西安工业大学毕业设计(论文)

开始 计算控制参数q0、q1、q2设初值e(k-1)=e(k-2)=0 本次采样输入c(k) 计算偏差e(k)=r(k)-c(k)A/D 计算控制增量Δu(k)Δu(k)=q0e(k)-q1e(k-1)=q2e(k-2)控制对象D/A输出Δu(k)Y为下一时刻做准备 e(k-2)=e(k-1),e(k-1)=e(k)N采样时刻到否? 图4.6增量式PID算法流程图

4.4.6舵机控制设计:

舵机的内部集成有直流电机、减速齿轮组以及位置反馈电位计。减速齿轮组由直流电机驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到转角精确定位的目的。其内部原理如图4.7所示。

- 18 -

西安工业大学毕业设计(论文)

马达脉冲控制控制电路比例电位器M比例电压减速齿轮组 图4.7舵机内部工作原理图

对小车舵机转向控制进行调试的目的在于使小车对不同路线都能给出合适的转角,在直道行驶时应避免抖舵和振荡,在弯道行驶时应能够准确、顺畅地跟踪赛道信息。

舵机控制可利用调节PWM输入信号的占空比来改变输出的角度。由于舵机响应存在机械滞后和电延迟,该系统整体可以看做为一个纯滞后环节和一个积分环节的串联。PWM控制信号引入控制电路板驱动直流电机,减速齿轮组由直流电机传动,其输出端带动一个线性的比例电位器作位置检测,该电位器把齿轮组转角转换为一比例电压反馈给控制线路板,控制线路板将其与输入的PWM控制信号比较,产生纠正信号,并驱动直流电机正向或反向转动,使齿轮组的输出位置与期望值相符,纠正信号最终趋于0,从而达到使舵机精确定位(位置伺服)的目的。

通过以上分析,我们对舵机的转向采取了PD(比例-微分)控制。比例控制能迅速反应误差,从而减小误差,但比例控制不能消除稳态误差,Kp 的加大,会引起系统的不稳定;微分控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。在最初调试的时候,我们还使用了PID 控制。在加入了积分控制后,会使系统的超调量加大,甚至出现振荡,跑直道的效果特别差,所以将其去掉了。对Kp 参数进行调整采用了的试凑的方法。通过多次实验,得到了比较满意的Kp,Kd 值。

舵机在没有进行机械调整的时候,由于结构的限制,当前轮要转到最大时舵机需转到大40 度。在我们对舵机进行了一系列的机械结构改造后,舵机只需要转动15 度左右,前轮就可以转到最大时。这样就大大节约了舵机转向的时间,加快舵机的响应速度。为了提高控制精度,微控制器的PWM6,PWM7级联后变为16 位,完全可以满足舵机调节的精度要求。PWM7 口输出的信号输入到舵机的控制线,对舵机转角进行控制。

在具体控制中,模糊输出只是一个等级,然后乘以角度的系数,就可以得到角度的精确数值。然后就可以确定PWM的占空比,进而控制舵机。由于我们设置了几个不同的速度档位,而每个档位对应的Kp,Kd值都不相同。

4.4.7电机控制设计:

直流电机的转速控制采用PWM控制。由于单片机输出的脉宽无法直接驱动电机,因此需要通过驱动电路对电机进行控制。通过电机驱动模块,控制驱动电机两端电压可以使模型车加速运行,也可以对模型车进行制动运行。

在进行方案的选择时,考虑到智能车驱动电机需要正转、反转,因此,设计中采用了H桥来驱动电机,得到了很好的控制效果。如图4.8所示。

- 19 -

西安工业大学毕业设计(论文)

7.2vVCCR17300H桥R21300U13IRF49052N7000AGNDMOTOR1MOTOR27.2vVCCR19300D15U12IRF3205IRF32052N7000D17U16R22300Q7S2_HIRF4905U11D14D16S1_HAGNDQ12N70007.2vVCCQ8S2_LS1_LQ62N7000AGND 图4.8 H桥控制电路

MC9S12XS128有8个可编程控制周期和占空比的PWM的通道,通过级联可用做16位4通道,以提高控制精度。MC9S12XS128的PWM1和PWM3管脚分别控制电机的正反转。

工作原理简介:左边给高电位1,右边给低电位0时,原理图中左下的TIP122和右上的TIP127为通路,马达电流由右流到左,反转;左边给高电位0,右边给低电位1时,马达电流由左流到右,正转。运用光电偶合器的原因是为了简化电路,同时避免干扰。数字地与模拟地之间也要进行隔离。

电机控制流程图如图4.9所示:

- 20 -

西安工业大学毕业设计(论文)

开始参数初始化读取给定速度、实际速度偏差E(k)=速度给定值=车体实际速度|E(k)|

图4.9电机控制流程图

- 21 -

5系统调试与分析 5系统调试与分析

5.1 系统仿真调试

5.1.1 仿真内容

仿真调试的内容是要把程序修改正确,使编译能够通过,而且还要用freescale codewarrior仿真软件中的一些功能来查看程序所实现的功能是否能够和预期的功能相符合。程序部分的调试采用的是从下到上逐步集成的思想,先将各个小的模块验证成功,再将它们集成为一个大的模块进行验证,最后到整个系统的集成调试。需要反复调试,直到能够实现预期结果为止。本次设计是在仿真软件freescale codewarrior来进行编译和调试的。

5.1.2 调试、仿真环境

程序开发是在CodeWarrior Development Studio for S12(X) V5.1下进行。该开发环境由Metrowerks公司提供并专门面向飞思卡尔所有系列的微控制器嵌入式应用开发的软件工具。其中包括IDE集成开发环境、可视化参数显示工具、C交叉编译器、项目工程管理、汇编器、链接器等。本导引车模型采用MC9S12XS128处理器,所用程序语言为C语言。设计程序过程中,采用BDM在线调试器。

5.1.3 调试步骤

运行CodeWarrior Development Studio for S12(X) V5.1集成开发软件,在弹出的工程对话框中选择Create New Project,如图5.1示。

- 22 -

西安工业大学毕业设计(论文)

图5.1新建工程界面

继续选择HCS12X,在HCS12XS Family中选择MC9S12XS128,点击“下一步”。如图5.2所示。

图5.2开发环境配置第一步

然后选择编程语言和右面的项目名Project name输入条中,键入所要建立的新工程名称,在项目名Location输入条中,选择新工程所存放的地址。在本导引车模型中使用C语言。如图5.3所示。

- 23 -

西安工业大学毕业设计(论文)

图5.3开发环境配置第二步

新工程按配置要求配置后,点击“完成”,弹出软件编程操作界面如图5.4。在此界面上便可编译所要求的工能程序。

图5.4 CodeWarrior Development Studio for S12(X) V5.1编程界面

Sources文件夹中包含所有的源程序文件,可以在此栏下点击鼠标右键,在弹出的菜单选择项中选择Add Files,,添加其他源程序文件。 Includes文件夹是程序中所有头文件。

Project Settings文件夹中含有另外两个文件夹,分别是Startup Code和Link Files。其中Startup Code下是新建项目建立时自动生成的启动文件。而Link Files下的三个文件burner.bbl,Project.prm,Project.map其功能分别为:用于编译器下载的代码文件格式配置(bbl文件)、生成的目标代码在内存中的映射文件(map文件)、机器代码连接定位用的内存说明和配置文件(prm文件)Libs文件夹所包含的是本工程开发用到的代码库。程序编辑完成后,使用BDM下载器将电脑与处理器相连,在菜单栏

- 24 -

西安工业大学毕业设计(论文)

Project选择Debug即可将编译好的功能程序下载到处理器中调试,在线调试界面如图5.5所示。

图5.5在线调试界面

5.1.4 调试过程中遇到的问题及解决方法

在进入环境以后,遇到了很多问题,总结如下: (1)提示无c文件 编译时候提示: F:\\...\\XX.c

File has been changed outside the editor, reload ?

解决方法:重新生成项目,产生text2.c即可。

(2)在进入freescale codewarrior的调试环境以后,发现程序有错 解决方法:将光标定位于需要修改的程序上,用菜单,Debug》Inline Assambly…即可出现对话框,Enter New 后面的编辑框内直接输入需要修改的程序语句,输入完之后键入回车将自动指向下一条语句,可以继续修改,如果不在需要修改,可以点击右上角的关闭按钮关闭窗口。

(3)输入程序时,有中文标点,用freescale codewarrior编译时出现错误 解决方法:程序里有带中文标点,用英文重输入一遍 (4)汇编出现数字、字母混淆

解决方法:字母“O” 和 数字 “0”。主要错在这里。注意细节!

- 25 -

西安工业大学毕业设计(论文)

5.2无人车跑道调试

5.2.1 调试内容

在经过仿真调试及一系列系数修改之后,我们进行了无人车跑道实际调试,主要是通过在跑道上实际出现的问题实时地对智能车相关参数以及某些机械结构进行进行改进。

我们的跑道有十字交叉、直线以及弯曲路面,在十字处蜂鸣器应该发出响声。直线处车速应该适当有所提高,拐弯处应该能灵活地调整舵机角度。

实时跑道调试如图4.6所示:

图4.6实时跑道调试

5.2.2 调试过程中遇到的问题以及解决方法

在进行实时跑道调试时遇到很多问题,总结如下: (1) 刚开始时将kp值设的有点大,所以小车在跑道上颤抖的比较厉害,而且在拐弯处特别容易冲出赛道。

解决方法:通过试凑的方法,经过多次修改kp值后这个现象得到完全改善。

(2) 起初小车的防静电措施不到位,小车跑着跑着就失控了,电机疯转,

直接冲出赛道。

解决方法:因为静电把编码器的输出拉低了,也就是测得的速度远远低于真实速度,PID就会加大脉宽。后来把车子的灰尘清理了,另外把一

- 26 -

西安工业大学毕业设计(论文)

些重要的引脚,比如AD的数据、编码器、起跑线和空气隔离,用黑胶带粘起来,效果得到很大提高。

(3) 之前车前面杆子上的电感未固定好,车在行驶时把杆子撞坏了竖电

感。

解决方法:这是因为竖电感固定的位置在横杆前面,之后将其放置在

横杆后面就没有再出现过这种撞坏电感的现象。

(4) 做好隔离了, 但一加速度控制就有影响信号取值,没有速度控制,就

没有影响。

解决方法:信号地,模拟地隔离。电机编码器外壳接地。

- 27 -

6 总结

6 总结

本课题通过对无人车控制系统性能的研究分析,完成了系统软件的设计工作,对其控制算法进行了初步的研究并在硬件基础上完成了调试工作。经过后期的调试工作,检验了该系统的性能指标,符合设计的要求。在研究与设计的过程中,本人主要完成了以下几个方面的工作:

1.软件设计中采用面向智能体的编程方法,使得系统的软件具有很好的结构性、层次性、可移植性,同时也简化了开发的难度,通过软件的后期优化,提高了系统运行的速度,降低了微控制器资源的占用率。

2.参考大量文献并通过实验,实现了模糊自适应PID控制器的设计,并应用自动导引车转向的控制当中;通过对变结构PID控制的算法研究,将其应用到了电机转速调节的控制中。这两种方法都遏制了常规PID控制的缺点,极大的提高了系统运行的稳定性和快速性。

3.扰动跟踪问题,如果要有较强的抗扰动能力,特别是持续扰动,应能够完成系统模式识别,得到系统的模型,在此模型下,完成期望值的运行。在调试过程,参数耦合比较紧密,调试参数时提高了某个运行参数的期望值,但又降低了其它方面期望值。

本课题有待改进的地方: 1.模糊PID算法中模糊控制器的优化,控制规则和隶属函数都需要根据大量的实验进行改进,并提高其软件程序的执行效率。

2.系统功能的拓展,人机接口要更加人性化,提高操作的简便性。 3. 软件系统的进化也是需要大量时间和各方面的知识来完成,目前软件系统还存在许多的缺陷,例如系统的自学习,知识库管理等。同时在完成系统的设计时,对于整个系统过程的把握没有达到很好,对于已完成的设计缺乏全方面的书面记载,不利于项目的延续。

- 28 -

参考文献

参考文献

[1] 郭峰,袁星军,余达太等.自动导引车系统关键技术的研究[M].北京科技大学

学报,1999(2):220.

[2] 李以农,卢少波,杨柳.车辆转向与驱动综合控制及横向速度观测器的设计

[J].汽车工程,2007(8):692-697.

[3] 李仕伯,马旭,卓晴.基于磁场检测的寻线小车传感器布局研究[J].电子产

品世界,2009(12):41-44.

[4] 马冰然.电磁场与电磁波[M].广东:华南理工大学出版社,2007. [5] 彭军,传感器与检测技术.西安电子科技大学出版社,2003:263`315. [6] 夏德矜,翁贻方.自动控制理论(第二版)[M].北京:机械工业出版社,2003. [7] 于海生.微型计算机控制技术[M].北京:清华大学出版社,1999.

[8] 阮毅,陈伯时.电力拖动自动控制系统----------运动控制系统,(第四版)北京:

机械工业出版社, 2009.8 [9] 孙增沂等.智能控制理论与技术[M].北京:清华大学出版社,1997.

[10] 王睿星.自动导引车系统设计与研究[D].南京理工大学硕士学位论文,2005.

朱世钊.电机调速系统的最优PID控制参数方法[J].桂林电子科技大学学报,[11] Tong Feng, Xutian Zeng. An ultrasonic navigation antomatic guided vehicle

system used in CIMS[J]. Intelligeni Control and Automation, 2002(4):2645-2649.

[12] 王一飞,杨公训.时间最优模糊PID控制算法的设计与研究[J].电机与控制学

报,2004(4):366-372.

[13] 武星,楼佩煌,唐敦兵.基于精英进化导向的多目标PID参数优化[J].控制理

论与应用,2010(9):1235-1239.

[14] 吴受章.最优控制理论与应用[M].北京:机械工业出版社,2008.

[15] 陶永华,尹怡欣,葛芦生.新型PID控制及其应用[M].北京:机械工业出版社,

1998.

[16] Astron, K.J.et al. Towards Intelligent PID control, Automatica,1992,28(1):1~9. [17] 席爱民.模糊控制技术[M].西安:西安电子科技大学出版社,2008.6. [18] 诸静.模糊控制原理与应用[M].北京:机械工业出版社,1995. [19] 徐湘元.自适应控制理论与应用[M].北京:电子工业出版社,2007.

- 29 -

西安工业大学毕业设计(论文)

[20] 张云生,祝晓红.自适应控制器设计及应用[M].北京:国防工业出版社,2005.5. [21] 王兆安,黄俊.电力电子技术[M].北京:机械工业出版社,2007.7.

[22] 张国良,曾静,柯熙政等.模糊控制及其MATLAB应用[M].西安:西安交通

大学出版社,2002.11.

[23] 李颖,朱伯立等. Simulink动态系统建模与仿真基础[M].西安:西安电子科

技大学出版社,2004.

[24] 刘金琨.先进PID控制MATLAB仿真(第二版)[M].北京:电子工业出版社,

2005.

[25] 丁镇,姚晓先.脉宽调制系统中调制信号延迟对电机控制系统的影响[J].战术

导弹控制技术,2003(4):21-24.

[26] 姚鹏,张胜修,王道平等.电动舵机与其PWM驱动器的物理建模与参数估计

[J].弹箭与制导学报,2009(5):91-94.

[27] 章家保,刘慧,贾宏光等. 电动舵机伺服系统的模型辨识及其校正[J].光学精

密工程,2008(10):1971-1976.

[28] Palm R.Slidiling model fuzzy control[A] IEEE Int. Conf Fuzzy systems[C].1992. [29] Wang L X. Design and analysis of fuzzy identifiers of nonlinear dynamic systems.

IEEE Trans on AC,1995,40(1)

[30] Automatic control systems / Benjamin C. Kuo . - 7th ed.. - New York: Wiley,

John & Sons Inc. Pub., 1995.

[31] 童诗白,华成英.模拟电子技术基础(4版).北京:高等教育出版社 [32] 李晋惠. C语言程序设计[M].北京:兵器工业出版社,2004.

[33] 谭浩强.C语言程序设计(第三版)[M].北京:清华大学出版社,2005.7. [34] Garcia C E, Prett D M, Morari M. Model Predictive Control :Theory and

Practice-A Survey[J].Automatica,1998.

[35] Li H X. A comparative design and tuning for conventional fuzzy control[J],IEEE

Trans.on System Man and Cybenetics,1997,27(5)

- 30 -

致谢

致谢

毕业设计能够如期完成,我的指导老师秦刚老师给了我极大的帮助与支持。秦老师学识渊博,学风严谨,待人宽厚。在我遇到困难时能耐心解答直至我明白。尤其是他一直教导我们“这是一个团队,每个人都应该把自己知道的东西毫无保留地告诉其他队友”“我们与别人相处时,应该看到别人的优点,而不是缺点”以及“既然做了这个东西就要下真功夫,而不是浮着做事”,这些都让我深受感触。让我明白,没有付出,就没有回报的真谛。还有,人要不断的接受新知识,学习新知识,这样才能在以后的人生道路上坚强的走下去。秦老师要指导很多同学的论文,加上本来就有教学任务,工作量之大可想而知,还要给我们安排上一些课,真的非常感谢老师!在不断的接触中,秦老师的朴实无华,坦率直白的性格对我影响颇深。在秦老师的指导和鼓励下,我才有信心去完成毕业设计,很荣幸成为秦老师的学生。

除秦老师之外,我还有感谢我们组的贺博森以及李鑫的建议,最后还要感谢帮助过我的张文还有宋乐师兄,是他们让我知道了如何去有技巧地学习一个新的芯片。尤其在程序的编写方面,给了我很大的帮助。特此感谢!通过本次设计,让我明白了很多。最重要的是一个人如果无法独立完成一件事情,那么,老师和同学就是你的依靠。

大学四年的时光转瞬即逝,在西安工业大学的学习和生活是我人生中一段非常宝贵而难忘的经历。感谢我的母校西安工业大学,给我提供学习和生活的空间,真心地希望她的明天更加美好!

- 31 -

毕业设计(论文)知识产权声明

毕业设计(论文)知识产权声明

本人完全了解西安工业大学有关保护知识产权的规定,即:本科学生在校攻读学士学位期间毕业设计(论文)工作的知识产权属于西安工业大学。本人保证毕业离校后,使用毕业设计(论文)工作成果或用毕业设计(论文)工作成果发表论文时署名单位仍然为西安工业大学。学校有权保留送交的毕业设计(论文)的原文或复印件,允许毕业设计(论文)被查阅和借阅;学校可以公布毕业设计(论文)的全部或部分内容,可以采用影印、缩印或其他复制手段保存毕业设计(论文)。

(保密的毕业设计(论文)在解密后应遵守此规定)

毕业设计(论文)作者签名:

指导教师签名:

日期:

- 32 -

毕业设计(论文)独创性声明

毕业设计(论文)独创性声明

秉承学校严谨的学风与优良的科学道德,本人声明所呈交的毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经发表或撰写过的成果,不包含他人已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了致谢。

毕业设计(论文)与资料若有不实之处,本人承担一切相关责任。

毕业设计(论文)作者签名:

指导教师签名:

日期:2013年6月

- 33 -

本文来源:https://www.bwwdw.com/article/50og.html

Top