基于飞思卡尔单片机自动循迹小车控制的设计 - 图文 下载本文

基于飞思卡尔单片机自动循迹小车控制的设计

4.1 PID 控制器原理

计算机控制系统中我们要用到数字PID控制器,它的控制规律公式为:

e(k)?r(k)?c(k) (4.1)

?Tu(k)?Kp?e(k)?TI??e(j)?j?0k?TD?e(k)?e(k?1)??T?

(4.2)

式中: k为采样的序号;k=0,1,2…;r(k)-第k次给定值; c(k)-第k次的实际输出值;u(k)-第k次输出的控制量; e(k)-第k次的偏差;e(k-1)-第k-1次的偏差; TI-积分时间常数;KP-比例系数; T-采样周期;TD-微分时间常数。 下面我们介绍的是各个校正环节的作用:

(1) 比例环节:当系统产生偏差时,比例环节会立即做出反应,通过控制比例加快相应速度,降低稳态误差。但是比例不能过大,因为过大时会使系统产生振荡,影响系统的稳定性。选择恰当的比例,对PID 控制非常重要。

(2) 积分环节:要提高系统控制的精度,就要加入积分环节,积分控制能够消除系统的偏差。积分作用强弱取决于积分常数的选定,积分常数越大,积分的作用就越弱,积分常数越小,积分作用越强。

(3) 微分环节:它的作用是通过计算偏差信号的变化率,不使偏差信号变的太大。在系统调节的早期加入偏差修正信号,使系统不会出现偏差信号变大的趋势,从而加快系统的动作速度进,达到减小调节时间的目的。 数字PID控制算法分为位置式和增量式两种。 4.2.1 位置式 PID

位置式 PID的控制方式中,执行控制机构是由计算机输出的u(k)直接控制,u(k)的值与执行机构的位置要相互对应,我们一般选用公式(4.2)作为位置式 PID 控制算法。

`

13

基于飞思卡尔单片机自动循迹小车控制的设计

位置式 PID 控制算法是全量输出,每次计算都需要用到以前的数据,需要对过去的e(k)进行累加,这样就加大了计算机的工作量[9]。执行机构与输出u(k)对应,如果计算的数据出现了问题就会导致执行机构位置发生较大变化,这种问题在实践中是不允许出现的,在一些特殊的场合,甚至会产生较为严重的事件。为了避免出现不必要的问题,将算法改进为增量式PID 控制算法。增量式PID 控制算法和位置式PID 控制算法的区别是它们的输出不同,增量式PID 控制算法的输出是△u(k)。 4.2.2 增量式 PID

控制量的增量可由式(4.2)推导出来,先由式(4.2)推导出式(4.3),再用式(4.2)减去式(4.3)便可得出式(4.4),公式如下:

??Tk?1TDu(k?1)?KP?e(k?1)??e(j)??e(k?1)?e(k?2)??TIj?0T????TTD?u(k)?KP??e(k)?e(k?1)??e(k)??e(k)?2e(k?1)?e(k?2)??TIT??

(4.3) (4.4 )

?kP?e(k)?KIe(k)?KD??e(k)??e(k?1)?TTITKD?KpDTKI?Kp式中?e(k)?e(k)?e(k?1)

增量式PID控制算法的形式如公式(4.4),在计算机控制系统中它的采样周期T是恒定的,通过确定KP 、TI 、TD和偏差(使用前后三次的测量值),便可通过(4.4)求出控制增量。

增量式 PID的优点:

(1)切换时的冲击力小(切换方式包括手动/自动切换),可以实现无忧扰动切换。因为输出通道和系统的执行装置可以把信号进行锁存,所以当计算机出现问题时,能够保持原有的值。

(2)因为计算机输出的是增量,当出现误动作时对系统的影响较小,可通过逻辑判断法关掉。

(3)算式中的量不需要累加处理。第k次的采样值决定控制增量△u(k)的大小,要获得比较好的效果时,可以通过加权处理得到。 4.2.3 PID 参数整定

PID 控制的关键技术是对KP、KI、KD 这几个参数进行调整[10],也就是所

`

