当前位置:首页 > 逆行驶摄像头智能车系统的设计与实现 - 图文
湖北师范学院机电与控制工程学院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
湖北师范学院机电与控制工程学院2014届学士学位论文(设计)
电源模块负责给其他模块提供不同的电压;摄像头传感器主要作用是拍摄车体前方的路径;主控制器是系统的核心,负责对采集图像的处理、路径的识别并最终输出控制量控制舵机和电机;舵机和电机的功能分别是控制智能小车的转向和速度;速度反馈功能是返回智能小车的实时速度,对智能小车形成闭环控制。只有各个模块都能稳定工作,进行合理的配合,整个智能车系统才能准确、有效的运行,适应各种复杂环境。 4.2 电源模块设计
电源电路是整个智能车系统正常工作的基础,因此设计稳定可靠的供电电路显得尤为重要。整车的硬件电路电源由充电镍镉电池提供(7.2V、2000mAh)。但是系统中的各个电路模块所需要的工作电压和工作电流各不相同,所以设计了多种稳压电路,将电池电压转换成各个模块所需要的电压。其中5V向单片机、摄像头、编码器等供电,6V向舵机供电,3.3V向辅助电路供电。电源管理模块框图如图4.2所示。
7.2V电池3.3V电源5V电源6V电源辅助电路摄像头主控制器编码器舵机 图4.2 电源管理模块框图
在电路设计中,考虑到由于电机驱动容易引起电源不稳定,在电源输入端,每个芯片电源输入输出引脚都加入滤波电路。3.3V稳压电路如图4.3所示,5V稳压电路如图4.4所示。
图4.3 3.3V稳压电路 图4.4 5V稳压电路
LM1117是一个低压差电压调节器系列。其压差在1.2V输出,负载电流为800mA
10
共分享92篇相关文档