sy8501 发表于 2023-4-16 22:27:24

增量式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:58

换句话说,

这个代码,

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

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

页: [1]
查看完整版本: 增量式PID的P/I/D物理含义,好像变了?