电机伺服控制和PID算法简介

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电机伺服控制和 PID 算法详解
1 电机伺服控制技术简介
所谓伺服控制,通常也就是指闭环控制,即通过反馈环节,测量被控制对象的变化,用 以修正电机输出的控制技术。 对于要求不高的应用,通常采用简单的开环控制。例如,给直流有刷电机的两根引线通 电,电机就会旋转;施加的电压越高,电机转速越高,力量越大。但是在很多需要精密控制 的场合,仅仅这种方式还是不够的,还需要依靠一定的反馈装置,将电机的转速或位置信息 反馈给微控制器或其他的机械装置, 通过一定的算法变成可以调节电机控制信号的输出, 从 而使电机的实际转速、 位置等参数与我们所希望的一致。 机器人控制是一个精度要求比较高 的领域,例如,基于以下的一些考虑,机器人平台需要使用闭环控制。 a) 开环控制情况下,移动机器人在爬坡时,电机速度会下降。更糟糕的是,当双轴独立驱 动的移动机器人以一定的角度接近斜坡时。 每一个车轮转速的下降值将会不同, 结果是 机器人的实际运动轨迹是沿着一条曲线而不是直线行进。 b) 不平坦的地面会造成移动机器人的两个车轮转速之间的差异。 如果转速较低的车轮的驱 动电机没有得到相应的电压补给,移动机器人将偏移既定的路线。 c) 由于安装工艺、负载不完全均衡等原因,即使是完全匹配的两个电机,并在相同的输入 电压条件下,他们的速度有时仍会产生不同,即转速差。 d) 如果采用的是 PWM 控制,即使在 PWM 信号占空比不变的条件下,随着电池电压的逐 渐下降,电机供给电压也会随之降低,从而导致电机的转速与给定值不完全一致。 综合以上的一些考虑,必须选择闭环控制的方式,其工作流程如下图所示:闭环系统中 加上了反馈环节 (通常机器人的驱动电机使用的是增量式光学编码器) 。 在闭环控制系统中, 速度指令值通过微控制器变换到功放驱动电路, 功放驱动电路再为电机提供能量。 光学编码 器用于测量车轮速度的实际值并将其回馈给微控制器。 基于实际转速与给定转速的差值, 即 “偏差”,驱动器按照一定的计算方法(如 PID 算法)调整相应的电压供给,如此反复,直 到达到给定转速。
Kp ( ek
T T ek D 2ek ) Kpek Kiek Kd2ek TI T
式中
ek ek ek 1 ;
2ek ek 2ek 1 ek 2 ek ek 1;
Ki Kp
T ; TI
Kd Kp
TD ; T
由上式可以看出,如果计算机控制系统采用恒定的采样周期 T,一旦确定了 A,B,C,就 可以利用前后三次测量值的偏差,求出控制增量。 实际中位置式增量的 PID 控制算法可以通过增量式控制算法推出递推计算公式
2 PID 调节器及其软件实现
PID 控制器是控制系统中技术比较成熟, 而且是应用最广泛的一种控制器。 它的结构简 单,参数容易调整,不一定需要系统的确切数学模型,因此在工业的各个领域中都有应用。 PID 控制器最先出现在模拟控制系统中,传统的模拟 PID 控制器是通过硬件(电子元 件、气动和液压元件)来实现它的功能。随着计算机的出现,把它移植到计算机控制系统中 来,将原来的硬件实现的功能用软件来代替,因此称作数字 PID 控制器,所形成的一整套 算法则称为数字 PID 算法。 数字 PID 控制器与模拟 PID 控制器相比, 具有非常强的灵活性, 可以根据实验和经验在线调试参数,因此可以得到更好的控制性能。这里将介绍 PID 控制 的基本原理、数字 PID 控制算法及改进以及数字 PID 控制器的参数选择。
上式中,为了表示方便,将 e(kT) 简化成 e(k)等。 将上式代入式中,就可以得到离散的 PID 表达式为: k
u(k) Kp[ek

T TI
e
j 0 k
源自文库
j

TD (ek ek 1 )] u0 T
u(k) Kpek Ki e j Kd (ek ek 1 ) u0
Kp 越大,控制越强;但是过大的 Kp 会导致系统震荡,破坏系统的稳定性。
由上式可以看出,只有当偏差存在时,第一项才有控制量输出。所以,对大部分被控制 对象(如直流电机的调压调速) ,需要加上适当的与转速和机械负载有关的控制常量 则,比例环节将会产生静态误差。 积分环节的作用是把偏差的积累作为输出。在控制过程中,只要有偏差存在,积分环节 的输出就会不断增大。直到偏差 e(t)=0,输出的 u(t)才可能维持在某一常量,使系统在给 定值 r(t)不变的条件下趋于稳态。因此,即使不加控制常量 误差。 积分环节的调节作用虽然会消除静态误差, 但是也会降低系统的响应速度, 增加系统的 超调量。积分常数 TI 越大,积分的积累作用越弱。增大积分常数 TI 会减慢静态误差的消除 过程,但是可以减少超调量,提高系统的稳定性。所以,必须根据实际控制的具体要求来确 定 TI 。 实际的控制系统除了希望消除静态误差外,还要求加快调节过程。在偏差出现的瞬间, 或在偏差变化的瞬间,不但要对偏差量作出立即响应(比例环节的作用) ,而且要根据偏差 的变化趋势预先给出适当的纠正。为了实现这一作用,可在 PI 控制器的基础上加入微分环 节,形成 PID 控制器。 微分环节的作用是阻止偏差的变化。它是根据偏差的变化趋势(变化速度)进行控制。 偏差变化的越快,微分控制器的输出就越大,并能在偏差值变大之前进行修正。微分作用的 引入,将有助于减少超调量,克服震荡,使系统趋于稳定。特别对于高阶系统非常有利,它 加快了系统的跟踪速度。 但微分的作用对输入信号的噪声很敏感, 对那些噪声较大的系统一 版不用微分,或在微分起作用之前先对输入信号进行滤波。 适当的选择微分常数 TD ,可以使微分环节的作用达到最优。
k 作为采样序号,则离散时间 kT 对应着连续时间 t,用求和的形式代替积分,用增量的形式 代替微分,可作如下近似变换 t≈kT
t
k
(k=0,1,2, ……)
k
e(t )dt ≈T e( jT ) =T e( j )
0
j 0 j 0
d e(t ) e(kT ) e[(k 1)T ] ek ek 1 ≈ dt T T
uk uk 1 uk
在实际的应用中,根据具体的系统要求,需要采用一定的改进算法。 1、 死区设定:由于系统本身的需要精度或者是固有的机械特性设定一定的控制死区,可以 认为控制量在此控制区内已经达到了稳定。为此,设定死区 dead_line,作如下计算:
uk uk 1
uk uk 1 uk
u(t ) Kp[e(t ) 1 TI
e(t )dt T
0
t
D
de(t ) ] u0 dt
式中
Kp ---比例系数;
TI ----积分常数; TD ----微分常数; u0 ----控制常量;
在模拟 PID 中,比例环节的作用是对偏差瞬间作出快速反应。偏差一旦产生,控制器 立即产生控制作用, 使控制量向减少偏差的方向变化。 控制作用的强弱取决于比例系数 Kp ,
闭环控制模型示意图
速度闭环控制示意图 这里,电机的控制算法起到了十分关键的作用。控制算法的过程是:通过接受指令速度
值, 通过运算向电机提供适当的驱动电压, 尽快地和尽量平稳的使电机转速达到指令速度值, 并维持这个速度值。换言之,一旦电机速度达到了指令速度值,即使在各种不利的因素(如 斜坡、碰撞之类等市电机转速发生变化的因素)的干扰下也应该保持该速度值不变。现在已 经有形形色色的控制算法被研究出来,实际上,控制理论本身就是一门独立的学科。这里仅 介绍经典、流行的比例-积分-微分(PID:Proportional Integral Derivative)控制算法。
u(k - 1) Kp[ek 1 T TI
e
j 0
k 1
j

TD (ek 1 ek 2 )] u0 T
将上式与式相减,整理可得:
u(k) u(k) - u(k - 1) Kp[ek ek 1
u
k
T T ek D (ek 2ek 1 ek 2 )] TI T
Kd--------微分常数,Kd=Kp Td /T;
u0 -------开始进行 PID 控制时的原始初值;
如果采样周期取得足够小, 则式中的近似计算可获得足够精确的结果, 离散控制过程与 连续控制过程十分接近。它给出了全部控制量的大小,因此被称为全量式或位置式 PID 控 制算法。这种算法的缺点是:由于全量输出,所以每次输出均与过去状态有关,计算时要进 行累加,工作量大, ;并且,因为计算机输出量对应的是执行机构的实际位置,如果计算机 出现故障,输出量将会大幅度变化,会引起执行机构的大幅度变化,有可能造成一定事故, 这在生产实际中是不能允许的。 因此采用增量式 PID 控制算法: 增量式 PID 控制算法是指数字控制器的输出只是控制量的增量△ u k .其推导如下: 由式可得
3 模拟式 PID 调节器
n0(t)+
+
e(t)
PID控 控 控
u(t)
控 控 控 控 控
n(t)-
在模拟控制系统中,控制器最常用的控制规律是 PID 控制。为了说明控制器的工作原 理,我们先看一个例子。上图是一个小功率直流电机调速原理图。给定转速 n0(t)与实际转 速 n(t)进行比较,其差值 e(t)=n0(t)-n(t),经过 PID 控制器调整后输出电压控制信号 u(t),u(t)经过功率放大后,驱动直流电动机改变其转速。
, 如果 u k MIN; uk MIN 除此之外,还有其他的一些改进算法,这里不再详细介绍,有兴趣的请参考自动控制原理方 面的有关书籍,例如《电动机的单片机控制》 (北京航空航天大学出版社,马忠梅著) 。
u0 ,否
u0 ,也能消除系统输出的静态
4 数字式 PID 调节器
由于计算机的出现,计算机进入了控制领域。人们将模拟 PID 控制规律引入到计算机 (或其他微处理器)中来。对上式的 PID 控制规律进行适当的变换,就可以用软件来实现 PID 控制,即数字 PID 控制。 数字 PID 控制算法可以分为位置式 PID 控制算法和增量式 PID 控制算法。 a) 位置式 PID 控制算法 由于计算机或单片机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量, 而不能像模拟控制那样连续输出控制量,进行连续控制。由于这一特点,式 3 中的积分项 和微分项不能直接使用,必须进行离散化处理。离散化处理的方法为:以 T 作为采样周期,
k-----------采样序号,k=0,1,2……
j 0
式中
u k --------第 k 次采样时刻的计算机输出值; e k --------第 k 次采样时刻输入的偏差值; ek 1 --------第 k-1 次采样时刻输入的偏差值;
Ki --------积分常数,Ki=KpT/ TI ;
比例
+ r(t) e(t) -
积分 微分
+
+ u(t) +
被控对象
y(t)
常规的模拟式 PID 控制系统原理框图如上图所示。该系统由模拟 PID 控制器和被控对 象组成。图中的 r(t)是给定值,y(t)是系统的实际输出值,给定值和实际输出值构成控制偏 差 e(t) =r(t)-y(t),其中 e(t)作为 PID 控制器的输入,u(t)作为 PID 控制器的输出和被控 对象的输入。因此模拟式 PID 调节器的控制规律为
, 如果 | ek | dead _ line;
, 如果 | ek | dead _ line; 2、控制量饱和:由于系统本身的限制,其控制量不能超过一定的极限;因此对控制的做了 上下限的设定,以保证系统可靠的工作,即设定 MAX 和 MIN,作如下计算:
uk uk
uk MAX
, 如果 uk MAX& &uk MIN; , 如果 u k MAX;
相关文档
最新文档