迅游加速器 迅雷下载:引用 PID 算法应用实例(一) - 娟子的日志 - 网易博客1
来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 20:49:54
四、参数调整
【以下资料摘自DSP交流网(http://www.hellodsp.com/)】
PID控制器参数选择的方法很多,例如试凑法、临界比例度法、扩充临界比例度法等。但是,对于PID控制而言,参数的选择始终是一件非常烦杂的工作,需要经过不断的调整才能得到较为满意的控制效果。依据经验,一般PID参数确定的步骤如下:
(1)确定比例系数Kp
确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使之成为纯比例调节。输入设定为系统允许输出最大值的60%~70%,比例系数Kp由0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失。记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的60%~70%。
(2)确定积分时间常数Ti
比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直至系统出现振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。
(3)
微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需要设定,则与确定Kp的方法相同,取不振荡时其值的30%。
(4)
对PID参数进行微调,直到满足性能要求。
PID代码
//定义变量
float Kp;
float Ti;
float T;
float Ki;
float ek;
float ek1;
float ek2;
float uk;
signed int uk1;
signed int adjust;
//变量初始化
// Ki=KpT/Ti=0.8,微分系数Kd=KpTd/T=0.8,Td=0.0002,根据实验调得的结果确定这些参数
int piadjust(float ek)
{
}
下面是在AD中断程序中调用的代码。