您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 电机伺服控制和PID算法简介
电机伺服控制和PID算法详解1电机伺服控制技术简介所谓伺服控制,通常也就是指闭环控制,即通过反馈环节,测量被控制对象的变化,用以修正电机输出的控制技术。对于要求不高的应用,通常采用简单的开环控制。例如,给直流有刷电机的两根引线通电,电机就会旋转;施加的电压越高,电机转速越高,力量越大。但是在很多需要精密控制的场合,仅仅这种方式还是不够的,还需要依靠一定的反馈装置,将电机的转速或位置信息反馈给微控制器或其他的机械装置,通过一定的算法变成可以调节电机控制信号的输出,从而使电机的实际转速、位置等参数与我们所希望的一致。机器人控制是一个精度要求比较高的领域,例如,基于以下的一些考虑,机器人平台需要使用闭环控制。a)开环控制情况下,移动机器人在爬坡时,电机速度会下降。更糟糕的是,当双轴独立驱动的移动机器人以一定的角度接近斜坡时。每一个车轮转速的下降值将会不同,结果是机器人的实际运动轨迹是沿着一条曲线而不是直线行进。b)不平坦的地面会造成移动机器人的两个车轮转速之间的差异。如果转速较低的车轮的驱动电机没有得到相应的电压补给,移动机器人将偏移既定的路线。c)由于安装工艺、负载不完全均衡等原因,即使是完全匹配的两个电机,并在相同的输入电压条件下,他们的速度有时仍会产生不同,即转速差。d)如果采用的是PWM控制,即使在PWM信号占空比不变的条件下,随着电池电压的逐渐下降,电机供给电压也会随之降低,从而导致电机的转速与给定值不完全一致。综合以上的一些考虑,必须选择闭环控制的方式,其工作流程如下图所示:闭环系统中加上了反馈环节(通常机器人的驱动电机使用的是增量式光学编码器)。在闭环控制系统中,速度指令值通过微控制器变换到功放驱动电路,功放驱动电路再为电机提供能量。光学编码器用于测量车轮速度的实际值并将其回馈给微控制器。基于实际转速与给定转速的差值,即“偏差”,驱动器按照一定的计算方法(如PID算法)调整相应的电压供给,如此反复,直到达到给定转速。闭环控制模型示意图速度闭环控制示意图这里,电机的控制算法起到了十分关键的作用。控制算法的过程是:通过接受指令速度值,通过运算向电机提供适当的驱动电压,尽快地和尽量平稳的使电机转速达到指令速度值,并维持这个速度值。换言之,一旦电机速度达到了指令速度值,即使在各种不利的因素(如斜坡、碰撞之类等市电机转速发生变化的因素)的干扰下也应该保持该速度值不变。现在已经有形形色色的控制算法被研究出来,实际上,控制理论本身就是一门独立的学科。这里仅介绍经典、流行的比例-积分-微分(PID:ProportionalIntegralDerivative)控制算法。2PID调节器及其软件实现PID控制器是控制系统中技术比较成熟,而且是应用最广泛的一种控制器。它的结构简单,参数容易调整,不一定需要系统的确切数学模型,因此在工业的各个领域中都有应用。PID控制器最先出现在模拟控制系统中,传统的模拟PID控制器是通过硬件(电子元件、气动和液压元件)来实现它的功能。随着计算机的出现,把它移植到计算机控制系统中来,将原来的硬件实现的功能用软件来代替,因此称作数字PID控制器,所形成的一整套算法则称为数字PID算法。数字PID控制器与模拟PID控制器相比,具有非常强的灵活性,可以根据实验和经验在线调试参数,因此可以得到更好的控制性能。这里将介绍PID控制的基本原理、数字PID控制算法及改进以及数字PID控制器的参数选择。3模拟式PID调节器+PID控控控控控控控控e(t)u(t)n0(t)+n(t)-在模拟控制系统中,控制器最常用的控制规律是PID控制。为了说明控制器的工作原理,我们先看一个例子。上图是一个小功率直流电机调速原理图。给定转速n0(t)与实际转速n(t)进行比较,其差值e(t)=n0(t)-n(t),经过PID控制器调整后输出电压控制信号u(t),u(t)经过功率放大后,驱动直流电动机改变其转速。被控对象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调节器的控制规律为00])()(1)([u(t)udttdeTdtteTteKpDtI式中Kp---比例系数;IT----积分常数;DT----微分常数;0u----控制常量;在模拟PID中,比例环节的作用是对偏差瞬间作出快速反应。偏差一旦产生,控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱取决于比例系数Kp,Kp越大,控制越强;但是过大的Kp会导致系统震荡,破坏系统的稳定性。由上式可以看出,只有当偏差存在时,第一项才有控制量输出。所以,对大部分被控制对象(如直流电机的调压调速),需要加上适当的与转速和机械负载有关的控制常量0u,否则,比例环节将会产生静态误差。积分环节的作用是把偏差的积累作为输出。在控制过程中,只要有偏差存在,积分环节的输出就会不断增大。直到偏差e(t)=0,输出的u(t)才可能维持在某一常量,使系统在给定值r(t)不变的条件下趋于稳态。因此,即使不加控制常量0u,也能消除系统输出的静态误差。积分环节的调节作用虽然会消除静态误差,但是也会降低系统的响应速度,增加系统的超调量。积分常数IT越大,积分的积累作用越弱。增大积分常数IT会减慢静态误差的消除过程,但是可以减少超调量,提高系统的稳定性。所以,必须根据实际控制的具体要求来确定IT。实际的控制系统除了希望消除静态误差外,还要求加快调节过程。在偏差出现的瞬间,或在偏差变化的瞬间,不但要对偏差量作出立即响应(比例环节的作用),而且要根据偏差的变化趋势预先给出适当的纠正。为了实现这一作用,可在PI控制器的基础上加入微分环节,形成PID控制器。微分环节的作用是阻止偏差的变化。它是根据偏差的变化趋势(变化速度)进行控制。偏差变化的越快,微分控制器的输出就越大,并能在偏差值变大之前进行修正。微分作用的引入,将有助于减少超调量,克服震荡,使系统趋于稳定。特别对于高阶系统非常有利,它加快了系统的跟踪速度。但微分的作用对输入信号的噪声很敏感,对那些噪声较大的系统一版不用微分,或在微分起作用之前先对输入信号进行滤波。适当的选择微分常数DT,可以使微分环节的作用达到最优。4数字式PID调节器由于计算机的出现,计算机进入了控制领域。人们将模拟PID控制规律引入到计算机(或其他微处理器)中来。对上式的PID控制规律进行适当的变换,就可以用软件来实现PID控制,即数字PID控制。数字PID控制算法可以分为位置式PID控制算法和增量式PID控制算法。a)位置式PID控制算法由于计算机或单片机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,而不能像模拟控制那样连续输出控制量,进行连续控制。由于这一特点,式3中的积分项和微分项不能直接使用,必须进行离散化处理。离散化处理的方法为:以T作为采样周期,k作为采样序号,则离散时间kT对应着连续时间t,用求和的形式代替积分,用增量的形式代替微分,可作如下近似变换t≈kT(k=0,1,2,……)tdtte0)(≈TkjjTe0)(=Tkjje0)(dttde)(≈TeeTTkekTekk1])1[()(上式中,为了表示方便,将e(kT)简化成e(k)等。将上式代入式中,就可以得到离散的PID表达式为:010)]([u(k)ueeTTeTTeKpkkDkjjIk或010)(u(k)ueeKdeKiKpekkkjjk式中k-----------采样序号,k=0,1,2……ku--------第k次采样时刻的计算机输出值;ke--------第k次采样时刻输入的偏差值;1ke--------第k-1次采样时刻输入的偏差值;Ki--------积分常数,Ki=KpT/IT;Kd--------微分常数,Kd=KpdT/T;0u-------开始进行PID控制时的原始初值;如果采样周期取得足够小,则式中的近似计算可获得足够精确的结果,离散控制过程与连续控制过程十分接近。它给出了全部控制量的大小,因此被称为全量式或位置式PID控制算法。这种算法的缺点是:由于全量输出,所以每次输出均与过去状态有关,计算时要进行累加,工作量大,;并且,因为计算机输出量对应的是执行机构的实际位置,如果计算机出现故障,输出量将会大幅度变化,会引起执行机构的大幅度变化,有可能造成一定事故,这在生产实际中是不能允许的。因此采用增量式PID控制算法:增量式PID控制算法是指数字控制器的输出只是控制量的增量△ku.其推导如下:由式可得021101)]([1)-u(kueeTTeTTeKpkkDkjjIk将上式与式相减,整理可得:kukkkkDkIkkkkDkIkkeKdKieeKpeTTeTTeKpeeeTTeTTeeKp22211)()]2([1)-u(k-u(k)u(k)式中;1kkkeee;21212kkkkkkeeeeee;ITTKpKi;TTKpKdD由上式可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定了A,B,C,就可以利用前后三次测量值的偏差,求出控制增量。实际中位置式增量的PID控制算法可以通过增量式控制算法推出递推计算公式kkkuuu1在实际的应用中,根据具体的系统要求,需要采用一定的改进算法。1、死区设定:由于系统本身的需要精度或者是固有的机械特性设定一定的控制死区,可以认为控制量在此控制区内已经达到了稳定。为此,设定死区dead_line,作如下计算:1kkuu,如果;line_dead||kekkkuuu1,如果;line_dead||ke2、控制量饱和:由于系统本身的限制,其控制量不能超过一定的极限;因此对控制的做了上下限的设定,以保证系统可靠的工作,即设定MAX和MIN,作如下计算:kkuu,如果;MIN&&MAXkkuuMAXuk,如果MAXku;MINuk,如果MINku;除此之外,还有其他的一些改进算法,这里不再详细介绍,有兴趣的请参考自动控制原理方面的有关书籍,例如《电动机的单片机控制》(北京航空航天大学出版社,马忠梅著)。
本文标题:电机伺服控制和PID算法简介
链接地址:https://www.777doc.com/doc-5663181 .html