逆行驶摄像头智能车系统的设计与实现(3)

2019-04-09 10:32

湖北师范学院机电与控制工程学院2014届学士学位论文(设计)

挡机电产品等应用领域具有广泛的用途,而且在FLASH存储控制及加密方面也有很强的功能[6]。

主要特性:

(1)16位中央处理单元(HCS12CPU),最高总线速度40MHz (2)512KB闪速FLASH,14KB RAM,4KB EEPROM (3)两个异步串行通信接口(SCI),三个串行外设接口(SPI) (4)一个8通道IC/OC增强型捕捉定时器 (5)一个8通道脉冲发生器(PWM)

(6)29个离散数字I/0通道(Port A, Port B, Port K 和Port E) (7)可配置8位、10位或12位模数转换器(ADC),转换时间3μs (8)支持控制区域网(CAN)、本地互联网(LIN) (9)带有16位计数器的8通道定时器 (10)出色的EMC,即运行和停止省电模式

本系统用到该单片机的PWM、ECT、I/O以及SCI等模块。MC9S12XS128MAA最小

系统芯片实物图和引脚图如图3.5所示。

图3.5 MC9S12XS128MAA最小系统芯片实物图和引脚图

3.4 PID控制算法介绍

将偏差的比例(P)、积分(I)、和微分(D)通过线性组合构成控制量,用这一控制量对被控对象进行控制,这样的控制器称为PID控制器。PID控制算法结构简单、鲁棒性强,是自动控制领域中广泛采用的一种控制方法。PID控制器原理框图如图3.6所示。

5

湖北师范学院机电与控制工程学院2014届学士学位论文(设计)

比例r(t)+-e(t)积分 +++u(t)被控对象c(t)微分

图3.6 PID控制器原理框图

(1)PID控制器各校正环节的作用如下:

比例环节(P):成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产

生控制作用,以减少偏差。

积分环节(I):主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积

分时间常数Ti, Ti越大,积分作用越弱,反之则越强。

微分环节(D):反映偏差信号的变化趋势,并能在偏差信号变化太大之前,在系统

中引入一个早期修正信号,从而加快系统动作速度,减少调节时间。

(2)位置式PID控制算法

由于计算机控制是一种采样控制,它只能根据采样时刻的偏差计算控制量,而不能像模拟系统那样连续输出控制量,进行连续控制,故计算机控制系统需采用数字式PID。数字式PID控制算法又分为位置式PID和增量式PID控制算法。

位置式PID控制算法的表达式如公式3.1所示。

u(k)?Kpe(k)?Ki?e(j)?Kd[e(k)?e(k?1)] (3.1)

j?0k 式中:

k— —采样序号,k=0,1,2,......;

u(k)— —第k次采样时刻计算机输出值 e(k)— —第k次采样时刻输入的偏差值

e(k?1)— —第k?1次采样时刻输入的偏差值

Ki?KTKpT为积分系数,Kd?pd为微分系数

TTi公式3.1是直接按PID控制规律定义进行计算的,所以它给出了全部控制量的大小,

6

湖北师范学院机电与控制工程学院2014届学士学位论文(设计)

因此被称为全量式或位置式PID控制算法。

这种算法的缺点是:由于全量输出,所以每次输出均与过去状态有关,计算时要对e(k)进行累加,工作量大;并且,计算机输出的u(k)对应执行机构的实际位置,如果计算机出现故障,输出的u(k)将大幅度变化,会引起执行机构大幅度变化,这在实际是不允许的[7]。增量式PID控制算法可以避免这种现象。

(3) 增量式PID控制算法

增量式PID控制算法的表达式如公式3.2所示。

?u(k)?u(k)?u(k?1)?Kp?e(k)?Kie(k)?Kd[?e(k)??e(k?1)] (3.2) 上式中:?e(k)?e(k)?e(k?1)

公式3.2可以进一步改写成如公式3.3所示。

?u(k)?Ae(k)?Be(k?1)?Ce(k?2) (3.3)

式中:A?Kp(1?KT2TTT?d)、B?Kp(1?d)、C?pd

TTTiT增量式PID控制算法不需要累计,计算量小,控制增量△u(k)仅与最近k次采样有关,所以误动作时影响小,而且较容易通过加权处理获得比较好的控制效果。 3.5 MATLAB测试平台

矩阵实验室(Matrix Laboratory,MATLAB)软件是一个适用于科学计算和工程应用的数学软件系统,历经20多年的发展,现已是IEEE组织认可的最优化的科技应用软件。该软件具有以下特点:数值运算功能强大;编程环境简单;数据可视化功能强;丰富的程序工具箱;可扩展性能强等[8]。利用MATLAB编程软件,提取路径左右导航线和拟合中心线仿真图如图3.7所示。

图3.7 MATLAB开发环境

7

湖北师范学院机电与控制工程学院2014届学士学位论文(设计)

3.6 Codewarrior编程软件

Codewarrior是由Metrowerks公司提供的专门面向Freescale所有MCU与DSP嵌入式应用开发的软件工具。其中包括集成开发环境IDE、处理器专家、全芯片仿真、可视化参数显示工具、项目工程管理、C交叉编译器、汇编器、链接器以及调试器。其中在本设计中重要的部分就是集成开发环境和调试器,即IDE和hiwave。

开发语言采用HCS12C语言,语法与标准C语言基本相同,支持多种数据类型。Codewarrior的功能非常强大,可用于绝大部分单片机、嵌入式系统的开发[9]。Codewarrior的编程界面如图3.8所示。

图3.8 Codewarrior编程界面

现代单片机具有很强的在线编程和调试功能,Freescale S12系列单片机就具有BDM(Background Debug Mode)功能,可以实现在线程序下载和在线背景调试功能。我们使用清华大学Freescale MCU/DSP应用开发研究中心开发的BDM for S12,配合CodeWarrior的hiwave.exe在线调试器,即可实现程序下载和进行一系列的调试工作,如黑白线的数字量,路径采集状态,各个寄存器值,程序调试的变量值,能够很好的观察整幅图像信息、图像中黑线的位置、黑线断开的位置、小车舵机和电机的当前值等,给调试提供了极大的方便。 3.7 串口调试工具

串口调试助手,支持常用的300-115200bps波特率,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符(包括中文),可以任意设定自动发送周期,并能将接收数据保存为文本文件,能发送任意大小的文本文件。

目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需

8

湖北师范学院机电与控制工程学院2014届学士学位论文(设计)

附加调制解调(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连。

为了更加形象地反应采集图像的数据,在串口发送中每发送完一行就添加一个回车符,这样得到的数据是每行的数据而不是连成一块的,串口得到的数据图如图3.9所示,图中非常好地反应了道路的信息:

图3.9 串口调试助手平台

上图是在静态调试时摄像头采集的一幅路径二值化后图像。整幅图像由0和1组成,其中1代表的是白色的路面,0代表的是黑线的导航线和深蓝色的背景。

4 系统硬件电路设计

4.1 系统总体设计方案

本智能车系统可以分为五大模块:摄像头图像采集模块,电源模块,舵机转向模块,电机驱动模块,主控制器及外围电路模块,系统整体设计框图如图4.1所示。

电源管理舵机转向MC9S12XS128主控制器电机驱动摄像头传感器速度反馈传感器辅助测试

图4.1 系统整体结构框图

9


逆行驶摄像头智能车系统的设计与实现(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:停电停风应急措施详解

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: