亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
PID算法新手感悟與總結(jié)
[打印本頁]
作者:
Rouse
時間:
2018-4-16 17:26
標(biāo)題:
PID算法新手感悟與總結(jié)
作為新手接觸PID算法,略有些感悟,特將此總結(jié)作為記錄
PID控制器參數(shù)選擇的方法很多,例如試湊法、臨界比例度法、擴(kuò)充臨界比例度法等。但是,對于PID控制而言,參數(shù)的選擇始終是一件非常煩雜的工作,需要經(jīng)過不斷的調(diào)整才能得到較為滿意的控制效果。依據(jù)經(jīng)驗,一般PID參數(shù)確定的步驟如下:
(1) 確定比例系數(shù)Kp
確定比例系數(shù)Kp時,首先去掉PID的積分項和微分項,可以令Ti=0、Td=0,使之成為
純比例調(diào)節(jié)。輸入設(shè)定為系統(tǒng)允許輸出最大值的60%~70%,比例系數(shù)Kp由0開始逐漸增大,直至系統(tǒng)出現(xiàn)振蕩;再反過來,從此時的比例系數(shù)Kp逐漸減小,直至系統(tǒng)振蕩消失。記錄此時的比例系數(shù)Kp,設(shè)定PID的比例系數(shù)Kp為當(dāng)前值的60%~70%。
(2) 確定積分時間常數(shù)Ti
比例系數(shù)Kp確定之后,設(shè)定一個較大的積分時間常數(shù)Ti,然后逐漸減小Ti,直至系統(tǒng)出現(xiàn)振蕩,然后再反過來,逐漸增大Ti,直至系統(tǒng)振蕩消失。記錄此時的Ti,設(shè)定PID的積分時間常數(shù)Ti為當(dāng)前值的150%~180%。
(3) 確定微分時間常數(shù)Td
微分時間常數(shù)Td一般不用設(shè)定,為0即可,此時PID調(diào)節(jié)轉(zhuǎn)換為PI調(diào)節(jié)。如果需要設(shè)定,則與確定Kp的方法相同,取不振蕩時其值的30%。
(4) 系統(tǒng)空載、帶載聯(lián)調(diào)
對PID參數(shù)進(jìn)行微調(diào),直到滿足性能要求。
PID控制器參數(shù)選擇的方法很多,例如試湊法、臨界比例度法、擴(kuò)充臨界比例度法等。但是,對于PID控制而言,參數(shù)的選擇始終是一件非常煩雜的工作,需要經(jīng)過不斷的調(diào)整才能得到較為滿意的控制效果。依據(jù)經(jīng)驗,一般PID參數(shù)確定的步驟如下:
(1) 確定比例系數(shù)Kp
確定比例系數(shù)Kp時,首先去掉PID的積分項和微分項,可以令Ti=0、Td=0,使之成為
純比例調(diào)節(jié)。輸入設(shè)定為系統(tǒng)允許輸出最大值的60%~70%,比例系數(shù)Kp由0開始逐漸增大,直至系統(tǒng)出現(xiàn)振蕩;再反過來,從此時的比例系數(shù)Kp逐漸減小,直至系統(tǒng)振蕩消失。記錄此時的比例系數(shù)Kp,設(shè)定PID的比例系數(shù)Kp為當(dāng)前值的60%~70%。
(2) 確定積分時間常數(shù)Ti
比例系數(shù)Kp確定之后,設(shè)定一個較大的積分時間常數(shù)Ti,然后逐漸減小Ti,直至系統(tǒng)出現(xiàn)振蕩,然后再反過來,逐漸增大Ti,直至系統(tǒng)振蕩消失。記錄此時的Ti,設(shè)定PID的積分時間常數(shù)Ti為當(dāng)前值的150%~180%。
(3) 確定微分時間常數(shù)Td
微分時間常數(shù)Td一般不用設(shè)定,為0即可,此時PID調(diào)節(jié)轉(zhuǎn)換為PI調(diào)節(jié)。如果需要設(shè)定,則與確定Kp的方法相同,取不振蕩時其值的30%。
(4) 系統(tǒng)空載、帶載聯(lián)調(diào)
對PID參數(shù)進(jìn)行微調(diào),直到滿足性能要求。
PID代碼
//定義變量
float Kp; //PI調(diào)節(jié)的比例常數(shù)
float Ti; //PI調(diào)節(jié)的積分常數(shù)
float T; //采樣周期
float Ki;
float ek; //偏差e[k]
float ek1; //偏差e[k-1]
float ek2; //偏差e[k-2]
float uk; //u[k]
signed int uk1; //對u[k]四舍五入取整
signed int adjust; //調(diào)節(jié)器輸出調(diào)整量
//變量初始化
Kp="4";
Ti="0"。005;
T="0".001;
// Ki="KpT/Ti"=0.8,微分系數(shù)Kd=KpTd/T=0.8,Td=0.0002,根據(jù)實驗調(diào)得的結(jié)果確定這些參數(shù)
ek="0";
ek1=0;
ek2=0;
uk="0";
uk1=0;
adjust="0";
int piadjust(float ek) //PI調(diào)節(jié)算法
{
if( gabs(ek)<0.1 )
{
adjust="0";
}
else
{
uk="Kp"*(ek-ek1)+Ki*ek; //計算控制增量
ek1=ek;
uk1=(signed int)uk;
if(uk>0)
{
if(uk-uk1>=0.5)
{
uk1=uk1+1;
}
}
if(uk<0)
{
if(uk1-uk>=0.5)
{
uk1=uk1-1;
}
}
adjust="uk1";
}
return adjust;
}
下面是在AD中斷程序中調(diào)用的代碼。
。。。。。。。。。。。
else //退出軟啟動后,PID調(diào)節(jié),20ms調(diào)節(jié)一次
{
EvaRegs.CMPR3=EvaRegs.CMPR3+piadjust(ek);//誤差較小PID調(diào)節(jié)穩(wěn)住
if(EvaRegs.CMPR3>=890)
{
EvaRegs.CMPR3=890; //限制PWM占空比
}
}
復(fù)制代碼
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1