14

基于飞思卡尔单片机自动循迹小车控制的设计

谓的参数整定。PID参数整定的方法有两类。一种称为理论计算整定法,它的原理是根据给定的系统数学模型,通过理论上的计算来确定控制器的参数。另一种称为工程整定方法,它的原理比较简单,主要是根据工程的经验,在实验中操作中进行调整,此类方法简单并且易于掌握,在实际工程中被广泛应用。智能车系统不仅是机电高耦合的分布式系统,而且受赛道具体环境的影响大,在实际操作时很难建立一个高精密的数学模型,同时小车的机械结构需要不时的修正,模型的参数也需要相应的改变,理论计算整定法不切合实际,故选用工程整定法。

4.3转向舵机的控制方法

4.3.1 舵机的工作原理

PWM信号通过接收通道,传入到解调电路,解调电路对其进行解调,从而获得直流偏置电压。将电位器的电压和直流偏置电压相比较,两者得出一个电压差,将这个电压差交给电机驱动集成电路,用它来控制电动机的正反转[11]。电动机的转速是一定的,电位器是靠级联减速齿轮进行调整,当电压差调整成0时,电动机便停止转动[12]。PWM信号是舵机的控制信号,舵机位置的改变是通过占空比的变化而变化。

舵机的直流电动机和控制线路由电源线和地线来提供电源。这里需要的电源是3.3V[14]。控制线的作用是提供一个方波脉冲信号,该脉冲信号的宽度可调且是周期性方波,方波信号的频率为50Hz。舵机转轴的角度随着方波脉冲宽度改变而改变,它们俩成正比例关系。 4.3.2 舵机的 PID 控制

对于舵机的控制,我们采用PID闭环控制,提取图像黑线然后求得平均值,平均值和舵机 PID的参考角度值形成一次线性关系[15]。当偏离中心线很小时,可以将Kp的值设置的小一些,几乎接近0,为了使赛车行驶时更加的稳定,在直道上时可以有一定的修正功能,所以没有直接设置成0。车子在直道上行驶时基本上是直线加速状态,车身左右抖动比较小。

`

15

基于飞思卡尔单片机自动循迹小车控制的设计

5 开发平台介绍

5.1 IAR Embedded Workbench IDE简介

IAR Systems 公司为ARM微处理器专门研发了IAR Embedded Workbench for ARM集成开发环境。和其它开发环境相比较,IAR Embedded Workbench for ARM入门更加容易、使用更加方便、代码也更加紧凑。

在嵌入式 IAR Embedded Workbench IDE的框架里,它能够允许任何可用的工具完美的嵌入其中,以下为嵌入的工具: 1.AVR IAR汇编器;

2.IAR XAR库创建器和IAR XLIB Librarian; 3.高度优化的IAR AVR C/C++编译器; 4.一个工程管理器; 5.一个强大的编辑器;

6.一个具有世界先进水平的高级语言调试器; 7.高度优化的IAR AVR C/C++编译器; 8.通用IAR XLINK Linker;

5.2 IAR Embedded Workbench的功能及特点

嵌入式IAR Embedded Workbench适用的微控制器和微处理器有8 位、16 位以及32 位,因此,用户即使是开发新的项目,开发环境也是以前熟悉的环境。它的开发环境用户学起来比较容易上手,具有最大量的代码继承能力,可以支持大多数甚至一些特殊的目标。嵌入式IAR Embedded Workbench不仅有效提高了用户的工作效率,而且通过使用IAR工具,大大节省了用户的工作时间。我们称这种理念为不同构架下的同一解决方案。

IAR Embedded Workbench 操作界面不仅非常简洁而且工具栏的布局也非常合理清晰,运用不同的功能也非常的方便。IAR Embedded Workbench开发环境可以很好的兼容Freescale公司生产的K60系列处理器。具体的操作界面如下图5.1 所示。

`

19