智能小车系统.docx
- 文档编号:11279575
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:12
- 大小:89.43KB
智能小车系统.docx
《智能小车系统.docx》由会员分享,可在线阅读,更多相关《智能小车系统.docx(12页珍藏版)》请在冰豆网上搜索。
智能小车系统
第一章引言
摘要:
本系统设计采用飞思卡尔16位微控制器MC9S12DG128作为核心控制单元,选择CodeWarrior3.1作为开发软件,采用BDM(清华大学制作)作为开发调试硬件工具,使用8个红外光电传感器来进行信号采集处理,结合智能控制算法,实现动力电机驱动、转向舵机控制等。
路面黑线检测和车速距离检测均采用反射式红外传感器,电源部分采用了7805和2576双电源分别独立供电,控制电路电源和电动机电源隔离,信号通过高效H桥电路传输,避免了电动机对控制系统的干扰,增强了系统的抗干扰能力,提高了系统的稳定性,同时利用了PWM脉宽调制来控制电动机的转速,提高了电源的利用率。
利用PWM脉宽调制实现舵机方向角度的精确控制。
红外检测路面,软件纠错,免受路面杂质干扰,基于这些完备可靠的硬件设计,建立了智能小车在运动过程中的专家经验库,使用了一套智能可学习软件控制算法,实现了智能小车在高速运动中的智能化精确控制,达到了很好的效果!
关键词:
飞思卡尔智能小车专家经验库可学习
第二章系统设计及方案论证
根据题目要求,系统可以划分为几个基本模块,对各模块的实现,分别有以下一些不同的设计方案:
2.1电机驱动调速模块
方案一:
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。
这个方案的优点是电路较为简单,缺点是继电器的响应速度慢,机械结构易损坏,寿命短,可靠性差。
方案二:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。
但是电阻网络只能实现有级调速,而数字电阻元件价格昂贵,主要问题是一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。
方案三:
采用由双极性管组成的H型PWM电路。
用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很块,稳定性也很高,是一种广泛采用的PWM调速技术。
基于上述理论分析,选用方案三。
2.2路面黑线探测模块
探测路面黑线的大致原理是:
光线照射到路面并反射,由于黑线和白线的反射系数不同,可以根据接收到的反射光强弱判断是否到达跑道边侧。
方案一:
可见光发光二极管与光敏二极管组成的发射-接收电路。
这种方案的缺点在于其他环境光源会对光敏二极管的工作产生很大干扰,一旦外界环境条件改变,很可能造成误判和漏判;虽然采取超高亮度发射管可以降低一定的干扰,但这势必会增加额外的功率损耗。
方案二:
脉冲调制的反射式红外发射-接收器。
考虑到环境光干扰主要是直流分量,如果采用有交流分量的调制信号可大幅度减少外界干扰;另外,红外发射管的最大工作电流取决于平均电流,如果采用占空比小的调制信号,在平均电流不变的情况下,瞬时电流可以很大(50-100MA),这样也可以大大提高信噪比。
但电路较复杂且软件工作量加大。
方案三:
采用CCD器件,通过图像信息处理的方式得到道路信息,可以有效进行车模运动控制,提高路径跟踪精度和车模运行速度,但是存在着采集速度、存储数据空间、处理速度、工作电压以及同步信号分离等方面的技术难点。
方案四:
采用不调制的反射式红外发射-接收器。
由于采用红外管代替普通可见光管,可以降低环境光源干扰。
直接用直流电压对红外管供电,限于管子的平均功率要求,工作电流在2MA左右。
在接收管输出处接施密特触发器,有利于输出波形的整定和增强抗干扰的能力。
由于发射接收组件距离路面较近,切组件有外罩防止外界的干扰,所以我们采用了方案四。
2.3显示模块
方案一:
采用集成芯片16032LCD显示器来显示汉字及图形,它内置国标GB2312码简体中文字库(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM),可提供两种界面来连接微处理机:
8-位并行及串行两种连接方式。
具有多种功能:
光标显示、画面移位、睡眠模式等。
方案二:
采用集成芯片1602来显示图形信息,可与CPU直接接口,能执行光标显示、画面移位、睡眠模式等功能,但它不能显示汉字。
方案一能清晰明了地显示智能小车运行信息,能显示汉字,提供串口模式,节省MCU的IO口。
故采用方案一。
2.4车轮测速模块
方案一:
采用霍尔元件,该器件内部由三片霍尔金属板组成,当磁铁正对金属片时,由于霍尔效应,金属板发生横向导通,因此可以在车轮上安装磁铁,而将霍尔器件安装在固定轴上,通过对脉冲的计数进行车速测量。
方案二:
采用在车轮上均匀地固定黑白相间的编码盘,随着车轮的移动,红外接收管产生一个个脉冲,通过MCU的ECT脉冲计数器对脉冲个数进行记数。
在一定的时间内读取脉冲计数器的脉冲个数,乘以编码盘的距离间隔,就是智能小车的速度。
方案二在在安装上简单方便,精度较高,完全能满足智能小车的精度要求。
适合采用,因而选择方案二。
2.5电源选择
方案一:
所有器件采用单一电源,这样供电比较简单;但是由于电动机启动瞬间电流很大,而且PWM驱动的舵机电流波动较大,会造成电压不稳定,有毛刺等干扰,尤其在电池电量不是很充足的情况下,很容易造成单片机系统复位,缺点十分明显。
方案二:
采用三电源供电。
将电动机驱动电源与单片机以及其周边电路电源完全隔离,利用集成高速H电路33886传输控制信号,这样做虽然不如单电源方便灵活,但可以将电动机驱动所造成的干扰彻底消除,提高了系统稳定性。
集成芯片2576驱动能力有3A,适合舵机瞬时功率比较大的器件供电;单片机采用7805供电。
集成芯片7805的特性(精度高,适合用于对电源精度高的单片机供电),输出端接1000uf的大电容,以及输入端串联二极管防止电源因瞬间电压下降引起电流回流的现象其余的检测部分的光电对管和芯片另外用一片7805供电。
由于单片机对电压的精度要求比较高。
如果把舵机和单片机的电源放到一起,舵机工作的电压波动,会影响单片机的正常工作,甚至引起单片机复位。
采用三电源后,单片机和舵机分开供电,保证单片机的正常工作。
我们认为本计的稳定性更为重要,故采用方案二。
图2.1电源2576电路图
图2.27805电路连接图
第三章系统的具体设计与实现
系统组成及原理框图如图2所示。
以下分为硬件和软件具体分析。
图2硬件系统的驱动模块
3.1系统的硬件设计
3.1.1电动机PWM驱动模块的电路设计与实现
本电路采用的是基于PWM原理的H型驱动电路。
该电路采用33886集成芯片来实现。
我们采用了200HZ的周期信号控制,通过对其占空比的调整,对车速进行调节。
最小脉宽为0.2ms速度分为5档,可以满足车速调整的精度要求。
同时可以控制电动机的转向。
图3.133886应用电路图
3.1.2路面黑线检测模块的电路设计与实现
具体电路见图4,为了检测路面黑线,在车的前部安装了八个反射式红外传感器,分成左右两组,由传感器先后通过黑线的顺序可以知道小车现在跑道的位置,以便跑回原跑道。
图3.2路面黑线检测电路图
3.1.3其他控制部分
单片机使用组委会发的最小系统,使用24M的时钟频率。
LCD显示块芯片采用串行通信,测速用的是和黑线检测一样的光电对管,对自己编的黑白码盘扫描得到脉冲,用4585整形后送入T7口进行记数。
3.2系统的软件设计
3.2.1主体控制框架
我们的控制思路是采用实时专家算法,让小车随时根据车速和路况信息到专家库中找到最合适PID参数和速度控制量,再由PID算法得到具体的方向偏移量,然后输出控制小车的行走状态。
3.2.2算法分析
我们在实验中用到的算法主要有三种,经验型算法(又称开环PID算法)和闭环PID算法以及用专家学习系统调用PID参数的专家系统。
经验算法的程序简单,控制灵活,主要是采用查表法,根据传感器检测得到的信号查表得到所需要的速度和方向控制量,然后直接输出到舵机和主电机控制速度和方向,由于程序简单,控制速度很快也很灵活,但对赛道的适应能力差,对赛道没有识别,特别是跑直道时会左右摇摆,S形曲线前进。
PID算法也分两种位置型和增量型:
位置型的PID对于舵机这种靠占空比调转向角度的执行机构比较适合,不会出现累计的误差,位置型的公式如下:
应用到我们的小车中,由于小车要灵活度高,所以我们建立了一个4位的数组,让积分环节对最近的4次误差进行运算,程序中用到的位置型算法公式如下:
对算法的一些改进:
由于采用4位数组,所以一般不会出现积分饱和的现象,不用积分分离和抗积分饱和,但微分项的作用太强烈,所以决定采用不完全的微分。
公式如下:
取
为0.2时,在程序中对应的公式如下
把经验型和PID算法结合起来就是我们的专家学习系统,它的具体控制策略是:
结合智能小车的运行情况,建立一个适合最优运动路径的经验规则库,在运动过程中记录每一次路况信息,利用MC9S12DG128的ECT模块精确定时,记录每两次不同信号的间隔时间。
再从脉冲累加器里面得到两次不同信号间的测速光电传感器送出的脉冲个数,计算出两次不同信息智能小车运行的准确距离。
利用间隔时间,和运动距离,结合红外检测传感器的感知的位置,得到智能车的偏转方向角度,速度,预测未知的周围环境,在此基础上,再进行逻辑推理,得到控制速度大小和控制转向舵机的角度方向PID参数修正值,再把这些参数值储存起来,丰富专家知识库,把以前不适合最优控制智能小车运动的参数删除,实现了PID参数根据环境的自学习过程,这样智能小车能适应未知道环境,并在未知环境下实现参数的自我学习,自我更新过程。
并将有用参数遗传下去,不断自我完善。
3.2.0主程序
3.2.1路面检测程序
图3.4光电检测与路程计数中断程序流程图
外部八组红外线检测传感器共用一个中断源,进入中断服务程序后查询具体是哪一路传感器遇到黑线。
3.2.2显示程序
显示程序主要显示队名和速度,队名是在初始化的过程中显示的,速度的显示比较复杂。
要速度检测程序得到速度再用中断显示出来,显示程序是使用通用的lcd显示子程序。
3.2.3测速程序
测速由于用的是光电对管和黑白码盘,所以输出是脉冲信号,要通过定时器和计数器在单位时间对脉冲进行记数才会得到速度,程序流程如下:
图3.32测速程序流程图
第四章安装和调试过程
4.1硬件安装过程
小车车体模型是组委会发的韩国车模,在组装过程中遇到了一些问题,一是小车的后轮固定问题,安装说明书上说有小的螺钉可以卡在车轴上固定轴距,但在安装过程没有发现螺钉,实验中小车后轮轴距变大,总是打滑,所以后来只能用502胶水来固定后车轴来保持轴距不变。
二是车模中用于固定电池的塑料卡带固定电池时,由于车底盘很低,卡带稍微弓起来就会与地面摩擦,影响车速,我们后来采用胶带来固定电池。
电路板的安装我们用了车模中提供的长螺钉,在电池上放搭起一个平台,先放一块废旧的pcb板子作垫板,铺上一层保护塑料膜,再把焊好的电路板放上去,单片机是插在电路板上已经焊好的引脚端子上。
传感器我们使用pcb制板,然后焊上光电对管和4585,用短一些的螺钉固定在车体的前部,所有信号线采用排线,减小互相干扰,设置两个开关,一个控制单片机,另一个控制电路和动力电机。
4.2小车技术参数
小车长:
354.6mm宽:
228.6mm。
单片机工作电流0.13A,功率0.65W。
红外传感器及信号整定电路工作电流0.14A,功率0.7W。
舵机工作电流0~1.4A,功率最大7W。
驱动电机工作电流0~1.4A,功率最大7W。
整个系统功率1.35W~15.35W。
伺服电机个数0个。
电容总容量1703.033uF。
4.3软件调试过程
首先用开环的PID算法,也就是常说的经验算法进行调试,发现经验算法在速度适中的时候发挥稳定,但速度一快,就会转弯迟钝,直道摇摆,分析认为是控制滞后的原因。
然后我们采用闭环的控制,调参数的时候发现积分项对程序影响过大,把积分的无限累加项改为4后效果变好,几天调节PID参数后得出结论没有一组参数可以在弯道和直道都跑得很好,直道要求比例系数低,以免震荡而弯道要求比例系数高以保证顺利过弯,尖锐地矛盾使我们想到了不用一套PID参数,改用几套PID参数,根据不同的路况用专家算法调用不同的参数,这时就出现了一个问题,怎样准确的判断弯道和直道,在这个问题上我们思索和实验了很久,从刚开始的根据误差大来确定是弯道到根据近4次路况判断,试了很久后发现了一套根据路况的变化速度和车速来判断直道和弯道曲率的专家算法,根据专家算法的结果选用PID参数,试车后效果很好,小车有了自适应赛道的能力,会在大弯的时候轻转,小弯的时候急转,直道不摇摆。
方向可以控制以后我们就想怎样好的控制速度,刚开始我们用的是用误差来控制速度,误差大的时候就减速,误差小的时候就加速,实验中发现这样控制速度时直道速度适中,但转弯后会有一段时间速度提不起来。
后来我们改用小车的行驶趋势来控制速度,当小车是偏离赛道的时候减速,是接近赛道的时候加速,实验中小车过弯后能很快的加速。
第五章测试结果及误差分析
5.1小车的硬件参数
小车长:
354.6mm宽:
228.6mm
5.2测试设备。
模拟跑道:
总长度28.12m,卷尺:
精度1cm
秒表:
精度0.01s
5.3测试结果(省略)
第六章总结与展望
从本次设计大赛的汽车自动控制中体会到,要对高速行驶中的汽车实施控制并不是一个简单的自动控制问题,它涉及到了机械学、力学、光学、电磁学等方面的知识,并与单片机相互配合,利用了单片机的强大功能实现了带速度反馈的闭环速度控制系统,以及在未知环境下,智能小汽车的路径识别与自适应控制的融合,结合一定的算法,实现速度最快的控制功能。
从最终测试结果来看,本系统具有较强的环境适应能力,但速度仍有提升的空间。
稳定的传感器和优良的算法是使小车跑得快的最关键两点,在传感器的使用上,我们沿用了韩国比赛大部分车队采用的光电对管,前期仔细得对光电对管的性能依个检测,保证每个传感器的反应灵敏和精确,为程序的提供稳定准确的路况信号。
算法上我们开始采用的是开环的PID算法,也就是常说的经验算法,发现经验算法在速度适中的时候发挥稳定,但速度一快,就会转弯迟钝,直道摇摆,分析认为是控制滞后的原因。
然后我们采用闭环的控制,调参数的时候发现积分项对程序影响过大,把积分的无限累加项改为4后效果变好,几天调节PID参数后得出结论没有一组参数可以在弯道和直道都跑得很好,直道要求比例系数低,以免震荡而弯道要求比例系数高以保证顺利过弯,尖锐地矛盾使我们想到了不用一套PID参数,改用几套PID参数,根据不同的路况用专家算法调用不同的参数,这时就出现了一个问题,怎样准确的判断弯道和直道,在这个问题上我们思索和实验了很久,从刚开始的根据误差大来确定是弯道到根据近4次路况判断,试了很久后发现了一套根据路况的变化速度和车速来判断直道和弯道曲率的专家算法,根据专家算法的结果选用PID参数,试车后效果很好,小车有了自适应赛道的能力,会在大弯的时候轻转,小弯的时候急转,直道不摇摆。
方向可以控制以后我们就想怎样好的控制速度,刚开始我们用的是用误差来控制速度,误差大的时候就减速,误差小的时候就加速,实验中发现这样控制速度时直道速度适中,但转弯后会有一段时间速度提不起来。
后来我们改用小车的行驶趋势来控制速度,当小车是偏离赛道的时候减速,是接近赛道的时候加速,实验中小车过弯后能很快的加速。
实验中最难点是在弯道和直道的判断上,弯道的调节参数和直道调节参数的切换全靠程序根据车底光电传感器的检测信息来判断得到,这对程序是个考验,要求程序的判断有前瞻性,实验中在直道和弯道的切换中还是不流畅,程序的设计有待优化。
如果改用ccd可能会解决前瞻性的不足,但会有超频等一系列的问题有待解决,ccd传感器和更优化的程序是我们努力的方向
附录:
元器件清单
器件名称
型号
数量
备注
飞思卡尔单片机
MC9S12DG128
1
稳压芯片
2576
1
稳压芯片
7805
2
电容
1000uF
1
电容
470uF
1
电容
100uF
2
电容
33uF
1
电容
33nF
1
电阻
1K
1
光电对管
TCRT5000
9
施密特触发器
4584
2
电阻
190
9
电阻
15K
9
电感
1000uH
1
二极管
2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 小车 系统