KL3102產(chǎn)品供應(yīng)
現(xiàn)在我們可以實(shí)現(xiàn)離散時間PID控制功能了。在示例 C 代碼(參見下面的代碼列表)中,變量和常量的名稱與數(shù)學(xué)方程式中的相應(yīng)元素非常匹配。此代碼可以在 PID 固件的每次迭代中執(zhí)行,通常在配置為每T毫秒觸發(fā)一次的定時器中斷內(nèi)執(zhí)行。
/* 當(dāng)前誤差- 比例項(xiàng) */
e = r - y;
/* 累積誤差- 積分項(xiàng) */
總誤差 += e;
/* 差分誤差- 導(dǎo)數(shù)項(xiàng) */
deltaError = e - 先前的錯誤;
/* PID控制*/
u = Kp * e + Ki * (totalError * T) + Kd * (deltaError /T);
/* 同時為下一次迭代做準(zhǔn)備——將之前的設(shè)置為當(dāng)前錯誤 */