PID 算法疑惑

2019-10-15 07:39发布


http://www.eeskill.com/article/id/58061


函 数 名:void Init_PID_uint(PID_uint *p)

功 能:初始化PID参数

说 明:调用本函数之前,应该先对Kp,Ti,Td做设置 ,简化了公式

入口参数:PID单元的参数结构体 地址

返 回 值:无

***********************************************************************/

void Init_PID_uint(PID_Uint *p)

{

p->k1=(p->Kp)+(p->Kp)*1024/(p->Ti)+(p->Kp)*(p->Td)/1024;

p->k2=(p->Kp)+2*(p->Kp)*(p->Td)/1024;

p->k3=(p->Kp)*(p->Td)/1024;

}

最后输出值为U_k,

U_k=(p->U_kk)+(p->k1)*ek-(p->k2)*(p->ekk)+(p->k3)*(p->ekkk);

链接在上,最后输出值是U_k ,U_k和k1,k2,k3相关,这里的k1,k2,k3 ,是怎么推导出来的?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。