日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 大魚(yú)機(jī)器人
[導(dǎo)讀]PID控制器以各種形式使用超過(guò)了 1 世紀(jì),廣泛應(yīng)用在機(jī)械設(shè)備、氣動(dòng)設(shè)備 和電子設(shè)備.在工業(yè)應(yīng)用中PID及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無(wú)愧的萬(wàn)能算法。

公眾號(hào)關(guān)注?“大魚(yú)機(jī)器人

設(shè)為 “星標(biāo)”,重磅干貨,第一時(shí)間送達(dá)!


1. 什么是PID

PID 控制器以各種形式使用超過(guò)了 1 世紀(jì),廣泛應(yīng)用在機(jī)械設(shè)備、氣動(dòng)設(shè)備 和電子設(shè)備.在工業(yè)應(yīng)用中PID及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無(wú)愧的萬(wàn)能算法

PID 實(shí)指“比例 proportional”、“積分 integral”、“微分 derivative”,這三項(xiàng)構(gòu) 成 PID 基本要素。每一項(xiàng)完成不同任務(wù),對(duì)系統(tǒng)功能產(chǎn)生不同的影響。

它的結(jié)構(gòu)簡(jiǎn)單,參數(shù)易 于調(diào)整,是控制系統(tǒng)中經(jīng)常采用的控制算法。

PID:比例單元(P)、積分單元(I)和微分單元(D)組成

▲ PID 控制框圖

PID控制公式:
其中:u(t)為控制器輸出的控制量;(輸出)
e(t)為偏差信號(hào),它等于給定量與輸出量之差;(輸入)
KP 為比例系數(shù);(對(duì)應(yīng)參數(shù) P)
TI 為積分時(shí)間常數(shù);(對(duì)應(yīng)參數(shù)I)
TD 為微分時(shí)間常數(shù)。(對(duì)應(yīng)參數(shù) D)?

數(shù)字 PID 控制算法因時(shí)間離散化不同,通常分為位置式 PID 控制算法和增量式 PID 控制算法。??

2. 位置式 PID 算法?
? ? ? ? ? ? ? ? ? ??
e(k): 用戶(hù)設(shè)定的值(目標(biāo)值) -? 控制對(duì)象的當(dāng)前的狀態(tài)值?
比例P :? ? e(k)
積分I :? ?∑e(i)? ? ?誤差的累加(包括e(k))
微分D :? e(k) - e(k-1)? 這次誤差-上次誤差

也就是位置式PID是當(dāng)前系統(tǒng)的實(shí)際位置,與你想要達(dá)到的預(yù)期位置的偏差,進(jìn)行PID控制。

