最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

TPS7350

IT圈 admin 33浏览 0评论

2024年3月20日发(作者:郦运珹)

TPS7350

PS7350是微功耗低压差线性电源芯片,具有完善的保护电路,包括过流、

过压、电压反接保护。使用这个芯片只需要极少的外围元件就能构成高效稳压电

路。与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.1 PID算法介绍

在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制

的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具

有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较

简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一

阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种

一种有效方法,它的参数整定方式简便,结构改变灵活

(1) 比例系数Kc对系统性能的影响:

比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小。Kc

偏大,振荡次数加多,调节时间加长。Kc太大时,系统会趋于不稳定。

Kc太小,又会使系统的动作缓慢。Kc可以选负数,这主要是由执行机

构、传感器以控制对象的特性决定的。如果Kc的符号选择不当对象状态

(pv值)就会离控制目标的状态(sv值)越来越远,如果出现这样的情况Kc

的符号就一定要取反。

(2) 积分控制Ti对系统性能的影响:

积分作用使系统的稳定性下降,Ti小(积分作用强)会使系统不稳

定,但能消除稳态误差,提高系统的控制精度。

(3) 微分控制Td对系统性能的影响:

微分作用可以改善动态特性,Td偏大时,超调量较大,调节时间较

最优控制。PID调节规律是连续系统动态品质校正的

短。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_K

D_pwm01=(int)(6000+(13*D_PIDadjust));

D_Iwarp:计算I

D_Dwarp:计算D

D_PIDadjust:PID基本转化

D_pwm01:舵机实际控制量

6000:舵机中值

在舵机的控制当中,只用到PD控制,在直道行驶的时候,比例项F_Helm_Kp

较小,在转弯的时候比例项F_Helm_Kp较大。使得直道当中,不出现抖动,弯

道转弯快速。在舵机的控制上,尝试过试用曲率加偏差来整定舵机控制量,但是

实际上多参数的设定比较难把握,所以在选择方案是,把曲率的参数去掉。舵机

的控制与我们小车的机械结构有很大关系,所以在舵机的控制上,我们还要结合

机械结构来整定舵机参数。

d*D_Dwarp;

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 速度采集

2024年3月20日发(作者:郦运珹)

TPS7350

PS7350是微功耗低压差线性电源芯片,具有完善的保护电路,包括过流、

过压、电压反接保护。使用这个芯片只需要极少的外围元件就能构成高效稳压电

路。与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.1 PID算法介绍

在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制

的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具

有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较

简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一

阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种

一种有效方法,它的参数整定方式简便,结构改变灵活

(1) 比例系数Kc对系统性能的影响:

比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小。Kc

偏大,振荡次数加多,调节时间加长。Kc太大时,系统会趋于不稳定。

Kc太小,又会使系统的动作缓慢。Kc可以选负数,这主要是由执行机

构、传感器以控制对象的特性决定的。如果Kc的符号选择不当对象状态

(pv值)就会离控制目标的状态(sv值)越来越远,如果出现这样的情况Kc

的符号就一定要取反。

(2) 积分控制Ti对系统性能的影响:

积分作用使系统的稳定性下降,Ti小(积分作用强)会使系统不稳

定,但能消除稳态误差,提高系统的控制精度。

(3) 微分控制Td对系统性能的影响:

微分作用可以改善动态特性,Td偏大时,超调量较大,调节时间较

最优控制。PID调节规律是连续系统动态品质校正的

短。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_K

D_pwm01=(int)(6000+(13*D_PIDadjust));

D_Iwarp:计算I

D_Dwarp:计算D

D_PIDadjust:PID基本转化

D_pwm01:舵机实际控制量

6000:舵机中值

在舵机的控制当中,只用到PD控制,在直道行驶的时候,比例项F_Helm_Kp

较小,在转弯的时候比例项F_Helm_Kp较大。使得直道当中,不出现抖动,弯

道转弯快速。在舵机的控制上,尝试过试用曲率加偏差来整定舵机控制量,但是

实际上多参数的设定比较难把握,所以在选择方案是,把曲率的参数去掉。舵机

的控制与我们小车的机械结构有很大关系,所以在舵机的控制上,我们还要结合

机械结构来整定舵机参数。

d*D_Dwarp;

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 速度采集

发布评论

评论列表 (0)

  1. 暂无评论