設為主頁(yè)  加入收藏
 
·I2S數字功放IC/內置DSP音頻算法功放芯片  ·馬達驅動(dòng)IC  ·2.1聲道單芯片D類(lèi)功放IC  ·內置DC/DC升壓模塊的D類(lèi)功放IC  ·鋰電充電管理IC/快充IC  ·無(wú)線(xiàn)遙控方案  ·直流無(wú)刷電機驅動(dòng)芯片
當前位置:首頁(yè)->方案設計
怎樣形象理解PID算法?
文章來(lái)源: 更新時(shí)間:2016/7/18 11:58:00
在線(xiàn)咨詢(xún):
給我發(fā)消息
張代明 3003290139
給我發(fā)消息
小鄢 2850985542
給我發(fā)消息
李湘寧 2850985550
13713728695
 

小明接到這樣一個(gè)任務(wù):
有一個(gè)水缸點(diǎn)漏水(而且漏水的速度還不一定固定不變),
要求水面高度維持在某個(gè)位置,
一旦發(fā)現水面高度低于要求位置,就要往水缸里加水。 

小明接到任務(wù)后就一直守在水缸旁邊,
時(shí)間長(cháng)就覺(jué)得無(wú)聊,就跑到房里看小說(shuō)了,
每30分鐘來(lái)檢查一次水面高度。水漏得太快,
每次小明來(lái)檢查時(shí),水都快漏完了,離要求的高度相差很遠
,小明改為每3分鐘來(lái)檢查一次,結果每次來(lái)水都沒(méi)怎么漏

大學(xué)時(shí)代做機器人時(shí)用的PID算法源代碼:

#define PID_Uint struct pid_uint
PID_Uint
{
        int U_kk;
        int ekk;
        int ekkk;
        int Ur;                                //限幅輸出值,需初始化
        int Un;                                //不靈敏區
        //int multiple;                //PID系數的放大倍數,用整形數據的情況下,提高PID參數的設置精度          固定為256
        int Kp;                                //比例,從小往大調
        int Ti;                                //積分,從大往小調
        int Td;                                //微分,用巡線(xiàn)板時(shí)設為0
        int k1;                                //
        int k2;
        int k3;
};

/********************************************************************
函 數 名:void Init_PID_uint(PID_uint *p)
功    能:初始化PID參數
說(shuō)    明:調用本函數之前,應該先對Kp,Ti,Td做設置        ,簡(jiǎn)化了公式
入口參數:PID單元的參數結構體 地址
返 回 值:無(wú)
***********************************************************************/
void Init_PID_uint(PID_Uint *p)
{
        p->k1=(p->Kp)+(p->Kp)*1024/(p->Ti)+(p->Kp)*(p->Td)/1024;
        p->k2=(p->Kp)+2*(p->Kp)*(p->Td)/1024;
        p->k3=(p->Kp)*(p->Td)/1024;
}
/********************************************************************
函 數 名:void reset_Uk(PID_Uint *p)
功    能:初始化U_kk,ekk,ekkk
說(shuō)    明:在初始化時(shí)調用,改變PID參數時(shí)有可能需要調用
入口參數:PID單元的參數結構體 地址
返 回 值:無(wú)
***********************************************************************/
void reset_Uk(PID_Uint *p)
{
        p->U_kk=0;
        p->ekk=0;
        p->ekkk=0;
}
/********************************************************************
函 數 名:int PID_commen(int set,int jiance,PID_Uint *p)
功    能:通用PID函數
說(shuō)    明:求任意單個(gè)PID的控制量
入口參數:期望值,實(shí)測值,PID單元結構體
返 回 值:PID控制量
***********************************************************************/
int PID_common(int set,int jiance,PID_Uint *p)
{
        int ek,U_k=0;
        ek=jiance-set;
        if((ek>(p->Un))||(ek<-(p->Un)))                //積分不靈敏區
                U_k=(p->U_kk)+(p->k1)*ek-(p->k2)*(p->ekk)+(p->k3)*(p->ekkk);
        p->U_kk=U_k;
           p->ekkk=p->ekk;
        p->ekk=ek;
        if(U_k>(p->Ur))                                        //限制最大輸出量,
                U_k=p->Ur;
        if(U_k<-(p->Ur))
                U_k=-(p->Ur);       
        return U_k/1024;
}

,不需要加水,來(lái)得太頻繁做的是無(wú)用功。幾次試驗后,
確定每10分鐘來(lái)檢查一次。這個(gè)檢查時(shí)間就稱(chēng)為采樣周期。 

開(kāi)始小明用瓢加水,水龍頭離水缸有十幾米的距離,
經(jīng)常要跑好幾趟才加夠水,于是小明又改為用桶加,
一加就是一桶,跑的次數少了,加水的速度也快了,
但好幾次將缸給加溢出了,不小心弄濕了幾次鞋,小明又動(dòng)腦筋,
我不用瓢也不用桶,老子用盆,幾次下來(lái),發(fā)現剛剛好,不用跑太多次,
也不會(huì )讓水溢出。這個(gè)加水工具的大小就稱(chēng)為比例系數。 

小明又發(fā)現水雖然不會(huì )加過(guò)量溢出了,有時(shí)會(huì )高過(guò)要求位置比較多
,還是有打濕鞋的危險。他又想了個(gè)辦法,在水缸上裝一個(gè)漏斗,
每次加水不直接倒進(jìn)水缸,而是倒進(jìn)漏斗讓它慢慢加。這樣溢出的問(wèn)題解決了,
但加水的速度又慢了,有時(shí)還趕不上漏水的速度。
于是他試著(zhù)變換不同大小口徑的漏斗來(lái)控制加水的速度
,最后終于找到了滿(mǎn)意的漏斗。漏斗的時(shí)間就稱(chēng)為積分時(shí)間 。

小明終于喘了一口,但任務(wù)的要求突然嚴了,
水位控制的及時(shí)性要求大大提高,一旦水位過(guò)低,
必須立即將水加到要求位置,而且不能高出太多,否則不給工錢(qián)。
小明又為難了!于是他又開(kāi)努腦筋,終于讓它想到一個(gè)辦法,常放一盆備用水在旁邊,
一發(fā)現水位低了,不經(jīng)過(guò)漏斗就是一盆水下去,這樣及時(shí)性是保證了,但水位有時(shí)會(huì )高多了。
他又在要求水面位置上面一點(diǎn)將水鑿一孔,再接一根管子到下面的備用桶里這樣多出的水會(huì )從上面的孔里漏出來(lái)。
這個(gè)水漏出的快慢就稱(chēng)為微分時(shí)間。

大學(xué)時(shí)代做機器人時(shí)用的PID算法源代碼:

 
 
 
    相關(guān)產(chǎn)品  
 
 
·藍牙音箱的音頻功放/升壓/充電管
·單節鋰電內置升壓音頻功放IC選型
·HT7179 12V升24V內置
·5V USB輸入、三節鋰電升壓型
·網(wǎng)絡(luò )主播聲卡專(zhuān)用耳機放大IC-H
 
M12269 河北發(fā)電機組 HT366 ACM8629 HT338 

業(yè)務(wù)洽談:手機:13713728695(微信同號)   QQ:3003207580  EMAIL:panbo@szczkjgs.com   聯(lián)系人:潘波

地址:深圳市寶安西鄉航城大道航城創(chuàng )新創(chuàng )業(yè)園A5棟307/309

版權所有:深圳市永阜康科技有限公司  備案號:粵ICP備17113496號

在线亚洲人成电影_中文有码国产精品欧美激情_免费大片一级a一级久久三_av天堂东京热无码专区