五、PID算法原理
在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在我所接触的控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的,想想牛顿的力学三大定律吧,想想爱因斯坦的质能方程吧,何等的简单!简单的不是原始的,简单的也不是落后的,简单到了美的程度。先看看PID算法的一般形式:
PID的流程简单到了不能再简单的程度,通过误差信号控制被控量,而控制器本身就是比例、积分、微分三个环节的加和。这里我们规定(在t时刻):
1.输入量为rin(t);
2.输出量为rout(t);
3.偏差量为err(t)=rin(t)-rout(t);
pid的控制规律为
理解一下这个公式,主要从下面几个问题着手,为了便于理解,把控制环境具体一下:
1.规定这个流程是用来为直流电机调速的;
2.输入量rin(t)为电机转速预定值;
3.输出量rout(t)为电机转速实际值
4.执行器为直流电机;
5.传感器为光电码盘,假设码盘为10线;
6.直流电机采用PWM调速转速用单位转/min表示;不难看出以下结论:
1.输入量rin(t)为电机转速预定值(转/min);2.输出量rout(t)为电机转速实际值(转/min);3.偏差量为预定值和实际值之差(转/min)
六、PID算法应用——线性控制原理
PID控制的三要素:控制器,被控对象,反馈器。控制器就是一个数学模型,就PID来说,等同于PID算法。是对反馈量的一个处理与输出。通俗的说就是对于每个被控的量,我的输出量通过什么函数式算出,或者说,我如何描述我的输出量。现在我给定一个描述性的传递函数。从数学角度来看:它的自变量是反馈值,当这个函数的对应关系确定了之后,输出量就是个定值了。我的希望是:这个描述函数是一个透明的空箱——它既能反映系统外部特性,又可以看到其内部结构。
就拿比赛来说:假设我现在要构建这样一个闭环系统,这个系统的反馈调节建立了一个描述函数,最根本的在于:
1 这个系统的动态性从根本上讲取决于哪些因素;2这些因素如何决定系统的性能;
数学模型的描述:1 描述函数-》微分方程。描述函数的自变量与因变量满足微分方程。(瞬间变化的关系式)
2 将微分方程做一个处理,得出其特征方程,这个特征方程称作描述函数的极点。
ps:下面简述一下极点和零点。对描述函数做拉普拉斯变换,将描述函数变换成一个与它本身相关的函数,并找出其通解和特解,通解是这个函数的开环特征,用来描述输出与输入的关系,零点是调节变量,用于闭环中对系统反馈参数的调节。(对函数做拉普拉斯变换事实上是针对描述大多函数是常微分方程的一种现象)
我们有必要对这个描述函数的解进行研究,尽管在线性控制原理中并不关注并不要求去了解他,但是对于这个常微分方程的极点形式的了解有助于我们认识这个描述函数的物理意义。这是高数的知识,就不再累述。通过求解,可以看到极点其实就是这个经过拉普拉斯变换的描述函数的一次项的系数,零点是反馈量的相关函数的系数。也就是说,极点一旦确定,这个函数也就确定了,对于每一个输入函数,赋予零点变换,再进过极点变换 ,最后生成输出量。
把我们现在得到的结论联系一下:对于一个闭环的系统我们通过对控制器一些参数的理论求解,或者说调试求解,最终改变输出变量,从而使这个系统持续稳定。也就是说,在控制器内,存储了有关于反馈值某种预期的实现方法,这些方法用一些固定的参数来描述,然后输出变量改变系统的状态。我的任务是调试这些具有物理意义的参数。
下面是一个简单的PID程序设计:
double kp,ki,kd;
double resultfunc(void)
{
double error;
double diff;
double lasterror = 0;
error = target - input;
sumerror += error;
diff = error - lasterror;
lasterror = error;
output = kp * error + ki * sumerror + kd * diff;
return output;
}
你会发现其实想象中的PID要比现实中的PID复杂很多,这是理所当然的,因为经过PID数学计算之后,带入的公式只是一个近似量。但是这可不是随便瞎设的一个值,最重要的是,你需要数学计算。
不得不说一下,对于一个完全的门外汉来说,PID是一个十分高神的名词,很多人一上手就接触PID,结果连输出输入的到底是什么都搞不明白,其实不妨接触一下线性控制的理论,这对于你的视野和思路有及其清晰的指导。
参数整定寻最佳,从小到大顺序查;
先是比例后积分,最后才把微分加;
曲线振荡很频繁,比例度盘要放大;
曲线漂浮绕大弯,比例度盘往小扳;
曲线偏离回复慢,积分时间往下降;
曲线波动周期长,积分时间再加长;
曲线振荡变很快,先把微分降下来;
动差大来波动慢,微分时间要加长;
联想曲线两个波,前高后低4比1;
一看二调多分析,调节质量不会低。
评论
查看更多