amobbs.com 阿莫电子技术论坛

标题: 增量式PID的P/I/D物理含义,好像变了? [打印本页]

作者: sy8501    时间: 2023-4-16 22:27
标题: 增量式PID的P/I/D物理含义,好像变了?
正点原子 原帖, 其中有段代码:
https://www.amobbs.com/thread-5769294-1-1.html

/*
* @brief       pid闭环控制
* @param       *PID:PID结构体变量地址
* @param       Feedback_value:当前实际值
* @retval      期望输出值
*/
int32_t increment_pid_ctrl(PID_TypeDef *PID,float Feedback_value)
{
PID->Error = (float)(PID->SetPoint - Feedback_value);         /* 计算偏差 */

PID->ActualValue +=
(PID->Proportion * (PID->Error - PID->LastError))   /* 比例环节 */
+ (PID->Integral * PID->Error)  /* 积分环节 */
+ (PID->Derivative * (PID->Error - 2 * PID->LastError + PID->PrevError));  /* 微分环节 */

PID->PrevError = PID->LastError;                      /* 存储偏差,用于下次计算 */
PID->LastError = PID->Error;
return ((int32_t)(PID->ActualValue));        /* 返回计算后输出的数值 */
}


这里
积分环节,更像是平时的P
比例环节,更像是平时的D,


作者: sy8501    时间: 2023-4-16 22:42
换句话说,

这个代码,

如果单纯只有积分环节,就足够让电机动起来并稳定在设定的速度,这不就是位置PID的P的功能吗?

增加比例环节,可以去除超调和震荡,这不就是位置PID的D的功能吗?






欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4