當前位置:首頁 > 單片機 > 單片機
[導讀]小明接到這樣一個任務:有一個水缸點漏水(而且漏水的速度還不一定固定不變),要求水面高度維持在某個位置,一旦發(fā)現(xiàn)水面高度低于要求位置,就要往水缸里加水。 小明接到任務后就一直守在水缸旁邊,時間長就覺得無聊,

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

小明接到任務后就一直守在水缸旁邊,
時間長就覺得無聊,就跑到房里看小說了,
每30分鐘來檢查一次水面高度。水漏得太快,
每次小明來檢查時,水都快漏完了,離要求的高度相差很遠
,小明改為每3分鐘來檢查一次,結果每次來水都沒怎么漏

大學時代做機器人時用的PID算法源代碼:

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

/********************************************************************
函 數(shù) 名:void Init_PID_uint(PID_uint *p)
功    能:初始化PID參數(shù)
說    明:調用本函數(shù)之前,應該先對Kp,Ti,Td做設置        ,簡化了公式
入口參數(shù):PID單元的參數(shù)結構體 地址
返 回 值:無
***********************************************************************/
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;
}
/********************************************************************
函 數(shù) 名:void reset_Uk(PID_Uint *p)
功    能:初始化U_kk,ekk,ekkk
說    明:在初始化時調用,改變PID參數(shù)時有可能需要調用
入口參數(shù):PID單元的參數(shù)結構體 地址
返 回 值:無
***********************************************************************/
void reset_Uk(PID_Uint *p)
{
        p->U_kk=0;
        p->ekk=0;
        p->ekkk=0;
}
/********************************************************************
函 數(shù) 名:int PID_commen(int set,int jiance,PID_Uint *p)
功    能:通用PID函數(shù)
說    明:求任意單個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)))                //積分不靈敏區(qū)
                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;
}

,不需要加水,來得太頻繁做的是無用功。幾次試驗后,
確定每10分鐘來檢查一次。這個檢查時間就稱為采樣周期。 

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

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

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


大學時代做機器人時用的PID算法源代碼:
 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