(1)目前的控制算法是嵌在主程序里的,可以考慮用函數(shù)封裝起來;
(2)注意在輸出溢出時(shí),采用邊界條件限制;
(3)控制算法執(zhí)行周期應(yīng)當(dāng)使用10倍的對(duì)象階躍響應(yīng)時(shí)間效果較好;(參考《嵌入式為計(jì)算機(jī)系統(tǒng): 實(shí)時(shí)接口技術(shù)》Jonathan W.Valvano著,機(jī)械工業(yè)出版社)
(4)目前的數(shù)據(jù)采集和控制周期相同,都為0.1s;
(5)比較位置式和增量式PID,位置式控制效果較好(調(diào)節(jié)時(shí)間短,振蕩幅度?。?;具體參考實(shí)驗(yàn)記錄筆記和程序文檔抓圖比較。
(6)程序比原來改進(jìn)的地方在于:在達(dá)到控制要求后,繼續(xù)繪制實(shí)時(shí)曲線;而不是停止Timer,點(diǎn)亮LED。
(7)參數(shù)整定:
確定比例增益P 時(shí),首先去掉PID的積分項(xiàng)和微分項(xiàng)。令Ti=0、Td=0(具體見PID的參數(shù)設(shè)定說明),使PID為純比例調(diào)節(jié)。輸入設(shè)定為系統(tǒng)允許的最大值的60%~70%,由0逐漸加大比例增益P,直至系統(tǒng)出現(xiàn)振蕩;再反過來,從此時(shí)的比例增益P逐漸減小,直至系統(tǒng)振蕩消失,記錄此時(shí)的比例增益P,設(shè)定PID的比例增益P為當(dāng)前值的60%~70%。比例增益P調(diào)試完成。
本系統(tǒng)在位置式PID算法下先設(shè)定vo=3.5,ki=kd=0; 逐漸加大kp至30時(shí)系統(tǒng)振蕩,于是取kp=22。