因?yàn)橛姓`差積分 ∑e(i),一直累加,也就是當(dāng)前的輸出u(k)與過(guò)去的所有狀態(tài)都有關(guān)系,用到了誤差的累加值;(誤差e會(huì)有誤差累加),輸出的u(k)對(duì)應(yīng)的是執(zhí)行機(jī)構(gòu)的實(shí)際位置,,一旦控制輸出出錯(cuò)(控制對(duì)象的當(dāng)前的狀態(tài)值出現(xiàn)問(wèn)題 ),u(k)的大幅變化會(huì)引起系統(tǒng)的大幅變化

并且位置式PID在積分項(xiàng)達(dá)到飽和時(shí),誤差仍然會(huì)在積分作用下繼續(xù)累積,一旦誤差開(kāi)始反向變化,系統(tǒng)需要一定時(shí)間從飽和區(qū)退出,所以在u(k)達(dá)到最大和最小時(shí),要停止積分作用,并且要有積分限幅和輸出限幅

所以在使用位置式PID時(shí),一般我們直接使用PD控制

而位置式 PID 適用于執(zhí)行機(jī)構(gòu)不帶積分部件的對(duì)象,如舵機(jī)和平衡小車(chē)的直立和溫控系統(tǒng)的控制

根據(jù)公式結(jié)合代碼可以很好理解
//pwm=Kp*e(k)+Ki*∑e(k)+Kd[e(k)-e(k-1)]typedef struct PID{float kp;float ki;float kd;float ek; //當(dāng)前誤差float ek_1; //上一次誤差float ek_sum; //誤差總和float limit; //限幅}PID; static PID pid;void PID_Init(){ pid.kp = 0.1; pid.ki = 0.2; pid.kd = 0.3; pid.limit = 1000; pid.ek = 0; pid.ek_1 = 0; pid.ek_sum = 0;}// 位置式PID控制float PID_Postion(int Encoder,int Target){float pwm = 0; pid.ek = Target - Encoder; // 計(jì)算當(dāng)前誤差 pid.ek_sum += pid.ek; //求出偏差的積分 pwm = pid.kp*pid.ek + pid.ki*pid.ek_sum +  pid.kd*(pid.ek - pid.ek_1); //位置式PID控制器 pid.ek_1 = pid.ek; //保存上一次偏差 if(pwm > pid.limit) { pwm = pid.limit; }else if(pwm < -pid.limit) { pwm = -pid.limit; }return pwm;}
有不明所以然的朋友會(huì)問(wèn),在將PID用于電機(jī)控制時(shí),我這個(gè)PID的輸入?yún)?shù)是編碼器的數(shù)值、目標(biāo)位置,我的輸出PWM是個(gè)什么東西呢?

這個(gè)PWM可以是-1---+1的占空比,也可以是比較寄存器的數(shù)值,例如ARR是3000,PWM這個(gè)可以是1500,代表PWM占空比50%,那有的會(huì)問(wèn),例如我的encoder是1000,target是2000,那么pid.ek = 1000,按照pid.kp = 10計(jì)算,那么pid.kp*pid.ek = 10000,也就是說(shuō)這個(gè)輸出pwm如果代表占空比-1--+1的話,遠(yuǎn)遠(yuǎn)大于它的范圍,那是不是這個(gè)計(jì)算或者公式有問(wèn)題呢?

或者是不是pwm代表的意義不對(duì)呢?其實(shí)是沒(méi)有關(guān)系的,因?yàn)榘凑沼?jì)算10000大于1,PWM=1,那么完全按照占空比1運(yùn)行,等到encoder=target時(shí),pwm=0,電機(jī)就不再運(yùn)動(dòng)了,到達(dá)了目標(biāo)位置;

但是這里要提醒大家,encoder與target代表編碼器數(shù)值,二者的差值肯定是整數(shù),乘以pid.kp=10之后,肯定大于1,所以PWM始終是100%占空比,這樣有可能時(shí)鐘無(wú)法找到目標(biāo)位置,所以pid.kp=10這個(gè)參數(shù)設(shè)置就不合理,比如設(shè)置pid.kp=0.001,則encoder與target差值如果在1000以?xún)?nèi),PWM就可能在-1--+1之間,這樣才能真正的起到調(diào)節(jié)作用,所以kp的值并不是大家隨意亂設(shè),要根據(jù)控制量的實(shí)際情況、輸出值的實(shí)際意義,設(shè)定參數(shù),脫離實(shí)際意義的盲目瞎設(shè)參數(shù)反而適得其反。

3. 增量式PID

比例P :? ?e(k)-e(k-1)? ?當(dāng)前誤差 - 上次誤差
積分I :? ?e(i)? ? ?當(dāng)前誤差? ?
微分D :? e(k) - 2e(k-1)+e(k-2)? ?當(dāng)前誤差 - 2*上次誤差 + 上上次誤差

增量式PID根據(jù)公式可以很好地看出,一旦確定了 KP、TI ?、TD,只要使用前后三次測(cè)量值的偏差, 即可由公式求出控制增量。

而得出的控制量 ▲u(k)對(duì)應(yīng)的是近幾次位置誤差的增量,而不是對(duì)應(yīng)與實(shí)際位置的偏差,沒(méi)有誤差累加。

也就是說(shuō),增量式PID中不需要累加。控制增量Δu(k)的確定僅與最近3次的采樣值有關(guān),容易通過(guò)加權(quán)處理獲得比較好的控制效果,并且在系統(tǒng)發(fā)生問(wèn)題時(shí),增量式不會(huì)嚴(yán)重影響系統(tǒng)的工作。

總結(jié):
增量型 PID,是對(duì)位置型 PID 取增量,這時(shí)控制器輸出的是相鄰兩次采樣時(shí)刻所計(jì)算的位置值
之差,得到的結(jié)果是增量,即在上一次的控制量的基礎(chǔ)上需要增加(負(fù)值意味減少)控制量。

代碼實(shí)現(xiàn)效果如下:
//根據(jù)增量式離散PID公式 //pwm+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]//e(k)代表本次偏差 //e(k-1)代表上一次的偏差 以此類(lèi)推 //e(k-2)代表上上次的偏差//pwm代表增量輸出typedef struct PID{  float kp; float ki; float kd; float ek; //當(dāng)前誤差 float ek_1; //上一次誤差 float ek_2; //上上一次誤差 float limit; //限幅}PID;
static PID pid;
void PID_Init(){ pid.kp = 0.1; pid.ki = 0.2; pid.kd = 0.3; pid.limit = 1000; pid.ek = 0; pid.ek_1 = 0; pid.ek_2 = 0;}
// 增量式PID控制float PID_Increase(int Encoder,int Target){ float pwm = 0; pid.ek = Target - Encoder; // 計(jì)算當(dāng)前誤差 pid.ek_sum += pid.ek; //求出偏差的積分 pwm = pid.kp*(pid.ek - pid.ek_1) + pid.ki*pid.ek + pid.kd*(pid.ek - 2*pid.ek_1 + pid.ek_2); //增量式PID控制器 pid.ek_1 = pid.ek; //保存上一次偏差 pid.ek_2 = pid.ek_1; //保存上上一次的偏差 if(pwm > pid.limit) { pwm = pid.limit; } else if(pwm < -pid.limit) { pwm = -pid.limit; } return pwm;}


4. 增量式與位置式區(qū)別

1 增量式算法不需要做累加,控制量增量的確定僅與最近幾次偏差采樣值有關(guān),計(jì)算誤差對(duì)控制 量計(jì)算的影響較小。而位置式算法要用到過(guò)去偏差的累加值,容易產(chǎn)生較大的累加誤差。?

2 增量式算法得出的是控制量的增量,例如在閥門(mén)控制中,只輸出閥門(mén)開(kāi)度的變化部分,誤動(dòng)作 影響小,必要時(shí)還可通過(guò)邏輯判斷限制或禁止本次輸出,不會(huì)嚴(yán)重影響系統(tǒng)的工作。而位置式的輸出直接對(duì)應(yīng)對(duì)象的輸出,因此對(duì)系統(tǒng)影響較大。

3 增量式PID控制輸出的是控制量增量,并無(wú)積分作用,因此該方法適用于執(zhí)行機(jī)構(gòu)帶積分部件的對(duì)象,如步進(jìn)電機(jī)等,而位置式PID適用于執(zhí)行機(jī)構(gòu)不帶積分部件的對(duì)象,如電液伺服閥。

4 在進(jìn)行PID控制時(shí),位置式PID需要有積分限幅和輸出限幅,而增量式PID只需輸出限幅

位置式PID優(yōu)缺點(diǎn):
優(yōu)點(diǎn):
①位置式PID是一種非遞推式算法,可直接控制執(zhí)行機(jī)構(gòu)(如平衡小車(chē)),u(k)的值和執(zhí)行機(jī)構(gòu)的實(shí)際位置(如小車(chē)當(dāng)前角度)是一一對(duì)應(yīng)的,因此在執(zhí)行機(jī)構(gòu)不帶積分部件的對(duì)象中可以很好應(yīng)用

缺點(diǎn):
①每次輸出均與過(guò)去的狀態(tài)有關(guān),計(jì)算時(shí)要對(duì)e(k)進(jìn)行累加,運(yùn)算工作量大。

增量式PID優(yōu)缺點(diǎn):
優(yōu)點(diǎn):
①誤動(dòng)作時(shí)影響小,必要時(shí)可用邏輯判斷的方法去掉出錯(cuò)數(shù)據(jù)。
②手動(dòng)/自動(dòng)切換時(shí)沖擊小,便于實(shí)現(xiàn)無(wú)擾動(dòng)切換。當(dāng)計(jì)算機(jī)故障時(shí),仍能保持原值。
③算式中不需要累加??刂圃隽喀(k)的確定僅與最近3次的采樣值有關(guān)。

缺點(diǎn):
①積分截?cái)嘈?yīng)大,有穩(wěn)態(tài)誤差;

②溢出的影響大。有的被控對(duì)象用增量式則不太好;

5. 如何進(jìn)行參數(shù)整定?

首先我們需要明確我們的控制目標(biāo),也就是滿(mǎn)足控制系統(tǒng)的 3 個(gè)要求:
穩(wěn)定性
快速性
準(zhǔn)確性

具體的評(píng)估指標(biāo)有最大超調(diào)量、上升時(shí)間、靜差等。?

最大超調(diào)量是響應(yīng)曲線的最大峰值與穩(wěn)態(tài)值的差,是評(píng)估系統(tǒng)穩(wěn)定性的一個(gè)重要指標(biāo);上升時(shí)間是指響應(yīng)曲線從原始工作狀態(tài)出發(fā),第一次到達(dá)輸出穩(wěn)態(tài)值所需的時(shí)間,是評(píng)估系統(tǒng)快速性的一個(gè)重要指標(biāo);靜差是被控量的穩(wěn)定值與給定值之差,一般用于衡量系統(tǒng)的準(zhǔn)確性,具體可以參考前文的講解。?

在實(shí)踐生產(chǎn)工程中,不同的控制系統(tǒng)對(duì)控制器效果的要求不一樣。比如平衡車(chē)、倒立擺對(duì)系統(tǒng)的快速性要求很高,響應(yīng)太慢會(huì)導(dǎo)致系統(tǒng)失控。智能家居里面的門(mén)窗自動(dòng)開(kāi)合系統(tǒng),對(duì)快速性要求就不高,但是對(duì)穩(wěn)定性和準(zhǔn)確性的要求就很高,所以需要嚴(yán)格控制系統(tǒng)的超調(diào)量和靜差。所以 PID 參數(shù)在不同的控制系統(tǒng)中是不一樣的。只要我們理解了每個(gè) PID 參數(shù)的作用,我們就可以應(yīng)對(duì)工程中的各種項(xiàng)目的 PID 參數(shù)整定了。
?
一般而言,一個(gè)控制系統(tǒng)的控制難度,一般取決于系統(tǒng)的轉(zhuǎn)動(dòng)慣量和對(duì)響應(yīng)速度的要求等。轉(zhuǎn)動(dòng)慣量越小、對(duì)響應(yīng)速度要求越低,PID 參數(shù)就越不敏感。比如現(xiàn)在我們控制電機(jī)轉(zhuǎn) 90°,需要嚴(yán)格控制超調(diào)量、和靜差。但是對(duì)響應(yīng)速度無(wú)要求。因?yàn)殡姍C(jī)處于輕載的情況下,轉(zhuǎn)動(dòng)慣量很小,這是一個(gè)很容易完成的工作。根據(jù)上面的理論分析和實(shí)踐,因?yàn)轫憫?yīng)速度無(wú)要求,一般 P 應(yīng)該給小一點(diǎn),然后加大系統(tǒng)的阻尼防止超調(diào),也就是 D 參數(shù)盡量大,另外因?yàn)?P 值較小,應(yīng)該加入I 控制減小靜差。

原文鏈接:https://blog.csdn.net/u014453443/java/article/details/100573722
-END-

關(guān)于比賽的帖子,之前寫(xiě)過(guò)很多篇:

「第一彈」電子設(shè)計(jì)大賽應(yīng)該準(zhǔn)備什么?

「第一篇」大學(xué)生電子設(shè)計(jì)競(jìng)賽,等你來(lái)提問(wèn)。

「第二篇」全國(guó)一等獎(jiǎng),經(jīng)驗(yàn)帖。

「第三篇」電賽,這些你必須知道的比賽細(xì)節(jié),文末附上近十年電賽題目下載

「第四篇」電賽控制題可以準(zhǔn)備一些什么?

「第五篇」全國(guó)電子設(shè)計(jì)競(jìng)賽-電源題設(shè)計(jì)方案總結(jié)

「第六篇」對(duì)于電賽,我們應(yīng)該看重什么?

電子設(shè)計(jì)競(jìng)賽電源題(1)-電源題簡(jiǎn)介

電子設(shè)計(jì)競(jìng)賽電源題(2)-檢波與采樣

電子設(shè)計(jì)競(jìng)賽(三)-SPWM與PID

也有一些大神的經(jīng)驗(yàn)貼,其實(shí)不乏國(guó)獎(jiǎng)獲得者:

全國(guó)一等獎(jiǎng),他的學(xué)習(xí)之路。

從0開(kāi)始,三個(gè)月,獲全國(guó)一等獎(jiǎng)。

獎(jiǎng)狀是怎么煉成的—我的電賽狂魔之旅

全國(guó)一等獎(jiǎng)的獲得者,如今去當(dāng)了人民教師。


也有一些關(guān)于比賽項(xiàng)目的文章:
參加智能車(chē)大賽還是電賽?在做電磁炮中我找到了答案
2019年電賽綜合測(cè)評(píng)題詳解
「權(quán)威發(fā)布」2019年電賽最全各類(lèi)題目細(xì)節(jié)問(wèn)題解答匯總
獎(jiǎng)狀是怎么煉成的—我的電賽狂魔之旅

【大學(xué)生電子設(shè)計(jì)競(jìng)賽分享經(jīng)驗(yàn)貼】風(fēng)力循跡小車(chē)


去年還做過(guò)幾期猜題的文章,貌似有點(diǎn)接近了,今年還可以繼續(xù)給大家猜猜。
「猜題第一篇」2019年大學(xué)生電子設(shè)計(jì)競(jìng)賽

「重磅猜題之第二篇」2019年大學(xué)生電子設(shè)計(jì)競(jìng)賽

    
          

?最 后??
?

若覺(jué)得文章不錯(cuò),轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動(dòng)力。
5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機(jī)、等等!
在公眾號(hào)內(nèi)回復(fù)「 更多資源 」,即可免費(fèi)獲取,期待你的關(guān)注~
長(zhǎng)按識(shí)別圖中二維碼關(guān)注

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

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

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