南平網(wǎng)站建設(shè)巨量引擎廣告投放平臺代理
?💥💥💞💞歡迎來到本博客????💥💥
🏆博主優(yōu)勢:🌞🌞🌞博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。
??座右銘:行百里者,半于九十。
📋📋📋本文目錄如下:🎁🎁🎁
目錄
💥1 概述
📚2 運(yùn)行結(jié)果
2.1?非線性自抗擾控制?
2.2?線性自抗擾控制?
2.3 Simulink仿真
2.4 永磁同步電機(jī)發(fā)電控制仿真模型
🎉3?參考文獻(xiàn)
🌈4 Matlab代碼、Simulink仿真實(shí)現(xiàn)
💥1 概述
先進(jìn)PID控制算法(ADRC, TD, ESO)研究是對傳統(tǒng)PID控制算法進(jìn)行改進(jìn)和優(yōu)化的研究工作。這些算法通過引入新的控制策略和技術(shù),提高了PID控制系統(tǒng)的性能和魯棒性。
ADRC(Active Disturbance Rejection Control)是一種基于主動干擾抑制控制的算法。它通過對系統(tǒng)的干擾進(jìn)行估計(jì)和補(bǔ)償,實(shí)現(xiàn)對干擾的主動抑制,從而提高了系統(tǒng)的魯棒性和控制精度。
TD(Two-Degree-of-Freedom)是一種基于兩個自由度的控制算法。它將PID控制器分為兩個部分,一個用于跟蹤參考信號,另一個用于抑制干擾。通過獨(dú)立調(diào)節(jié)這兩個部分的參數(shù),可以實(shí)現(xiàn)更好的跟蹤性能和干擾抑制能力。
ESO(Extended State Observer)是一種擴(kuò)展?fàn)顟B(tài)觀測器算法。它通過估計(jì)系統(tǒng)的擴(kuò)展?fàn)顟B(tài),包括未建模的動態(tài)和干擾,從而實(shí)現(xiàn)對這些狀態(tài)的補(bǔ)償和抑制。ESO算法可以提高系統(tǒng)的魯棒性和控制精度,特別適用于存在未建模動態(tài)和干擾的系統(tǒng)。
這些先進(jìn)PID控制算法在工業(yè)控制系統(tǒng)中得到了廣泛的應(yīng)用和研究。通過引入新的控制策略和技術(shù),它們可以提高系統(tǒng)的控制性能和魯棒性,適應(yīng)更加復(fù)雜和變化的工業(yè)控制需求。研究人員通過理論分析和實(shí)驗(yàn)驗(yàn)證,不斷改進(jìn)和優(yōu)化這些算法,使其更加適用于不同的控制場景和應(yīng)用領(lǐng)域。
📚2 運(yùn)行結(jié)果
?
2.1?非線性自抗擾控制?
?
2.2?線性自抗擾控制?
?
??
2.3 Simulink仿真
?
?
2.4 永磁同步電機(jī)發(fā)電控制仿真模型
?
?
?
?
?
部分代碼:
figure(1);
plot(time, v, 'r',time, y, 'k:', 'linewidth', 2);
% plot(time, e1, 'r', 'linewidth', 2);
legend('ideal position signal', 'position tracking signal');
function f = fst(x1,x2,delta,T)
? ? d = delta * T;
? ? d0 = T * d;
? ? y = x1 + T * x2;
? ? a0 = sqrt(d^2 + 8 * delta * abs(y));
? ??
? ? if abs(y) > d0
? ? ? ? a = x2 + (a0 - d) / 2 * sign(y);
? ? else
? ? ? ? a = x2 + y / T;
? ? end
? ??
? ? if abs(a) > d
? ? ? ? f = -delta * sign(a);
? ? else
? ? ? ? f = -delta * a/d;
? ? end
end
function y = fal(epec,alfa,delta)
?? ?if abs(epec) > delta
?? ??? ?y = abs(epec)^alfa * sign(epec);
?? ?else
?? ??? ?y = epec / (delta^(1 - alfa));
?? ?end
end
function v = TD_ADRC(vo, yd, T, delta)
?? ?v = zeros(2, 1);
?? ?x1 = vo(1) - yd;
?? ?x2 = vo(2);
?? ?v(1) = vo(1) + T * vo(2);
?? ?v(2) = vo(2) + T * fst(x1, x2, delta, T);
end
function z = LESO_ADRC(zo, y, uo, T)
? ? w0 = 7.5;
?? ?z = zeros(3, 1);
?? ?e = zo(1) - y;
?? ?z(1) = zo(1) + T * (z(2) - ?3 * w0 * e);
?? ?z(2) = zo(2) + T * (z(3) - 3 * w0 * w0 * e + 133 * uo);
?? ?z(3) = zo(3) - T * w0 * w0 * w0 * e;
end
function dy = PlantModel(yo, ut, clock, T)
?? ?dy = zeros(3, 1);
?? ?f = -25 * yo(2) + 33 * sin(pi * clock);
? ? %f = -25 * yo(2) + 0.5 * sign(sin(pi * clock));
? ? dy(1) = yo(1) + yo(2) * T;
?? ?dy(2) = yo(2) + yo(3) * T;
?? ?dy(3) = (f + 133 * ut) ;
end
function v = TD_Levant(zo, y, T)
? ? v = zeros(2, 1);
? ? alfa = 2;
? ? nmna = 6;
? ? v(1) = zo(1) + T * (zo(2) - nmna * sqrt(abs(zo(1) - y)) * sign(zo(1) - y));
? ? v(2) = zo(2) - T * alfa * sign(zo(1) - y);
end
🎉3?參考文獻(xiàn)
文章中一些內(nèi)容引自網(wǎng)絡(luò),會注明出處或引用為參考文獻(xiàn),難免有未盡之處,如有不妥,請隨時(shí)聯(lián)系刪除。
[1]吉祥.永磁直線電機(jī)ADRC控制研究[D].浙江理工大學(xué)[2023-08-12].DOI:CNKI:CDMD:2.1017.043063.
[2]楊宣,張保生.基于先進(jìn)控制算法的CFBB床溫控制系統(tǒng)研究[J].自動化與儀表, 2018, 33(1):5.DOI:CNKI:SUN:ZDHY.0.2018-01-030.
[3]李杰,齊曉慧,韓帥濤.四種先進(jìn)PID控制方法及性能比較[J].計(jì)算技術(shù)與自動化, 2012.DOI:CNKI:SUN:JSJH.0.2012-03-005.