产品中心
详细信息
KL3102产品供应
现在我们可以实现离散时间PID控制功能了。在示例 C 代码(参见下面的代码列表)中,变量和常量的名称与数学方程式中的相应元素非常匹配。此代码可以在 PID 固件的每次迭代中执行,通常在配置为每T毫秒触发一次的定时器中断内执行。
/* 当前误差- 比例项 */
e = r - y;
/* 累积误差- 积分项 */
总误差 += e;
/* 差分误差- 导数项 */
deltaError = e - 先前的错误;
/* PID控制*/
u = Kp * e + Ki * (totalError * T) + Kd * (deltaError /T);
/* 同时为下一次迭代做准备——将之前的设置为当前错误 */