智能车分析报告.docx
《智能车分析报告.docx》由会员分享,可在线阅读,更多相关《智能车分析报告.docx(20页珍藏版)》请在冰豆网上搜索。
智能车分析报告
1.项目的功能
(1)自动沿预设轨道行驶小车在行驶过程中,能够自动检测预先设好的轨道,实现直道和弧形轨道的前进。
若有偏离,能够自动纠正,返回到预设轨道上来
(2)当小车探测到前进前方的障碍物时,可以自动躲避障碍物,从无障碍区通过小车通过障碍区后,能够自动循迹,并发出音乐报警
(3)自动检测停车线并自动停车
(4)小车在运动过程中能够自动检测速度
(5)小车在线上高速行驶,偏离线时减速并调整方向
2.项目的技术指标
1、循迹的可靠性:
因为采用反射式红外光电传感器来循迹,大大减少了可见光的影响
2.电压的合理分配,提高了小车的性能
考虑到各个部分电压的不同,对各个部分配以相应的电压,尤其是给舵机提供6v的电压,挺高了舵机的灵敏性,实现很好跟踪信号,挺高了小车的性能
3.车的速度控制稳定
3.实现控制系统的框图及每个部分的功能
总体设计
智能小车的控制是采用模块化的结构,基本思路是:
将方向传感器采集来的道路信息和速度传感器采集来的当前速度值经CPU处理,输出PWM信号到驱动舵机和电机。
方向控制和速度控制系统分别构成两个闭环系统。
在综合控制算法中,两者可相互影响;比如根据路径识别的结果来控制速度,使得在弯道上慢速,而在直道上快速。
程序的总体结构流程图如下:
开始
MCU初始化
MCU初始化
数据变量初始化
数据变量初始化
参数设置(工作模式选择)
参数设置(工作模式选择)
模式选择(路径识别传感器选择)
模式选择(路径识别传感器选择)
方向控制
方向控制
速度控制
速度控制
图5.1总程序结构图
行驶策略的实现:
1.当黑线位于车中间时,即中间两个传感器检测到黑线时,以高速行驶
2.在拐弯时有强减速,防止冲出赛道,减速后能迅速转弯
3.在连续弯路线上能够减速以保证速度稳定,此时黑线位置在传感器探头移动的特点是左右大幅度摆动,根据这一特点可以判断连续弯的情况并采取相应的多弯运行策略使小车能稳定跟踪黑线运行
系统的各部分及功能:
1.MCS-51单片机
控制行进中的小车,以实现其既定的性能指标
2.电源模块
为各个模块提供适当的电压,来保证各个部分功能的实现
3.电机驱动模块
控制驱动电机两端电压可以使模型车加速运行,也能对模型车进行制动
4.循迹模块
完成对跑道黑线的识别,根据跑道黑白部分对红外光线的反射能力的不同的原理,使用红外光电管来进行跑到黑线的识别,从而实现小车的自动循迹,这也是自动控制的体现
5.避障模块
通过对车道的识别来实现小车遇到障碍时,能自动绕过障碍继续前进,也体现了自动控制
6.舵机模块
在模型车上,舵机的输出转角通过连杆传动控制前轮转向,来实现避障和循迹等功能
7.速度检测模块
在小车运行过程中,通过检测小车的速度,从而更好实现小车的加速,匀速,避障,制动等功能
8.乐曲发生器
在小车避障时自动播放音乐,从而更好提醒控制者
四.各个部分的具体实现方式
智能车整体框架,包括控制器的输入与输出和控制算法。
光电组,输入就是编码器的脉冲输入和光电管的电压输入,通过单片机的脉冲累加器测量单位时间内的脉冲数即可表针智能车的速度,通过单片机的AD口读取光电管的电压,电压的高低可以表针光电管离黑线的远近。
输出就是两路PWM输出,一路控制舵机的转角,一路控制直流电机的速度。
控制算法就是从输入怎么得到输出,开始时就用最简单的开环控制,比如某个光电管检测到黑线,就给出一定的舵机PWM和电机PWM,让小车尽量跟踪到黑线。
车模(模型车):
包括底盘、轮胎、电机和光电编码器
控制电路板的制作要经过原理图设计、PCB元器件封装、将原理图转印至铜板、电路板砖孔和元件焊接等过程。
其中原理图的设计和PCB元器件封装需要运用电路板设计软件,推荐protel 99se。
各个硬件模块:
1. 电源模块
电源模块应由若干相互独立的稳压电路组成,并且一般采用星型结构,以减少各模块之间的相互干扰。
因为飞思卡尔智能车所提供的电池输出电压为7.2伏,但是电机驱动、舵机驱动、传感器及其他芯片等所需的额定电压并不全都等于7.2伏。
如电机为7.2伏,舵机6伏,红外发光管2伏,红外接收管和单片机5伏。
所以除电机驱动模块的电源可以直接取自电池之外,其余各模块的工作电压则需要从电池电压通过变换稳压获取,一般采用各种集成稳压芯片实现。
降压稳压电路可以采用串联稳压和开关稳压两种芯片,如在电池与舵机之间可以采用串联稳压器,电池与红外发光管之间可以采用开关稳压器。
选择稳压芯片时除了考虑输出电压和电流容量参数外,还需对稳压芯片的工作最小压差留有一定的余量,这是由于电池两端的电压在模型车运行过程中会逐步降低。
特别是在模型车启动过程中,电池提供大的启动电流时,电池两端电压会降低很多,所以需要选择一些工作压差小的稳压芯片。
在电源模块的设计中,我们考虑到各模块工作电压的需求以及小车的耗电情况,将原装的电池改为了飞思卡尔专用的电池。
设计稳压电源时,考虑到电池电压较低,并且在电量损耗时存在电压降低的情况,应此我们采用了低压差的稳压芯片LM2940。
智能车控制系统根据各部件的正常工作的需要,对配发的标准车模用7.2V、
1.8A/h的可充电Ni-Cd电源。
其中单片机系统,路径识别的光电传感器和速度检测电路需要5V电源供电,舵机使用6V,直流电机直接由电池供电。
考虑到启动和运行时产生的电压下降的现象,我们选用低压差稳压芯片
LM2940,它可以在500mA时稳压,最小压差仅为0.6V。
舵机电源使用可调变压器NPC565。
系统整个供电如图4.2所示:
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
驱动电机
NCP5650
舵机
NCP565
舵机
NCP5650
舵机
NCP565
舵机
NCP5650
舵机
NCP565舵机
7.7.2v2v镍镉电镍镉电池池
7.2v镍镉电池
单片机
单片机
单片机
单片机
单片机
单片机
LM2940
LM2940
LM2940
LM2940
LM2940
LM2940
LM2940
LM2940
LM2940
LM2940
LM2940
LM2940
摄像头或
摄像头或光电管
速度检测电路
摄像头或光电管
速度检测电路
摄像头或光电管
速度检测电路
摄像头或光电管
速度检测电路
摄像头或光电管
光电管
速度检测
电路
图4.2智能车电源分配图
系统提供6V和5V两个直流电源,分别采用低压差稳压芯片LM2940和
NCP565提供,电路图如下所示:
图4.3直流电源6V和5V的稳压电路
2.电机驱动模块
由于单片机的驱动能力不足,无法驱动像电机这样的大功率外部器件,因此必须外加驱动电路。
通过电机驱动模块,控制驱动电机两端电压可以使模型车加速运行,也能对模型车进行制动。
由于比赛中不需要模型车倒车,所以电机只工作在正转方向上做工与发电两个状态。
可以使用大功率晶体管、全桥或者半桥电路,输出PWM波形实现对于电机的控制。
为了简化电机驱动电路设计,采用集成电机驱动芯片完成对于电机的控制。
采用功率三极管作为功率放大器的输出控制直流电机。
线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路(如图2.1)。
用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的PWM调速技术。
现市面上有很多此种芯片,我选用了L298N(如图2.2)。
这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。
因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。
图2.2L298N
图2.1H桥式电路
电机驱动一般采用H桥式驱动电路,L298N内部集成了H桥式驱动电路,从而可以采用L298N电路来驱动电机。
通过单片机给予L298N电路PWM信号来控
制小车的速度,起停。
其引脚图如3.2,驱动原理图如图3.3。
图3.2L298N引脚图
图3.3电机驱动电路
3.循迹模块
循迹模块完成的是跑道黑线的识别功能,根据跑道黑白部分对红外光线的反射能力的不同的原理,使用红外光电管来进行跑到黑线的识别。
红外光电管有两部分组成,一部分为无色透明类似于LED,这是红外的发射部分,给它通电后能够产生人眼不可见的红外光,另外一部分为黑色的红外接收部分,它的电阻会随着接收到红外光的多少而变化,由于它们也是二极管,因此可以用判断二极管的方法辨别极性,判断光电管好坏的测试方法为用万用表的欧姆档连接接收管的两端,然后将接收管放入台灯下观察阻值的变化,当接收管接近台灯光源时,其电阻将会有明显的减小。
红外光电管检测黑线的原理为,由于黑色吸光,当红外发射管发出的光照射在上面后反射的部分就较小,接收管接收到的红外线也就较少,表现为电阻比较大,通过外接的电路就可以读出检测的状态,同理当照射在白色表面时发射的红外线就比较多,表现为接收管的电阻就比较小。
使用LM339专业电压比较器,作比较器来采集高低电平,从而实现信号的检测。
一片LM339内部含有四路比较器,对于我们的8路红外光电管,需要两片LM339,在使用LM339时送单片机的输出端需加约2K欧姆的上拉电阻连至5V,这样才能保证比较器在输出高电平时有5V左右的高电平输出。
若电路工作正常在光电管在黑线和白纸上移动LM339的4脚应该有明显的电压变化,经过测试,良好的情况下电压变化可以达到3-4V,电压变化比较明显。
只有多个红外光电管并联才能够起到良好的检测效果,在实际应用中光电管的排列方式,排列间距都有讲究,一般来说“一”字型的排列已经能够满足我们的要求。
考虑到跑道检测的黑线为25mm宽,我们将每两个光电管的间距也设置为25mm,整个循迹模块长度为20cm。
采用的红外对管(如图2.3),分别置于小车车身前轨道的两侧,根据光电开关接受到白线与黑线的情况来控制小车转向来调整车向.
在这里选用TCRT5000型光电对管。
图3.4循迹原理图
4.避障模块
原理同上
5. 舵机模块(转向模块)
在模型车上,舵机的输出转角通过连杆传动控制前轮转向。
此外,也可以利用舵机进行机械刹闸制动、位置传感器主动扫描等操作。
舵机本身是一个位置随动系统。
它由舵盘、减速齿轮组、位置反馈电位计、直流电机和控制电路组成。
通过内部的位置反馈,使它的舵盘输出转角正比于给定的控制信号,因此对于它的控制可以使用开环控制方式。
在负载力矩小于其最大输出力矩的情况下,它的输出转角正比于给定的脉冲宽度。
控制舵机的脉冲可以使用MCS9S12DG128的1路PWM产生。
一般来讲,舵机主要由以下几个部分组成,舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等。
工作原理:
控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。
舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。
舵机的样式多种多样。
例如电机就有有刷和无刷之分,齿轮有塑料和金属之分,输出轴有滑动和滚动之分,壳体有塑料和铝合金之分,速度有快速和慢速之分,体积有大中小三种之分等等,组合不同,价格也千差万别。
例如,其中小舵机一般称作微舵,同种材料的条件下是中型的一倍多,金属齿轮是塑料齿轮的一倍多。
需要根据需要选用不同类型。
舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。
不同舵机电源规格不等,同时也对应不同的转矩标准,即输出力矩不同。
采用6.0V-7.5V的;另外一根线是控制信号线,Futaba的一般为白色,JR的一般为桔黄色。
舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化。
给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。
舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。
由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并可以保持的驱动当中。
于是我们就用此控制小车的转向。
正是也因为舵机的控制信号是一个脉宽调制信号,所以很方便和数字系统进行接口。
只要能产生标准的控制信号的数字设备都可以用来控制舵机。
我们用89s52单片机产生舵机的控制信号来进行控制的方法,编程语言为C51。
我们就用它来产生周期20ms的脉冲信号,根据需要,改变输出脉宽。
从而实现对其控制。
6.速度检测模块
车速的检测是对车速进行闭环控制的基础,直接影响到控制效果的好坏
采用光电码盘测速法。
利用鼠标上的光电码盘设计一个轻量化的转速传感器。
光电编码盘安装于后轮轴上,上方光电门为GPIS95T,用于检测编码盘上的通光孔。
此设计,使后轮每旋转一周将产生32个脉冲,可直接送到单片机的输入捕捉模块进行处理。
7.乐曲发生器
实现小车检测到故障时能够自动播放音乐报警,采用电子音乐芯片7920A和放大器M51182L实现
实现电路如下:
基于光电管的模糊控制算法
光电传感器获得的路面信息是离散、断续变化的,具有近似性、不完善性并混杂一定的噪声,模糊控制能保证输出的连续性和平滑性并容纳这种不确定的输入信息,产生光滑的输出控制量。
同时小车的动力学模型复杂难以确定,是一个典型的时延、非线性不稳定系统,而模糊控制并不依赖于控制系统精确的数学模型,可以完成输入空间到输出空间的非线性映射。
模糊控制器主要由三部分组成,即模糊化,模糊规则推理及反模糊化。
速度控制算法
在速度控制上,采用的是位置型数字PID算法和PD算法结合的策略。
数字PID控制关键的两个问题是:
其一,速度反馈的精度;其二,PID参数的配合。
如何解决速度反馈精度的问题,关键在于提高速度检测的脉冲数的精度,减少丢脉冲的个数。
基于以上考虑,在选择处理脉冲的方法上,本设计采用M法。
即在固定周期内测量脉冲数。
之所以采用M法,原因是:
当控制周期较长时,接受到脉冲数较多,对丢1、2个脉冲不敏感;当间隔周期较短和对象惯性较大时,可认为脉冲数正比于电机转速,这样后续的地速度处理要也方便一些,甚至可以直接用脉冲数直接代替车速参加运算。
但是尽管如此,在车速很低的时候,固定周期内测得的脉冲数很少,在这种情况下丢脉冲有较大偏差。
数字PID位置型控制算式为:
T
u(k)=kp[e(k)+
TI
K
∑e(i)+TD
i=0
e(k)−e(k−1)]
T
其中Kp称为比例增益,KI称为积分系数,KD称为微分系数。
当速度偏差大于一定范围时,采用PD控制,以提高动态性能和缩短调试周期,相应控制算法流程图如下:
获取当前速度
获取当前速度
PD控制
Y
|速度值|>速度偏差域值
N
PID控制
PID控制
PD控制
Y
采样周期到
N
输出PWM
输出PWM
图5.7速度控制算法