TPS7350

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

TPS7350PS7350是微功耗低压差线性电源芯片,具有完善的保护电路,包括过流、过压、电压反接保护。使用这个芯片只需要极少的外围元件就能构成高效稳压电路。与LM2940及AS1117稳压器件相比,TPS7350具有更低的工作压降和更小的静态工作电流,可以使电池获得相对更长的使用时间。由于热损失小,因此无需专门考虑散热问题。而且其纹波很小,又为线性稳压芯片,可以为单片机及片外AD模块提供很稳定的工作电压!5.2黑线提取5.2.1直接边缘检测算法由于比赛赛道是在白色底板上铺设黑色引导线,所以干扰比较小,采用边缘检测算法较为简单。该算法的主要过程如下:从最左端的第一个有效数据点开始依次向右进行阀值判断:由于实际中黑白赛道边缘可能会出现模糊偏差,导致阀值并不是个很简单介于两相邻之间,很可能要相隔两个点。因此:第line为原点,判断和line+3的差是否大于该阀值,如果是则将line+3记为i,从i开始继续在接下的从i+3到该行最末一个点之间的差值是否大于阀值,如果大于则将line+i/2+1的坐标赋给中心给黑线中心位置值,如图5.3所示:图5.3边缘检测算法利用该算法所得到的黑线提取效果可靠,但是每行120个点都进行采集,就使得单片机的负担很重,我们的目标只是把黑线的位置提取出来,而不是把整场整行的数据都进行采集和分析处理。所以下面介绍另一个算法:跟踪边缘检测算法。5.2.2跟踪边缘检测算法这种算法跟上一小节介绍的直接边缘检测算法一样,也是寻找出目标指引线的左边缘,仍然用左边缘的位置代表目标指引线的位置。但跟踪边缘检测从视频信号矩阵每行中寻找左边缘的方法与上一小节介绍的不同。因为目标指引线是连续曲线,所以相邻两行的左边缘点比较靠近。跟踪边缘检测正是利用了这一特性,对直接边缘检测进行了简化。其思路是:若已寻找到某行的左边缘,则下一次就在上一个左边缘附近进行搜寻,这种方法的特点是始终跟踪每行左边缘的附近,去寻找下一列的左边缘,所以称为“跟踪”边缘检测算法。经过我们的实验,发现这种算法,占用单片机时间较短,但是它的缺点就是容易受干扰,容易跟丢黑线,使之后的黑线也检测错误。5.2.3直接边缘检测和跟踪边缘检测结合考虑到以上两种方法的优缺点,我们想办法把两种算法进行互补,找出一种既不占用单片机太多时间,又使得黑线的检查部易受干扰和准确,首先,使用直接边缘检测法找出第一行的黑线位置,然后在它的基础上使用跟踪边缘检测法检测黑线。如果跟踪检测不到,就再用直接边缘检测法继续检测本行。使用这个方法之后,达到我们原来的目的。图5.4和图5.5分别为黑线提取流程图、原始数据提取图和黑线提取图。图5.4黑线提取流程图图5.5原始数据提取图图5.6黑线提取图5.3起跑线检测由于摄像头前端近处的数据比较准确为了精确地检测起跑线,在采集到的30行黑线数据当中,在1到15行里检测起跑线。当检测到某行的数据出现“高低高低高低高”的情况下,而当小车偏斜地进入“十字线”的时候,也会出现这种情况,所以为了区分这种情况,我们在检测的时候,把起跑线下一行的数据也做一个判别,当起跑线的两端黑线处的上方出现“高低”的情况,为了不多检起跑线,在检测到起跑线后,就屏蔽检测;当小车从直道过弯道后,才重新检查,因为起跑线是设置在直道的。图5.7和图5.8分别为起跑线特征图和起跑线检查流程图。图5.7起跑线特征图图5.8起跑线检查流程图5.4控制策略5.4.1PID算法介绍在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(1)比例系数Kc对系统性能的影响:比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小。Kc偏大,振荡次数加多,调节时间加长。Kc太大时,系统会趋于不稳定。Kc太小,又会使系统的动作缓慢。Kc可以选负数,这主要是由执行机构、传感器以控制对象的特性决定的。如果Kc的符号选择不当对象状态(pv值)就会离控制目标的状态(sv值)越来越远,如果出现这样的情况Kc的符号就一定要取反。(2)积分控制Ti对系统性能的影响:积分作用使系统的稳定性下降,Ti小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。(3)微分控制Td对系统性能的影响:微分作用可以改善动态特性,Td偏大时,超调量较大,调节时间较短。Td偏小时,超调量也较大,调节时间也较长。只有Td合适,才能使超调量较小,减短调节时间。5.4.2舵机控制算法根据黑线偏离设定的中心线的大小,采用位置式PID算法对舵机进行控制。在程序代码中是这样实现的:D_Iwarp=F_Line_Field[0]+F_Line_Field[1]+F_Line_Field[2];D_Dwarp=F_Line_Field[0]-F_Line_Field[1];D_PIDadjust=F_Helm_Kp*F_warptemp+F_Helm_Ki*D_Iwarp+F_Helm_Kd*D_Dwarp;D_pwm01=(int)(6000+(13*D_PIDadjust));D_Iwarp:计算ID_Dwarp:计算DD_PIDadjust:PID基本转化D_pwm01:舵机实际控制量6000:舵机中值在舵机的控制当中,只用到PD控制,在直道行驶的时候,比例项F_Helm_Kp较小,在转弯的时候比例项F_Helm_Kp较大。使得直道当中,不出现抖动,弯道转弯快速。在舵机的控制上,尝试过试用曲率加偏差来整定舵机控制量,但是实际上多参数的设定比较难把握,所以在选择方案是,把曲率的参数去掉。舵机的控制与我们小车的机械结构有很大关系,所以在舵机的控制上,我们还要结合机械结构来整定舵机参数。5.4.3电机控制在速度控制方面上,采用增量式PID算法,在速度控制的基本策略是直道加速,弯道减速。把黑线位置和对应的速度做成二次函数的关系,使得速度调节比较平滑稳定、相应速度较快。图5.9为黑线位置和给定速度的二次函数曲线图。图5.9黑线位置和给定速度的二次函数曲线在程序中速度设定的代码是:F_Speed_set=HIGHSPEED-F_temp*F_temp*(HIGHSPEED-LOWSPEED)/2916(HIGHSPEED为最高速,LOWSPEED为最低速,F_temp为黑线偏差)在实际的调速当中,我们希望小车在起跑的时候全速起跑,但发现在小车起跑的时候,会发现速度带动不上,会发出“咔咔”的声音,说明现在电机齿轮出现“失步”或者“丢步”的情况。最后分析原因,出现这种情况有两个原因,一是机械上的差速不够紧,二是起跑线是在直道的,而直道的设定速度最高,所以起跑就猛加速,导致出现“失步”或者“丢步”的情况。最后,机械上把差速调整,在软件上,起跑时候一步一步地加速,不进行调速,当到达了一定速度的时候,就转到自动调速。在选择直流电机驱动芯片的时候,我们尝试过MC33886,发现会出现发热现象和驱动能力不足的缺点,优点是调速平稳;在实验CMOS管进行驱动时,发现他的驱动能力很强,但发现它的调速范围很窄,不利于智能车的调速,最好我们选择了两片BTS7960组成正传和反转驱动电机,在实际的调速当中取得很好的效果。最后在检测到两次起跑线的时候,小车就会全速直冲,然后再倒转刹车。图5.10为给定速度45(即1.6米)的速度采集图。图5.10速度采集

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功