PID設(shè)計(jì)內(nèi)容地問題_第1頁
PID設(shè)計(jì)內(nèi)容地問題_第2頁
PID設(shè)計(jì)內(nèi)容地問題_第3頁
PID設(shè)計(jì)內(nèi)容地問題_第4頁
PID設(shè)計(jì)內(nèi)容地問題_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

作者:控制器欄目:?jiǎn)纹瑱C(jī) PID設(shè)計(jì)的問題1樓:

我要做的是一個(gè)溫度控制系統(tǒng),用調(diào)節(jié)加溫時(shí)間比例來調(diào)節(jié)溫度。

如果我目標(biāo)溫度是22度,初始溫度是0度,采樣周期為3s,繼電器輸出周期等同采樣周期3S,假設(shè)把輸出周期平分為100份。

比例系數(shù)假設(shè)為Kp=0.5,Ki=0.025,Kd=5.5

那么開始計(jì)算,系統(tǒng)剛開始工作的時(shí)候偏差為22度,我根據(jù)增量公式:

kp*[e(k)-e(k-1)]+Ki*e(k)+Kd*[e(k)-2e(k-1)+e(k-2)]

=0.5*22+0.025*22+5.5*22

=132.55

算得的結(jié)果為132.55.我想不明白這個(gè)132.55究竟是代表什么?

直接說就是如何如何把PID計(jì)算結(jié)果變換為控制繼電器工作的輸出時(shí)間?

另外就是采樣周期和Kp、Ki、Kd有什么關(guān)系?? 2樓: 控制器于2006-5-615:52:00看不懂嘵奇老師的那個(gè)關(guān)系PID的文章

看不懂里面講PID計(jì)算和輸出量化的那部分是什么含義!3樓: 控制器于2006-5-617:12:00怎么沒人說點(diǎn)?

4樓:wenfengcom于2006-5-618:32:00哪位講講啊,我也沒搞清楚

5樓:控制器于2006-5-78:13:00怎么沒人講課呢??

6樓: 控制器于2006-5-810:30:00ding

這也不是很菜的問題把?

怎么沒人理會(huì)呢?7樓:lpark于2006-5-814:10:00唉,咱們的教材啊...

教材太學(xué)術(shù)化,用復(fù)雜的名詞說明簡(jiǎn)單的道理。

先不說增量公式。

計(jì)算得到132.55,現(xiàn)在需要把它跟你的控制目標(biāo)建立聯(lián)系(我想應(yīng)該是3s內(nèi)繼電器開啟多長(zhǎng)時(shí)間),既然假設(shè)平分為100份,那么不妨132.55/2約為66份,即開啟3×66/100秒。這就構(gòu)成了反饋,偏差經(jīng)過計(jì)算變成了你的控制量。

明白這點(diǎn)之后還要知道,當(dāng)然,增量PID計(jì)算得到的量需要與前次相加才能與控制量建立聯(lián)系。8樓:控制器于2006-5-815:03:00謝謝謝謝謝謝樓上

終于有人回答一下了。

再問一些:

增量換算成位置量暫時(shí)不理,這個(gè)還是能理解的。

對(duì)這句還有點(diǎn)疑惑:“計(jì)算得到132.55,現(xiàn)在需要把它跟你的控制目標(biāo)建立聯(lián)系(我想應(yīng)該是3s內(nèi)繼電器開啟多長(zhǎng)時(shí)間),既然假設(shè)平分為100份,那么不妨132.55/2約為66份,即開啟3×66/100秒”

為什么要取132.55/2呢?這個(gè)除數(shù)應(yīng)該根據(jù)那些條件確定值?如果我計(jì)算出來的值不是132.55,而是300,那么除2就等于150了,超過100等份了,這個(gè)時(shí)候全速輸出控制嗎?

做的時(shí)候是不是要根據(jù)Kp、Ki、Kd估計(jì)出PID的計(jì)算的最大值,而后除以某個(gè)常數(shù),再做100等份的時(shí)間計(jì)算???但這個(gè)最大值好象不大好計(jì)算???

我看曉奇老師的文章,這么理解可以嗎?

如果控制范圍為50度,時(shí)間平分200份的話,那么那個(gè)常數(shù)取4,也就是這個(gè)常數(shù)=輸出等份數(shù)/控制范圍,執(zhí)行PID計(jì)算出來得出的位置量數(shù)值除4后計(jì)算出真正意義上的輸出時(shí)間值,如果此時(shí)輸出的時(shí)間值超過200等份的時(shí)間值就按最大值計(jì)算。9樓:lpark于2006-5-816:58:00一些有關(guān)控制理論的基本概念不太清晰

我不是學(xué)自控的,摳太深我也不懂,但我建議你翻翻控制理論的書,只看前兩章,結(jié)合實(shí)際中的控制目標(biāo)理解一下什么是閉環(huán)控制,什么是反饋,偏差又是怎樣跟控制量結(jié)合在一起的。

除2?除5?乘8?這些都是根據(jù)你控制量的需要來定,我只是隨意舉了個(gè)例子,合不合適得你自己去試?;蛘邠Q一個(gè)角度看這個(gè)除數(shù),/2是不是相當(dāng)于把PID參數(shù)除2了,即調(diào)整了PID參數(shù)(個(gè)人體會(huì),調(diào)整參數(shù)將占用大量的試驗(yàn)時(shí)間)。實(shí)際應(yīng)用中還有可能需要132.55/2+20=86,理解我的意思了嗎,純粹看實(shí)際的需要,當(dāng)然,超過100(即超過你控制要求),就按最大輸出,低于某個(gè)值,就按最小輸出。

估算PID計(jì)算的最大最小值是一項(xiàng)對(duì)設(shè)定PID參數(shù)很有幫助的工作,是不好算,所以叫估算,估算完了就去試,再調(diào)整參數(shù),再試,再調(diào)整,再試...這叫經(jīng)驗(yàn)調(diào)整法,呵呵,如果有精確數(shù)學(xué)模型的話,PID參數(shù)應(yīng)該是可以算的(根軌跡法?自控牛人不要見笑)。10樓:yking2008于2006-5-916:15:00說說我的看法

溫度控制一般屬于大慣性的控制系統(tǒng)。

我理解為加熱系統(tǒng)的工作是3S分成100份。所以這個(gè)控制量在0~100中間取值(PWM控制模式)就是你控制的執(zhí)行機(jī)構(gòu)來達(dá)到控制目的。

先說一下各個(gè)系數(shù)的含義

P:偏差。即根據(jù)反饋與控制目標(biāo)的差值來調(diào)整加熱量;這個(gè)好理解,就是差的多就大火燒,差的小就小火燉。

I:積分。是根據(jù)溫度偏差積分來調(diào)節(jié)加熱量;可以在偏差大的時(shí)候?qū)崿F(xiàn)快速調(diào)節(jié),壞處是積分參數(shù)大系統(tǒng)要過沖的,小了嗎,響應(yīng)慢。

D:微分。用來抑制控制信號(hào)快速變化的。當(dāng)然參數(shù)太大也會(huì)引起振蕩的,太小了沒效果也就是不能抑制振蕩。

這幾個(gè)參數(shù)和控制量化的關(guān)系就是大概是這樣吧!11樓:IceAge于2006-5-921:01:00>100意味著著輸出飽和,如果輸出是PWM周期

做這種系統(tǒng),最好先學(xué)點(diǎn)基本的控制理論,然后能用matlab/simulink仿真就更好。PID參數(shù)的選擇,一般通過配置open-looptransferfunction的零極點(diǎn)得到。溫度系統(tǒng)一般有一個(gè)主要的極點(diǎn),即f(s)=K/(s+T)+....--->f(t)=K*e^(-T*t))+.....

matlab/simulink里有強(qiáng)大的圖形設(shè)計(jì)工具,輕點(diǎn)鼠標(biāo)就可以得到pid參數(shù)。12樓:控制器于2006-5-119:15:00不會(huì)matlab

我只是想弄明白如何把那個(gè)用溫度偏差算出來位置式或者增量式算出的數(shù)值變換為那個(gè)100等份去執(zhí)行??

還是迷糊,沒有明白。13樓:fushaobing于2006-5-1111:07:00樓主再接再厲!

14樓:控制器于2006-5-1117:47:00樓上讓我繼續(xù)問還是繼續(xù)看書?

看了很多理論書,看的越多越迷糊,有沒有通俗易懂的資料啊……15樓:IceAge于2006-5-1120:34:00通俗易懂?這可不是科普

這些東西,要給你講明白了,就是一本書了。技術(shù)問題容易解答,概念問題需要大量的學(xué)習(xí)和實(shí)踐,沒有什么捷徑。16樓:控制器于2006-5-128:21:00回樓上大蝦

書上講的PID的那幾個(gè)公式還是基本看懂一些的,對(duì)整定還不太了解,我估計(jì)這要結(jié)合實(shí)際產(chǎn)品做一下才會(huì)明白一些,所以就想做一個(gè)試試,結(jié)果就遇到那個(gè)計(jì)算出的值如何向輸出量轉(zhuǎn)換的問題卡殼了。

高深的東西我暫時(shí)不想去弄明白,就想把基本的東西搞明白再去學(xué)。17樓:fushaobing于2006-5-128:29:00找“實(shí)例”書看!

18樓:yewuyi于2006-5-128:32:00我在書店看過很多所謂的實(shí)例

但好象誰都不說具體的計(jì)算值向輸出值轉(zhuǎn)換的問題……

呵呵,是不是根本沒這個(gè)問題?

主要是這個(gè)轉(zhuǎn)換沒有“定法”,再加上寫書的確實(shí)很臭……

看過一本余永權(quán)的書,說到一些,建議LZ看看去*-本貼最后修改時(shí)間:2006-5-1211:31:09修改者:yewuyi19樓:控制器于2006-5-3117:45:00還是沒懂!

哪個(gè)高人再給我講講!20樓:martial于2006-5-3121:12:00正打算用PID,學(xué)習(xí)一下??!

21樓:控制器于2006-6-59:51:00看曉奇老師文章的總結(jié),不知道對(duì)不對(duì)???

/mcu/PID.pdf

這是曉奇寫的文章,看了很多遍,做了一些總結(jié),不知道對(duì)不對(duì)?

總結(jié)如下:

1:一般情況下,PID真正關(guān)心的就三個(gè)參數(shù)(暫不考慮采樣周期參數(shù)):Kp(比例系數(shù))、Ti(積分時(shí)間)、Td(微分時(shí)間)。

2:增量公式中的Kp、Ki、Kd是根據(jù)上面的三個(gè)參數(shù)計(jì)算出來的,需要注意的是這兒的Kp不能等同與上面的比例系數(shù)Kp

3:比例系數(shù)是可以調(diào)整的,但隨著比例系數(shù)的改變,控制器的控制范圍也會(huì)相應(yīng)變化;對(duì)曉奇老師文章中的那個(gè)溫度控制的舉例來說,就是隨著比例系數(shù)的改變,起控點(diǎn)也會(huì)不斷變化,例如:當(dāng)比例系數(shù)=1時(shí),控制范圍為200度,但當(dāng)比例系數(shù)=4時(shí),控制范圍就為50度,以此類推控制范圍。

PS:關(guān)于這個(gè)有點(diǎn)小疑惑,就是比例系數(shù)好象不能小于1,如果小于1了,控制范圍怎么計(jì)算呢?

4:假如根據(jù)第二點(diǎn)確定了比例系數(shù),那么也就說我們已經(jīng)確定了控制范圍,假設(shè)這個(gè)時(shí)候比例系數(shù)=4,那么在例子中的控制范圍就是50度,設(shè)計(jì)程序的時(shí)候,如果{溫度差=(溫度設(shè)置的目標(biāo)值-溫度測(cè)量值)}>50度,此時(shí)就以全功率輸出以促使溫度趕快升高。同時(shí)在曉奇老師文章中,他規(guī)定把輸出量分出200等份,當(dāng)溫度進(jìn)入控制范圍時(shí),且因?yàn)榇藭r(shí)控制范圍為50度,針對(duì)每度的溫度上升,輸出量應(yīng)該按比例減小4個(gè)輸出等份數(shù);于是PID運(yùn)算后的數(shù)值向輸出量轉(zhuǎn)化時(shí),這個(gè)常數(shù)就是兩者轉(zhuǎn)換的“關(guān)聯(lián)方式”。

5:當(dāng)控制范圍為50度時(shí),如果此時(shí)不加入微分和積分環(huán)節(jié)而只有簡(jiǎn)單的比例環(huán)節(jié),那么肯定沒有超出全功率輸出的計(jì)算結(jié)果;所以當(dāng)只有比例控制的時(shí)候,并不需要做超限處理,但當(dāng)加入了微分和積分環(huán)節(jié)后,PID計(jì)算出的結(jié)果向輸出量轉(zhuǎn)化時(shí),肯定會(huì)有可能超出輸出極限的結(jié)果,這個(gè)時(shí)候,只要把結(jié)果處理成兩個(gè)極限值即可。

不知道我上面的《讀書筆記》對(duì)不對(duì),請(qǐng)看帖的行家里手多多批評(píng)指正。*-本貼最后修改時(shí)間:2006-6-817:31:19修改者:控制器22樓:控制器于2006-6-516:40:00難道大家一點(diǎn)說的也沒有嗎?

是我說的很正確所以不評(píng)論呢?

還是錯(cuò)的一塌糊涂不值得評(píng)論?

還是大家太愛面子不敢說是對(duì)是錯(cuò),怕‘貽笑大方’??

XDJM,只是討論問題,說錯(cuò)了也沒什么丟人的!23樓:hartcomm于2006-6-517:55:00我侃兩句

我是學(xué)自動(dòng)化的,現(xiàn)在雖然不搞控制儀表只搞檢測(cè)儀表學(xué)校學(xué)的有些印象

首先132.55就是你要輸給執(zhí)行器(這里是繼電器等)的值(脈寬調(diào)制用),那么這個(gè)值和控制繼電器有什么關(guān)系?可以講隨便,隨便什么對(duì)應(yīng)關(guān)系可大可小這就奇怪了為什么沒有關(guān)系呢,因?yàn)槭情]環(huán)控制!可以反饋的!

那么是不是真的沒有關(guān)系呢?不是,有可能你的系統(tǒng)達(dá)不到控制要求或振蕩或溫度無法控制

那問題在哪?在你的三個(gè)參數(shù)Kp,Ki,Kd上,請(qǐng)注意你不應(yīng)該假設(shè)Kp=0.5,Ki=0.025,Kd=5.5后算出132.55再問如何變換為控制繼電器工作的輸出時(shí)間,而是你應(yīng)該先得到繼電器工作的輸出時(shí)間T=f(u(k))的關(guān)系再確定三個(gè)參數(shù)Kp,Ki,Kd的值,而不是先設(shè)三個(gè)參數(shù)Kp,Ki,Kd的值再問...

T=f(u(k))實(shí)際上就是執(zhí)行器的特性。我們還需要控制對(duì)象的特性等才能等到三個(gè)參數(shù)Kp,Ki,Kd。也就是你的控制器并不能用在任意的設(shè)備上

但是pid控制器是一個(gè)不需要知道執(zhí)行器的特性也不需要控制對(duì)象的特性的控制器(不是絕對(duì)),pid控制器有一個(gè)特有的操作---整定。通過整定等到適合的三個(gè)參數(shù)Kp,Ki,Kd。

....不再廢話了,具體的可以參考一些書籍,我講的不對(duì)的也請(qǐng)指教

*-本貼最后修改時(shí)間:2006-6-518:00:46修改者:hartcomm24樓:hartcomm于2006-6-518:16:00在來兩句

上面lpark網(wǎng)友講得有道理

“調(diào)整參數(shù)將占用大量的試驗(yàn)時(shí)間”就是整定

“估算,估算完了就去試,再調(diào)整參數(shù),再試,再調(diào)整”其實(shí)不要估算,直接架上去,整定解決問題。

“如果有精確數(shù)學(xué)模型的話,PID參數(shù)應(yīng)該是可以算的”pid控制如此重要

是20世紀(jì)最重要的控制技術(shù)之一

并得到廣泛應(yīng)用原因之一就是pid控制

不需要精確數(shù)學(xué)模型

請(qǐng)問各位哪位在工業(yè)中用到過現(xiàn)代控制理論?為什么?

現(xiàn)代控制理論需要精確的數(shù)學(xué)模型,而實(shí)際工業(yè)應(yīng)用中,大部分控制對(duì)象得不到精確的數(shù)學(xué)模型,建模太復(fù)雜了,pid只需整定就可以解決問答。

送一個(gè)整定的口訣:

參數(shù)整定找最佳,從小到大順序查

先是比例后積分,最后再把微分加

曲線振蕩很頻繁,比例度盤要放大

曲線漂浮繞大灣,比例度盤往小扳

曲線偏離回復(fù)慢,積分時(shí)間往下降

曲線波動(dòng)周期長(zhǎng),積分時(shí)間再加長(zhǎng)

曲線振蕩頻率快,先把微分降下來

動(dòng)差大來波動(dòng)慢。微分時(shí)間應(yīng)加長(zhǎng)

理想曲線兩個(gè)波,前高后低4比1

一看二調(diào)多分析,調(diào)節(jié)質(zhì)量不會(huì)低25樓:何以解憂于2006-6-518:34:00學(xué)習(xí)了

26樓:maolei21ic于2006-6-519:04:00PID標(biāo)記

兄弟.靠自己,不要靠別人27樓:控制器于2006-6-68:27:00hartcomm說的有理……

先規(guī)定三個(gè)參數(shù)的值再推DELAY的輸出量確實(shí)是犯了原則性錯(cuò)誤。

所以才重新寫了一個(gè)《讀書筆記》拿上來讓大家挑錯(cuò)誤。

大家看看我的那個(gè)筆記評(píng)論一下如何!28樓:IceAge于2006-6-620:23:00To:hartcomm,高,實(shí)在是高。

幾句口訣把pid的特性說的明明白白。

話又說回來,掌握一定的理論知識(shí)是很有必要的,特別是要掌握matlab/simulink。溫度系統(tǒng)并不需要精確的系統(tǒng)模型,可以通過輸入輸出的數(shù)據(jù)通過比如最小二乘法來獲得系統(tǒng)模型,pid在matlab/simulink仿真下比實(shí)際整定快捷很多。我在一個(gè)非線性系統(tǒng)里使用了4個(gè)pid,參數(shù)是在matlab/simulink計(jì)算整定得到,直接應(yīng)用到實(shí)際系統(tǒng)中,結(jié)果與仿真輸出幾乎一模一樣。

當(dāng)然了,如果不會(huì)matlab/simulink,沒有深厚的理論功底,也只能慢慢整定了。29樓:控制器于2006-6-78:34:00哎呀,怎么就沒人告訴我總結(jié)的到底是對(duì)還是錯(cuò)呢?

TO

IceAge&hartcomm:

我不會(huì)matlab/simulink,從來沒學(xué)過,只聽說過這個(gè)名字。

你們兩位幫我看看我的《讀書總結(jié)》如何?

現(xiàn)在不能談?wù)?,整定也必須建立在PID控制的程序上把?我現(xiàn)在只是想把這個(gè)程序搞出來,至于對(duì)這個(gè)溫度系統(tǒng),具體是多少Kp、Ti、Td才能讓系統(tǒng)響應(yīng)快、超調(diào)小的工作還暫時(shí)不考慮的,那也應(yīng)該是在做好的PID控制器上慢慢調(diào)把?

偶現(xiàn)在只是想做出這個(gè)PID控制器……

(偶個(gè)人認(rèn)為沒有高深的理論指導(dǎo)也能做一個(gè)簡(jiǎn)單的PID控制器?。?/p>

30樓:niaofencha于2006-6-716:53:00我也在這卡住了,控制器兄弟理解透了的話聯(lián)系一下

我也在做PID,增量的,也是建立不了聯(lián)系(理解不好,不敢建立,也不知道如何建立,書上僅僅說了“建立”。)。我看了很多這方面的書都沒有一句真格的,相反我看到好幾本說的都一個(gè)字不差?。。憰膶W(xué)術(shù)教員都被誰領(lǐng)導(dǎo)成啥樣了我們不想多說,關(guān)鍵是想寫書為什么不寫到位呢,寫書之前難道教授們做工程時(shí)果真沒碰到類似的事?難道這是不值得談的問題嗎???寫書也是為后學(xué)造福嗎,買書是免費(fèi)的嗎???以后誰再出書不為后學(xué)負(fù)責(zé)就純粹是找抽?。?!31樓:hartcomm于2006-6-717:57:00to:IceAge&控制器

to:IceAge

口訣不是我寫的。

另外在工業(yè)上一般并不研究控制對(duì)象的模型,不然怎么生產(chǎn)通用控制器?對(duì)每個(gè)控制對(duì)象研發(fā)生產(chǎn)專用控制器?一般都是靠整定

to:IceAge&控制器

我沒有實(shí)際設(shè)計(jì)過數(shù)字控制器。只是對(duì)基本概念有些了解。

我覺得曉奇寫的文章講的是個(gè)加溫儀。我覺得你應(yīng)該弄清楚一些基本問題。

控制器都是一樣,用在溫度上的同樣可以用在任何地方。只是叫控制器。

它的輸入信號(hào)和輸出信號(hào)一般應(yīng)該是標(biāo)準(zhǔn)的信號(hào)(4-20MA或1-5v),然后

由輸送給執(zhí)行器。比如用在溫度控制時(shí)?,F(xiàn)把溫度信號(hào)通過溫度變送器轉(zhuǎn)換為

標(biāo)準(zhǔn)信號(hào),在輸給控制器。也有控制器可以接受熱電偶。熱電阻等信號(hào),輸出

是繼電器等形式,但在工業(yè)上并不很普遍。

工業(yè)上的控制器的一般是保持工業(yè)參數(shù)的穩(wěn)定,而不是從0-200度這樣的調(diào)節(jié)。

你可能不是設(shè)計(jì)一個(gè)通用的控制器,而是一個(gè)專用的控制器。

至于你講“至于對(duì)這個(gè)溫度系統(tǒng),具體是多少Kp、Ti、Td才能讓系統(tǒng)響應(yīng)快、超調(diào)小的工作還暫時(shí)不考慮的,那也應(yīng)該是在做好的PID控制器”我覺得你

如果做通用控制器的話就理解不對(duì)了??刂破髦饕窃趐id程序的設(shè)計(jì),就是那個(gè)公式的程序化(如要切除小變化量,防溢出,抗飽和等等),并不涉及Kp、Ti、Td。Kp、Ti、Td在整定時(shí)定“先是比例后積分,最后再把微分加”也就是先把積分,微分關(guān)閉,調(diào)比例,在逐漸加上積分,微分,作用。

你可以看看自動(dòng)控制原理計(jì)算機(jī)控制等書。計(jì)算機(jī)控制中有控制系統(tǒng)(注意是控制系統(tǒng))的設(shè)計(jì),那跟一般的設(shè)計(jì)通用的pid控制器不是一回事。那里需要研究控制對(duì)象的特性,執(zhí)行器的特性。

我還是以前學(xué)習(xí)的時(shí)候?qū)W的,現(xiàn)在并不做控制器,控制系統(tǒng)。

但我覺得我對(duì)自動(dòng)化還是有一些基本的認(rèn)識(shí)的。上學(xué)時(shí),許多人并不知道

其所以然,只是套套公式,考試也能拿高分,一些高分者,問他為什么用

pid,都搞不清。

呵呵,羅羅嗦嗦一大堆,希望在討論中,我自己能溫故而知新32樓:控制器于2006-6-88:31:00我只需要哪位XD能告訴我下面三句總結(jié)的對(duì)不對(duì)就可以了

3:比例系數(shù)是可以調(diào)整的,但隨著比例系數(shù)的改變,控制器的控制范圍也會(huì)相應(yīng)變化;對(duì)曉奇老師文章中的那個(gè)溫度控制的舉例來說,就是隨著比例系數(shù)的改變,起控點(diǎn)也會(huì)不斷變化,例如:當(dāng)比例系數(shù)=1時(shí),控制范圍為200度,但當(dāng)比例系數(shù)=4時(shí),控制范圍就為50度,以此類推控制范圍。

4:假如根據(jù)第二點(diǎn)確定了比例系數(shù),那么也就說我們已經(jīng)確定了控制范圍,假設(shè)這個(gè)時(shí)候比例系數(shù)=4,那么在例子中的控制范圍就是50度,設(shè)計(jì)程序的時(shí)候,如果{溫度差=(溫度設(shè)置的目標(biāo)值-溫度測(cè)量值)}>50度,此時(shí)就以全功率輸出以促使溫度趕快升高。同時(shí)在曉奇老師文章中,他規(guī)定把輸出量分出200等份,當(dāng)溫度進(jìn)入控制范圍時(shí),且因?yàn)榇藭r(shí)控制范圍為50度,針對(duì)每度的溫度上升,輸出量應(yīng)該按比例減小4個(gè)輸出等份數(shù);于是PID運(yùn)算后的數(shù)值向輸出量轉(zhuǎn)化時(shí),這個(gè)常數(shù)就是兩者轉(zhuǎn)換的“關(guān)聯(lián)方式”。

5:當(dāng)控制范圍為50度時(shí),如果此時(shí)不加入微分和積分環(huán)節(jié)而只有簡(jiǎn)單的比例環(huán)節(jié),那么肯定沒有超出全功率輸出的計(jì)算結(jié)果;所以當(dāng)只有比例控制的時(shí)候,并不需要做超限處理,但當(dāng)加入了微分和積分環(huán)節(jié)后,PID計(jì)算出的結(jié)果向輸出量轉(zhuǎn)化時(shí),肯定會(huì)有可能超出輸出極限的結(jié)果,這個(gè)時(shí)候,只要把結(jié)果處理成兩個(gè)極限值即可。33樓:niaofencha于2006-6-810:40:00控制器兄弟,我的理解是這樣

我在寫外圍程序,還沒有上機(jī)調(diào)試,我的理解是這樣,不知道對(duì)不對(duì):

首先建立反饋,然后根據(jù)反饋的駁接方式通過實(shí)際實(shí)驗(yàn)決定三個(gè)參數(shù)。

具體理解如下:

你先直接把計(jì)算的輸出當(dāng)作實(shí)際三秒內(nèi)應(yīng)該通電的時(shí)間。這樣反饋就建立了。

確定好采樣周期,然后你把積分項(xiàng)和微分項(xiàng)的系數(shù)都弄成零。只流一個(gè)比例系數(shù)。從小到大調(diào),調(diào)到有震蕩出現(xiàn),停,確定此時(shí)的T。(臨界比例度法,你可以具體搜一下)。這樣3個(gè)參數(shù)才是針對(duì)你這樣的反饋形式的實(shí)際可行的參數(shù)。

當(dāng)然如果你把輸出乘以一個(gè)系數(shù)(隨便什么數(shù),0.3假如),那么你的反饋條件變了,再重新找一組適合這種反饋條件的參數(shù)。

這是我的理解,可能一點(diǎn)也不對(duì),我現(xiàn)在這樣搞的,但控制硬件還沒做完呢,所以也沒試,我在搞參數(shù)輸入的調(diào)整程序。你看我理解的是不是有問題。對(duì)你有沒有啟發(fā)。權(quán)作參考。34樓:控制器于2006-6-813:24:00致niaofencha

根據(jù)你的做法,那么不管如何調(diào)整比例項(xiàng),溫度控制的范圍一直都是固定不變的??

這和我讀書總結(jié)中第3條正好相反,我的想法是隨著比致例系數(shù)的調(diào)整,控制范圍是會(huì)變化的才對(duì)。

根據(jù)曉奇文章中說法:Kp=基本時(shí)間總周期/控制范圍

我的理解是:這的‘基本時(shí)間總周期’指的就是200等份,從上面的式子看,比例系數(shù)與控制范圍明顯是有關(guān)聯(lián)的?。???

chunyang老先生要是光顧這個(gè)帖子就好了,他一向很熱心幫助我們這些菜鳥的。35樓:hartcomm于2006-6-817:16:00..

"微分和積分環(huán)節(jié)而只有簡(jiǎn)單的比例環(huán)節(jié),那么肯定沒有超出全功率輸出的計(jì)算結(jié)果;所以當(dāng)只有比例控制的時(shí)候,并不需要做超限處理,但當(dāng)加入了微分和積分環(huán)節(jié)后,PID計(jì)算出的結(jié)果向輸出量轉(zhuǎn)化時(shí),肯定會(huì)有可能超出輸出極限的結(jié)果"

我只同意這一句。其他的都不是一般的通用的方法,只是專用的方法,除非有人設(shè)計(jì)過跟你一樣的東西,才會(huì)對(duì)一些特有的細(xì)節(jié)那么清楚。既然是特有的不妨邊試驗(yàn)邊設(shè)計(jì)36樓:控制器于2006-6-817:35:00這一句對(duì)通用PID控制也不對(duì)嗎?

3:比例系數(shù)是可以調(diào)整的,但隨著比例系數(shù)的改變,控制器的控制范圍也會(huì)相應(yīng)變化……

hartcomm再幫忙多講一點(diǎn)!!

各位作過PID的老大都‘冒頂’講幾句把……37樓:hartcomm于2006-6-818:34:00.

"3:比例系數(shù)是可以調(diào)整的,但隨著比例系數(shù)的改變,控制器的控制范圍也會(huì)相應(yīng)變化……"

不通用,通用控制器的參數(shù)只在整定時(shí)調(diào)整,整定后時(shí)不變的

另外控制器好像沒有“控制范圍”一說

我覺得你的設(shè)計(jì)有些“先進(jìn)”,支持動(dòng)態(tài)調(diào)整參數(shù)。

既然是有些特殊的控制器,就不必拘泥于通用方法,能達(dá)到控制要求就行

呵呵,說到arm等什么的一大堆人唧唧歪歪,到了這種問題,沒幾個(gè)人上來唧歪了。

我沒做過控制器,所以不能講得很具體。38樓:chunyang于2006-6-819:00:00一般來說,參數(shù)都是用湊的辦法試出來的

根據(jù)公式計(jì)算雖好,但問題是你很難得到控制對(duì)象及環(huán)境的數(shù)學(xué)模型,沒有正確的數(shù)學(xué)模型算也白搭。工程上一般都是用湊的辦法,溫度控制一般都是大滯后特性的,所以比例控制多數(shù)情況下即可工作得很好,微分環(huán)節(jié)的引入可以提高快速性,但容易造成過調(diào),而很多溫控系統(tǒng)是升溫容易降溫難,所以微分環(huán)節(jié)不宜加得過大。積分環(huán)節(jié)則有助于系統(tǒng)的穩(wěn)定性并抑制過調(diào),但P、I、D三個(gè)參數(shù)會(huì)彼此影響,牽一發(fā)而動(dòng)全局,搞不好系統(tǒng)還會(huì)發(fā)散。所以,實(shí)際整定參數(shù)時(shí),先不用微分和積分環(huán)節(jié),先加比例環(huán)節(jié),能用則用,品質(zhì)達(dá)不到要求時(shí)再引入微分、積分環(huán)節(jié),同樣,引入ID環(huán)節(jié)后,應(yīng)逐量加入并保持定值,再通過調(diào)節(jié)P環(huán)節(jié)來看效果,直至滿意。這是普遍的工作方法,經(jīng)驗(yàn)是這個(gè)過程中很重要的,只能靠多試、多總結(jié)來提高。39樓:chunyang于2006-6-819:06:00剛才看了一下各個(gè)跟帖

hartcomm的口訣可謂是很好的經(jīng)驗(yàn)總結(jié),這方面沒有什么一招制敵的絕招,只能試,反復(fù)試,有了口訣更有指導(dǎo)意義。40樓:IceAge于2006-6-820:51:00回到那個(gè)溫控系統(tǒng)

即便沒有系統(tǒng)模型,也必須知道系統(tǒng)特性。溫控系統(tǒng)(確切地說,應(yīng)該是一個(gè)加熱系統(tǒng))中的被控對(duì)象一般是穩(wěn)定的。

首先,通過測(cè)量穩(wěn)態(tài)可以確定Kp:比如:

controller=0%:pwm占空比0%,穩(wěn)態(tài)相對(duì)溫度(相對(duì)環(huán)境)為0,

controller=10%:pwm占空比10%,穩(wěn)態(tài)相對(duì)溫度為10degree

...

controller=50%:pwm占空比50%,穩(wěn)態(tài)相對(duì)溫度為40degree

...

controller=100%:pwm占空比100%,穩(wěn)態(tài)相對(duì)溫度為70degree

這樣,實(shí)際上已經(jīng)得到了加熱時(shí)的Kp(如果你知道控制理論,可以用這些數(shù)據(jù)擬合系統(tǒng)模型,以便計(jì)算及仿真),下一步則是整定Ki來調(diào)節(jié)瞬態(tài)特性,Kd容易引入噪聲,這種系統(tǒng)不用Kd也罷。

41樓:控制器于2006-6-98:29:00TO

hartcomm

我沒有動(dòng)態(tài)調(diào)整參數(shù)???

我說的意思就是參數(shù)整定的時(shí)候,假如比例系數(shù)整定為不同的值,那么這個(gè)控制器的控制范圍就做相應(yīng)的調(diào)整。42樓:niaofencha于2006-6-910:51:00關(guān)鍵是怎樣把PID調(diào)節(jié)的輸出變作控制的輸入

通過計(jì)算會(huì)得到PID調(diào)節(jié)的輸出,我們是直接當(dāng)成3秒內(nèi)的加熱時(shí)間(或時(shí)間比例)還是說經(jīng)過標(biāo)度變換折算成加熱時(shí)間(或時(shí)間比例),哪位老師直接講一下。43樓:控制器于2006-6-914:54:00我個(gè)人認(rèn)為比例系數(shù)就已經(jīng)決定了如何變換為輸出量

從曉奇老師比例系數(shù)的定義也能看的出來,

比例系數(shù)=基本時(shí)間總周期/控制范圍

我個(gè)人理解這個(gè)‘基本時(shí)間總周期’就是你把這個(gè)3S到底分成多少控制等份!

在他的例子中,他是把2分鐘平均分為200等份,

所以也就是:比例系數(shù)=200等份/控制范圍

以上只是我的個(gè)人理解,沒有得到眾多‘大蝦’的認(rèn)可,也不知道是對(duì)是錯(cuò),問了半天也沒人告訴我到底是對(duì)是錯(cuò),文章是曉奇老師寫的,可惜曉奇老師不來這兒,如果能向原作者請(qǐng)教一下就好了。

PS:這就是一個(gè)簡(jiǎn)單的設(shè)計(jì),大家都喜歡套出一大堆概念,俺比較愚笨……

這個(gè)產(chǎn)品的要求可做如下描述:設(shè)計(jì)一個(gè)PID溫度控制器,只有加熱沒有制冷,溫度控制的最大范圍200度,也就是如果溫度目標(biāo)值為240度,那么控制范圍為40~240度,如果控制范圍為500度,那么控制范圍為300度~500度(當(dāng)然,溫度測(cè)量范圍不會(huì)做那么寬,只是為了說明控制的范圍而做的假設(shè)),控制采用繼電器每2分鐘內(nèi)通、斷時(shí)間比例來輸出,要求把2分鐘分為200等份,控制繼電器的通、斷時(shí)間比例也就是控制通、斷的時(shí)間等份數(shù)。44樓:seuqly于2006-6-922:49:00

這玩藝不是看過幾本書就能搞出來的,樓主不要浪費(fèi)時(shí)間了45樓:控制器于2006-6-108:14:00做也需要知道做的方法??!

46樓:chunyang于2006-6-1011:57:00你陷入了歧途

脫離控制對(duì)象的數(shù)學(xué)模型來談什么“比例系數(shù)”根本沒有任何意義,不同對(duì)象、不同環(huán)境,PID參數(shù)根本就不同,沒有什么普遍有效的簡(jiǎn)單方法,你企圖找的簡(jiǎn)單方法,已將你引入歧途,看來你確實(shí)應(yīng)看看控制論方面的書籍,看書要解決的不是具體方法問題,而是可以先解決認(rèn)識(shí)問題,這是根本,沒有相關(guān)知識(shí),你以后做這一行能達(dá)到的高度會(huì)很有限。47樓:xuyaqi于2006-6-1014:12:00我來說說看

1算出來的132.55就是你在原來的輸出基礎(chǔ)上再增加的值,比如原來是開1.5秒關(guān)1.5秒(輸出50%)。那么你就應(yīng)該在原來開1.5秒的基礎(chǔ)上再加132.55,單位是什么,既可是秒也可是毫秒,這全仗你采用的kp,ki,kd值了,本身這些就是一些系數(shù)嘛,用不同的系數(shù)就可算出不同的輸出增量。

2比例系數(shù)Kp和采樣周期T沒關(guān)系

積分系數(shù)Ki=kp*T/Ti

微分系數(shù)Kd=Kp*Td/T

不知我是否講明白了?48樓:控制器于2006-6-229:26:00最近又認(rèn)真看了一遍書

并仔細(xì)看了一下各位的回帖,重新總結(jié)了一下,請(qǐng)各位老大看看。

如下:

用增量公式算出的值和輸出有必然聯(lián)系,對(duì)于我所舉的那個(gè)溫度控制的例子來講,假如溫度控制的范圍為200度,那么不管如何調(diào)整Kp、Ki、Kd參數(shù),這個(gè)控制范圍都是不會(huì)變的,只是隨著Kp、Ki、Kd的調(diào)整,其計(jì)算輸出量會(huì)超出最大可輸出量,例如在溫度偏差在150度的時(shí)候,就已經(jīng)達(dá)到最大輸出量而無法再增加了,那么在偏差超出150度后輸出肯定都是最大輸出量值,至于計(jì)算值和輸出量值間的換算關(guān)系,可隨意先假設(shè)一個(gè)值,然后根據(jù)實(shí)際系統(tǒng)調(diào)試確定(但這個(gè)值先假設(shè)為多少比較合適呢?這還有點(diǎn)糊涂。)

我以前理解為假如系統(tǒng)的控制范圍為0~200度,目標(biāo)值在0~200度內(nèi)任意設(shè)定時(shí),Kp、Ki、Kd這三個(gè)參數(shù)一直都是不變化的,但這好象錯(cuò)的比較徹底,似乎應(yīng)該是只要目標(biāo)值改變了,Kp、Ki、Kd三個(gè)參數(shù)就要做相應(yīng)的調(diào)整才對(duì),不知道這樣理解是否正確?

但這又給我?guī)硪粋€(gè)新的疑惑,我看到的恒溫槽,溫度都是可以調(diào)整的,難道每調(diào)整一次目標(biāo)溫度,恒溫槽都自己自整定一下參數(shù)嗎?

各位老大們幫忙看看……49樓:控制器于2006-6-2216:45:00更新的看不見了

頂了……50樓:ft2006095于2006-6-2310:21:00我來說兩句

對(duì)樓主所說的:

“我以前理解為假如系統(tǒng)的控制范圍為0~200度,目標(biāo)值在0~200度內(nèi)任意設(shè)定時(shí),Kp、Ki、Kd這三個(gè)參數(shù)一直都是不變化的,但這好象錯(cuò)的比較徹底,似乎應(yīng)該是只要目標(biāo)值改變了,Kp、Ki、Kd三個(gè)參數(shù)就要做相應(yīng)的調(diào)整才對(duì),不知道這樣理解是否正確?

但這又給我?guī)硪粋€(gè)新的疑惑,我看到的恒溫槽,溫度都是可以調(diào)整的,難道每調(diào)整一次目標(biāo)溫度,恒溫槽都自己自整定一下參數(shù)嗎?”。

我認(rèn)為:

一般的控制器出廠時(shí)是設(shè)定好PID參數(shù)的,或者在現(xiàn)場(chǎng)整定過。

改變目標(biāo)值(給定量)后,PID參數(shù)一般不需要修改,因?yàn)橹皇歉淖兘o定值,并沒有改變控制對(duì)象,函數(shù)關(guān)系沒有改變。51樓:xuyaqi于2006-6-2311:19:00ft2006095說的不對(duì),一般的控制器PID參數(shù)

要自己設(shè)定,除非是專用的控制器。PID參數(shù)是隨著控制對(duì)象的不同而需要改變的,但如恒溫槽你只改變給定值,因?qū)ο筇匦愿淖儾淮螅瓉淼腜ID參數(shù)也是可以用的。52樓:yinrichun于2006-6-2312:27:00學(xué)習(xí)一下

53樓:ft2006095于2006-6-2312:40:00To:xuyaqi

可能是我沒有表達(dá)清楚,我是說改變給定值后不要調(diào)整PID參數(shù),改變控制對(duì)象后傳遞函數(shù)變了,PID參數(shù)當(dāng)然要變化。54樓:控制器于2006-6-248:34:00ft2006095&xuyaqi說的都有道理

我重新想了一下,恒溫槽確實(shí)不必要改變這三個(gè)參數(shù)。

下面的總結(jié)是對(duì)是錯(cuò)呢?請(qǐng)各位老大看看……

用增量公式算出的值和輸出有必然聯(lián)系,對(duì)于我所舉的那個(gè)溫度控制的例子來講,假如溫度控制的范圍為200度,那么不管如何調(diào)整Kp、Ki、Kd參數(shù),這個(gè)控制范圍都是不會(huì)變的,只是隨著Kp、Ki、Kd的調(diào)整,其計(jì)算輸出量會(huì)超出最大可輸出量,例如在溫度偏差在150度的時(shí)候,就已經(jīng)達(dá)到最大輸出量而無法再增加了,那么在偏差超出150度后輸出肯定都是最大輸出量值,至于計(jì)算值和輸出量值間的換算關(guān)系,可隨意先假設(shè)一個(gè)值,然后根據(jù)實(shí)際系統(tǒng)調(diào)試確定(但這個(gè)值先假設(shè)為多少比較合適呢?這還有點(diǎn)糊涂。)55樓:stycx于2006-6-2410:11:00今天看了上面的帖子,說幾句自己的理解,歡迎拍磚

我覺得

1、增量加原來的量如果大于100,就當(dāng)100處理;小于0,當(dāng)0處理。

2、Kp、Ki、Kd是需要根據(jù)實(shí)際系統(tǒng)來確定的,理論上無論怎么設(shè)定都會(huì)達(dá)到你所需要的控制目標(biāo)值,但波動(dòng)度、速度就難說。

3、如果你是設(shè)計(jì)pid控制器的話,用直接計(jì)算的公式不是更簡(jiǎn)單嗎

很早就對(duì)pid感興趣,但沒系統(tǒng)看過書,今天看了曉奇老師的關(guān)于pid,收獲不少。56樓:chuandaoxy于2006-6-2410:19:00matlabzuihaodexuanze

57樓:控制器于2006-6-2417:34:00TO

stycx

2、Kp、Ki、Kd是需要根據(jù)實(shí)際系統(tǒng)來確定的,理論上無論怎么設(shè)定都會(huì)達(dá)到你所需要的控制目標(biāo)值,但波動(dòng)度、速度就難說。

那怎么可能,如果我這三個(gè)值都是0呢?58樓:stycx于2006-6-257:39:00哈哈,三個(gè)值都是0還真不行。

59樓:xuyaqi于2006-6-257:56:00我說的“ft2006095說的不對(duì)”指的是

“一般的控制器出廠時(shí)是設(shè)定好PID參數(shù)的”不是指的其他。

另外stycx說的第二條“理論上無論怎么設(shè)定都會(huì)達(dá)到你所需要的控制目標(biāo)值”是錯(cuò)誤的!如參數(shù)設(shè)置不合適,控制結(jié)果可能變成發(fā)散振蕩,在工程實(shí)際中有可能造成災(zāi)難性后果。60樓:stycx于2006-6-2517:51:00我都聲明了“但波動(dòng)度、速度就難說?!?/p>

其實(shí)我說那句話的目的是想說:

不同的Kp、Ki、Kd,雖然都可達(dá)到控制目標(biāo)值,但控制效果是不同的。61樓:xuyaqi于2006-6-267:00:00stycx的理解還是有問題,

比如控制一個(gè)恒溫槽“達(dá)到控制目標(biāo)值”的意思應(yīng)該是,系統(tǒng)穩(wěn)定在一個(gè)確定的的溫度值(給定值)。但如果實(shí)際結(jié)果是溫度永遠(yuǎn)在波動(dòng),而且波動(dòng)越來越大(發(fā)散振蕩),這能是“理論上無論怎么設(shè)定都會(huì)達(dá)到你所需要的控制目標(biāo)值”,事實(shí)上不合適的整定參數(shù)確實(shí)會(huì)使系統(tǒng)處于不穩(wěn)定狀態(tài),甚至發(fā)散振蕩。62樓:控制器于2006-6-268:16:00還是幫我看看我的疑問把

……至于計(jì)算值和輸出量值間的換算關(guān)系,可隨意先假設(shè)一個(gè)值,然后根據(jù)實(shí)際系統(tǒng)調(diào)試確定(但這個(gè)值先假設(shè)為多少比較合適呢?這還有點(diǎn)糊涂。)……

這怎么解決。63樓:控制器于2006-6-268:20:00從增量公式看三個(gè)參數(shù)

增量值=kp*[e(k)-e(k-1)]+Ki*e(k)+Kd*[e(k)-2e(k-1)+e(k-2)]

只要Kp、Ki、Kd滿足一定條件,就有可能隨著偏差變化到一定程度后,增量值=0,這個(gè)時(shí)候,還存在著偏差,沒有達(dá)到目標(biāo)值,控制器就沒有輸出了。64樓:ft2006095于2006-6-269:08:00to"xuyaqi"

我那句:“一般的控制器出廠時(shí)是設(shè)定好PID參數(shù)的”是說錯(cuò)了,當(dāng)時(shí)沒有注意。65樓:ft2006095于2006-6-2611:30:00tolz

當(dāng)增量值=0時(shí),前一時(shí)刻的控制量應(yīng)該不是0,相加后的當(dāng)前時(shí)刻控制量就不是0,仍然可以控制目標(biāo)。

當(dāng)輸出的控制量為0時(shí),說明目標(biāo)量與給定量相等,也就不用控制了,但是動(dòng)態(tài)平衡改變時(shí)就又有偏差了,控制器就又有事情可以干了。66樓:stycx于2006-6-2620:43:00你就隨便給個(gè)值好了

》……至于計(jì)算值和輸出量值間的換算關(guān)系,可隨意先假設(shè)一個(gè)值,然后根據(jù)實(shí)際系統(tǒng)調(diào)試確定(但這個(gè)值先假設(shè)為多少比較合適呢?這還有點(diǎn)糊涂。)……

》這怎么解決。

你就隨便給個(gè)值好了,就當(dāng)Kp、Ki、Kd再乘多個(gè)系數(shù)而已67樓:liht1634于2006-6-2810:27:00作個(gè)記號(hào)

68樓:控制器于2006-6-2817:46:00謝謝stycx

我也是如此想的,隨便給一個(gè)值,也就當(dāng)作三個(gè)參數(shù)同比例改變了。

ft2006095這段分析的有理。

ft2006095發(fā)表于2006-6-2611:30侃單片機(jī)←返回版面

tolz

當(dāng)增量值=0時(shí),前一時(shí)刻的控制量應(yīng)該不是0,相加后的當(dāng)前時(shí)刻控制量就不是0,仍然可以控制目標(biāo)。

當(dāng)輸出的控制量為0時(shí),說明目標(biāo)量與給定量相等,也就不用控制了,但是動(dòng)態(tài)平衡改變時(shí)就又有偏差了,控制器就又有事情可以干了

呵呵,轉(zhuǎn)悠了半天才發(fā)現(xiàn),好象根本沒有轉(zhuǎn)化的問題。

整理一下想法:

設(shè)定好三個(gè)參數(shù)后,采用增量法計(jì)算出輸出值,就把系數(shù)假設(shè)為1好了,什么都不變,把這個(gè)值+上一次輸出值輸出就可以了,如果超出最大值,按照最大值輸出,如果小于0,就關(guān)閉輸出;如果這樣發(fā)生PID控制不對(duì),說明三個(gè)參數(shù)設(shè)置不合理,重新整定參數(shù)就可以了,整定后也可以再細(xì)調(diào)參數(shù)得到更好的控制效果。

對(duì)了嗎?69樓:控制器于2006-6-298:42:00對(duì)了嗎?

70樓:xuyaqi于2006-6-2916:05:00原理確實(shí)是如此簡(jiǎn)單,

原理確實(shí)是如此簡(jiǎn)單,但在實(shí)際控制中就不簡(jiǎn)單了,如滯后,熱容都會(huì)使控

制非常困難。你實(shí)際參與了才知道其中的難度。自動(dòng)控制是一門非常復(fù)雜的學(xué)問,人類已經(jīng)研究了幾百年。

但就參數(shù)整定也不是你想的那么簡(jiǎn)單,得弄清每個(gè)參數(shù)的物理含義。71樓:stycx于2006-6-2921:00:00樓主的理解對(duì)呀,樓主開始試驗(yàn)了嗎

把參數(shù)設(shè)計(jì)成可調(diào)的就可以開始試驗(yàn)了

不一定要等理論計(jì)算出所有參數(shù)才開始試驗(yàn)呀72樓:mikezhong于2006-6-2923:39:00PID不難.

承接專業(yè)PID控制器設(shè)計(jì),自適用,自整定功能,

郵箱:mike.zhong@126.com73樓:高勇于2006-6-3011:12:00樓主:我認(rèn)為你一開始就搞錯(cuò)了

我對(duì)PID算法的理解。

針對(duì)樓主你的第一個(gè)貼子

“我要做的是一個(gè)溫度控制系統(tǒng),用調(diào)節(jié)加溫時(shí)間比例來調(diào)節(jié)溫度。

如果我目標(biāo)溫度是22度,初始溫度是0度,采樣周期為3s,繼電器輸出周期等同采樣周期3S,假設(shè)把輸出周期平分為100份。

比例系數(shù)假設(shè)為Kp=0.5,Ki=0.025,Kd=5.5

那么開始計(jì)算,系統(tǒng)剛開始工作的時(shí)候偏差為22度,我根據(jù)增量公式:

kp*[e(k)-e(k-1)]+Ki*e(k)+Kd*[e(k)-2e(k-1)+e(k-2)]

=0.5*22+0.025*22+5.5*22

=132.55

算得的結(jié)果為132.55.我想不明白這個(gè)132.55究竟是代表什么?

直接說就是如何如何把PID計(jì)算結(jié)果變換為控制繼電器工作的輸出時(shí)間?

另外就是采樣周期和Kp、Ki、Kd有什么關(guān)系??”

我認(rèn)為:

1、K只能是自然數(shù),因?yàn)镻ID算法中K是指采樣的次數(shù)。即第幾次采用。所以你的試中e(K)-e(k-1)表示的是這要當(dāng)前這一次采樣的值與設(shè)定值的偏差和上一次采用值與設(shè)定值的偏差的差。在你的系統(tǒng)中采用周期是3秒,也就是現(xiàn)在這次采用的溫度與3秒鐘前的溫度差(此值表示了目前的溫度變化的快慢,即PID算法中的“dy/dt~)。所以你的的Ki就是指采用的次數(shù)。

2、式中“Ki*e(K)”是計(jì)算PID算法的積分項(xiàng)。

3、式中“Kd*[e(k)-2e(k-1)+e(k-2)”計(jì)算出PID算法的微分項(xiàng)。

4、你式中的Kp即是一個(gè)比例系數(shù),即K值越大,則調(diào)整溫度的速度越快,但過不宜過大,但必須大于等于1。

5、式中的Kd我認(rèn)為應(yīng)該是你的微分時(shí)間除以你的采用周期。在你的系統(tǒng)中你采用周期3S。如果你的微分時(shí)間取9S則你的Kd應(yīng)該是3。

6、因?yàn)槟愕氖街猩倭艘粋€(gè)項(xiàng),少了一個(gè)系統(tǒng)基準(zhǔn)控制量。如果加上該量則你的式子應(yīng)該為:

kp*][e(k)-e(k-1)]+Ki*e(k)+Kd*[e(k)-2e(k-1)+e(k-2)]+Uo

7、上式中Uo就是你的系統(tǒng)損失溫度應(yīng)該補(bǔ)償?shù)牧?。如果該量則大于你的系統(tǒng)損失溫度的補(bǔ)償量過半,則你的溫度系統(tǒng)的溫度會(huì)在你設(shè)定值的上邊波動(dòng)。如果取值小的話,則會(huì)在你設(shè)定的溫度的下邊波動(dòng)。

以上僅為本人的理解。74樓:控制器于2006-6-3013:48:00TO

高勇

你所說的內(nèi)容,我有幾點(diǎn)不太明白。

1:K只能是自然數(shù),因?yàn)镻ID算法中K是指采樣的次數(shù)……所以你的的Ki就是指采用的次數(shù)。

Ki怎么也成了采樣的次數(shù)了?

4:你式中的Kp即是一個(gè)比例系數(shù),即K值越大,則調(diào)整溫度的速度越快,但過不宜過大,但必須大于等于1。

我也是這么想的,Kp即應(yīng)該大于等于1,但沒有找到任何理論依據(jù)???

5:微分時(shí)間根據(jù)什么確定?

6、7:U0指什么?。恐干弦淮蔚妮敵隽窟€是系統(tǒng)損失能量而應(yīng)該加入的輸出補(bǔ)償嗎?這個(gè)輸出補(bǔ)償根據(jù)什么確定?。亢孟笙到y(tǒng)處于不同的溫度,需要補(bǔ)償?shù)哪芰渴遣灰粯拥陌。?/p>

謝謝大家的回復(fù)……75樓:高勇于2006-6-3015:40:00回復(fù)樓主

為本人的理解:

1、你的式中的K應(yīng)該指的是當(dāng)前采用值。所以式中的函數(shù)e(K)指的就是當(dāng)前采用指與給定值的偏差。那么K-1指的是上一次采用值,同樣函數(shù)e(K-1)指的是上一次采樣與給定值的偏差。式中e(K)-e(k-1)表示的是這要當(dāng)前這一次采樣的值與設(shè)定值的偏差和上一次采用值與設(shè)定值的偏差的差。

所以:

kp*[e(k)-e(k-1)]+Ki*e(k)+Kd*[e(k)-2e(k-1)+e(k-2)]

=0.5*22+0.025*22+5.5*22

的錯(cuò)誤就是把函數(shù)當(dāng)作四則運(yùn)算來計(jì)算。

2、Ki指的的的積分時(shí)間中的積分時(shí)間項(xiàng),同樣Ki*e(K)也是函數(shù),它表示的是在你的規(guī)定的積分時(shí)間中的采用的次數(shù)的每次偏差的總和。

3、上一次的Kd我打錯(cuò)了不是微分時(shí)間,Kd是微分時(shí)間除以采用周期的值:一般微分時(shí)間取采用周期的整倍數(shù)。這樣Kd就是一個(gè)正整數(shù)。76樓:高勇于2006-6-3016:00:00至樓主

象樓上的mikezhong所講的,PID的算法不難,因?yàn)镻ID發(fā)展到現(xiàn)在已經(jīng)有好幾代了。其公式的表示也有好多種。

圖中的這個(gè)公式就是溫度控制中的PID公式。77樓:高勇于2006-6-3016:02:00公式

78樓:tc9148于2006-6-3017:40:00!

我們老師指講了《自控》的不到二分之一。本來我對(duì)自控非常感興趣,但是被他整的郁悶了。完全的脫離實(shí)際。79樓:xuyaqi于2006-7-111:10:00高勇講的“Ki就是指采用的次數(shù)”不對(duì),

Ki是積分系數(shù)?!癒p必須大于等于1”不對(duì),Kp可以小于1。

“Uo”應(yīng)該是目前的輸出值即歷史輸出值的積分。

高勇講“kp*[e(k)-e(k-1)]+Ki*e(k)+Kd*[e(k)-2e(k-1)+e(k-2)]

=0.5*22+0.025*22+5.5*22的錯(cuò)誤就是把函數(shù)當(dāng)作四則運(yùn)算來計(jì)算”這句話不對(duì),這個(gè)增量式PID控制算法是將連續(xù)PID算法微分方程進(jìn)行離散化處理的結(jié)果,確實(shí)只需要“四則運(yùn)算”來計(jì)算。80樓:高勇于2006-7-114:09:00謝謝

謝謝樓上的朋友,給我?guī)韺?duì)PID算法的進(jìn)一步了解。81樓:解牛于2006-7-117:41:00偏差?

你們說的偏差是不是就是穩(wěn)態(tài)誤差呢?82樓:hartcomm于2006-7-213:56:00關(guān)于U0

上面那個(gè)公式是位置型算式,U0應(yīng)該是調(diào)節(jié)器輸入偏差為零時(shí)的輸出初值。

或許理解為““Uo”應(yīng)該是目前的輸出值即歷史輸出值的積分?!庇行┟銖?qiáng)。

控制器整定前有個(gè)手操,實(shí)際上可能是設(shè)定U0。

關(guān)于手操現(xiàn)在沒什么印象,模模糊糊的印象。83樓:xuyaqi于2006-7-218:21:00關(guān)于U0

U0應(yīng)該是控制開始時(shí)輸出初值。

我的那句““Uo”應(yīng)該是目前的輸出值即歷史輸出值的積分?!笔轻槍?duì)增量式算法而說的,公式是Uk=Uk-1+增量Uk,嚴(yán)格地說“U0”應(yīng)該是“Uk-1”這句話才正確。

增量Uk=Kp[ek-ek-1+(T/Ti)*ek+(Td/T)*(ek-2*ek-1+ek-2)]

Uk=Kp[ek-ek-1+(T/Ti)*ek+(Td/T)*(ek-2*ek-1+ek-2)]+Uk-1

對(duì)“hartcomm”的提醒表示感謝。84樓:高勇于2006-7-38:23:00至xuyaqi

照你這么說我對(duì)U0理解為:Uo就是你的系統(tǒng)損失溫度應(yīng)該補(bǔ)償?shù)牧?。如果該量則大于你的系統(tǒng)損失溫度的補(bǔ)償量過半,則你的溫度系統(tǒng)的溫度會(huì)在你設(shè)定值的上邊波動(dòng)。如果取值小的話,則會(huì)在你設(shè)定的溫度的下邊波動(dòng)。還是有道理的嗎?85樓:控制器于2006-7-39:15:00hartcomm和xuyaqi理解的U0好象不是一個(gè)參數(shù)!

hartcomm理解成了一個(gè)公式計(jì)算后需要補(bǔ)償?shù)臄?shù)值。

xuyaqi理解的是增量式計(jì)算中的上一次位置輸出值。

至于hartcomm說的什么手操,俺沒有聽說,不知道是什么?!86樓:控制器于2006-7-39:20:00高勇理解的U0好象也是一個(gè)需要補(bǔ)償?shù)臄?shù)值

高勇發(fā)表于2006-7-308:23侃單片機(jī)←返回版面

至xuyaqi

照你這么說我對(duì)U0理解為:Uo就是你的系統(tǒng)損失溫度應(yīng)該補(bǔ)償?shù)牧俊H绻摿縿t大于你的系統(tǒng)損失溫度的補(bǔ)償量過半,則你的溫度系統(tǒng)的溫度會(huì)在你設(shè)定值的上邊波動(dòng)。如果取值小的話,則會(huì)在你設(shè)定的溫度的下邊波動(dòng)。還是有道理的嗎?

我個(gè)人認(rèn)為是錯(cuò)誤的,因?yàn)檫@不符合PID控制的規(guī)律:減少偏差。

用溫度控制舉例就是:當(dāng)有上偏差后,肯定要輸出控制減少上偏差,因?yàn)闇囟鹊臏笮?,肯定要有一點(diǎn)過沖,從而出現(xiàn)下偏差,控制器繼續(xù)輸出控制減少下偏差,當(dāng)偏差小于控制精度時(shí),控制器就無法分辨偏差了,此時(shí)認(rèn)為無偏差維持穩(wěn)態(tài),如此循環(huán)。87樓:hartcomm于2006-7-317:22:00u0的理解

對(duì)于調(diào)節(jié)起始時(shí)間的不同,那么對(duì)u0的理解就不同。

一般認(rèn)為在pid調(diào)節(jié)開始時(shí)的時(shí)刻為t=0。當(dāng)然也可以以pid調(diào)節(jié)后的某一時(shí)間認(rèn)為開始時(shí)間,那么此時(shí)的值就為u0。

另外這兒討論的控制器其實(shí)不是一正規(guī)的控制器,是一種特殊化的調(diào)節(jié)器。控制系統(tǒng)在自動(dòng)控制前有個(gè)手動(dòng)控制,手動(dòng)控制使系統(tǒng)的偏差很小時(shí),在切換至自動(dòng)控制,進(jìn)行pid參數(shù)整定,整定完畢設(shè)置完三個(gè)參數(shù)后,完全自動(dòng)運(yùn)行。如果在一個(gè)溫控系統(tǒng)中,先手動(dòng)操作使溫度至設(shè)定值,在切換至自動(dòng)控制。

“Uo就是你的系統(tǒng)損失溫度應(yīng)該補(bǔ)償?shù)牧俊币彩且环N特殊化的認(rèn)識(shí),不很正規(guī)。

如果要系統(tǒng)了解,可以看看控制儀表

過程控制等書88樓:hartcomm于2006-7-317:33:00還有一點(diǎn)大家注意了沒有

并不是沒有偏差就沒有輸出。

如果偏差為零,照樣有輸出。只是輸出值沒有增大或減小。

就像沒有加速度一樣,照樣有速度,加速度為正則速度增大,加速度為負(fù)則速度減小。89樓:IceAge于2006-7-322:01:00建議先掌握些基本的控制理論

PID的laplace基本公式是:

f(s)=Kp+Ki/s+Kd*s

轉(zhuǎn)到離散域不同的轉(zhuǎn)換形式(時(shí)域,zdomain方法)可以得出不同的離散公式,精髓不是在于某一公式的寫法,而是理解基本公式運(yùn)作的本質(zhì)。

增量公式Uk=Kp[ek-ek-1+(T/Ti)*ek+(Td/T)*(ek-2*ek-1+ek-2)]顯然是從time/zdomain直接轉(zhuǎn)換得來(我以前在dsp貼過sdomain-->zdomain-->differentialequation).

Uk里的Kp不再是純粹Kp,而是包含了原來的kd,ki,看看推導(dǎo)過程就明白了。

kp*[e(k)-e(k-1)]----e是誤差,e(k)-e(k-1)會(huì)很小,從而失去原本的kp的意義。

一個(gè)pid公式;

U(k)=Kp*e(k)+I(k)+D(k)

I(k)=I(k-1)+Ki*Ts*e(k)

D(k)=Ki*(e(k)-e(k-1))/Ts

----實(shí)際應(yīng)用中,可忽略此項(xiàng)。

90樓:xuyaqi于2006-7-322:07:00“手操”即“手操器”,手動(dòng)直接操縱“輸出”的設(shè)備,

一般重要的控制系統(tǒng)設(shè)有“手操器”由“自動(dòng),手動(dòng)”轉(zhuǎn)換開關(guān)來選擇自動(dòng),還是手動(dòng)。手動(dòng)一般用于事故處理,系統(tǒng)不正常等異常情況。

“U0”是數(shù)字PID位置算法中才有的,它是由不定積分轉(zhuǎn)為定積分所具有的積分常數(shù),既然是積分常數(shù)可以為任何值,可以是“0”也可以是穩(wěn)態(tài)后的“輸出值”。增量算法中是沒有“U0”的。而工程實(shí)踐中常用的是“增量算法”。91樓:IceAge于2006-7-322:09:00增量公式是對(duì)整個(gè)pid的迭代

U(k)=U(k-1)+.....

將pid復(fù)雜化了,其實(shí)只要對(duì)其中的積分迭代,kp不必參與迭代。即

I(k)=I(k-1)+...

U(k)=Kp*e(k)+I(k)+D(k)92樓:hartcomm于2006-7-417:14:00RE

pid的算式可以直接從時(shí)域(微分方程)轉(zhuǎn)換過來,積分等于求和,微分等于求斜率。

關(guān)于手操,確實(shí)在系統(tǒng)超限報(bào)警,異常等情況下人工操作。另外,在系統(tǒng)整定自動(dòng)控制之前,為防止偏差過大,采用人工操作,減小偏差,再投入運(yùn)行。93樓:gao8051于2006-7-421:30:00用繼電器根本不能用PID

PID本身就是為了提高控制溫度精度,你用繼電器根本無法達(dá)到目的,因?yàn)闄C(jī)電器控制的速度太慢了,可以用一個(gè)上下限的方法來控制就可以了94樓:IceAge于2006-7-423:01:00我算是服了你們。

“還有一點(diǎn)大家注意了沒有并不是沒有偏差就沒有輸出“---還是先多學(xué)些理論知識(shí),或是仔細(xì)捉摸前面的整定口訣

討論了這么長(zhǎng)時(shí)間的所謂增量式算法,根本沒有抓住要領(lǐng)。首先這種增量式算法本身就是機(jī)械公式(用uk-u(k-1)得出的迭代公式),再者pid輸出也不應(yīng)該建立在delta-e之上。pid的離散公式非常簡(jiǎn)單:

U(k)=Kp*e(k)+I(k)+D(k)

I(k)=I(k-1)+Ki*Ts*e(k)

D(k)=Ki*(e(k)-e(k-1))/Ts

----實(shí)際應(yīng)用中,可忽略此項(xiàng)

95樓:xuyaqi于2006-7-423:56:00希望IceAge將你的增量式算法講清楚點(diǎn),

比如e(k),Ts的定義計(jì)算式,否則工程中無法使用。96樓:hartcomm于2006-7-58:58:00to:IceAge

"“還有一點(diǎn)大家注意了沒有并不是沒有偏差就沒有輸出“---還是先多學(xué)些理論知識(shí),或是仔細(xì)捉摸前面的整定口訣"

不知道你有沒有投運(yùn)整定過控制系統(tǒng)。如果你對(duì)這句話懷疑的話,建議你自己看看控制儀表和過程控制系統(tǒng)。

不想在討論了,簡(jiǎn)單的問題搞得這么復(fù)雜。97樓:IceAge于2006-7-520:36:00并不是沒有偏差就沒有輸出

我是說這樣的問題如果要被“注意了沒有“,只能說明最基本的數(shù)學(xué)或是控制理論都沒學(xué)好。

閉環(huán)系統(tǒng)的比例控制,一般會(huì)產(chǎn)生靜差,積分可以消除此靜差---這不應(yīng)該是個(gè)“新發(fā)現(xiàn)“。

這個(gè)pid問題討論“增量公式“,“增量公式“數(shù)學(xué)上沒有問題,實(shí)際應(yīng)用中會(huì)有問題。因?yàn)樵隽抗绞菍?duì)連續(xù)域U(t)=Kp*e(t)+Ki*Integral(e(t))+Kd*de(t)求導(dǎo):dU(t)=Kp*de(t)+Ki*e(t)+Kd*dde(t)離散后得到(也可以直接用U(k)-U(k-1)得到),這就是說,u(k)是增量deltae(k)即e(k)-e(k-1)的函數(shù)。溫度系統(tǒng),增量可能很小,導(dǎo)致截?cái)嗾`差影響很大.求導(dǎo)得出迭代公式很常見(更常見的方法是s->z->differential),但不適用

此種應(yīng)用。

pid對(duì)溫控系統(tǒng)中的應(yīng)用:

1)測(cè)量開環(huán)系統(tǒng),得到系統(tǒng)和控制器的基本特性,基本可以確定kp取值范圍

2)閉環(huán)比利控制,系統(tǒng)肯定是穩(wěn)定的,有靜差,例如目標(biāo)100度,穩(wěn)態(tài)98度。

3)加入積分器,消除靜差。微分在這種大慣量系統(tǒng)可以不用。

再次重申:pid迭代公式只須對(duì)積分迭代

U(k)=Kp*e(k)+I(k)+D(k)

----e(k)是誤差,千萬別問不知道

I(k)=I(k-1)+Ki*Ts*e(k)

----Ts采樣時(shí)間,Ki*Ts可合為一

D(k)=Ki*(e(k)-e(k-1))/Ts

----實(shí)際應(yīng)用中,可忽略此項(xiàng)98樓:xuyaqi于2006-7-522:41:00IceAge提出的增量PID算法覺得有問題,

我覺得正確的應(yīng)該是:

增量Uk=Kp*(ek-ek-1)+Kp*(T/Ti)*ek+Kp*(Td/T)*(ek-2*ek-1+ek-2)]

注意區(qū)別

P(k)=Kp*(ek-ek-1)我的

=Kp*

ek

你的

(ek-ek-1)和ek不是一個(gè)概念

I(k)=Kp*(T/Ti)*ek

我的

=Ki*Ts*

ek+I(k-1)你的多了+I(k-1)

D(k)=Kp*(Td/T)*(ek-2*ek-1+ek-2)我的

=Ki/Ts*

(e(k)-e(k-1))

你的

(ek-2*ek-1+ek-2)和(e(k)-e(k-1))不是一個(gè)概念

希望繼續(xù)討論。99樓:IceAge于2006-7-61:18:00deltaUk=增量Uk=U(k)-U(k-1)

因?yàn)樵隽抗绞菍?duì)連續(xù)域U(t)=Kp*e(t)+Ki*Integral(e(t))+Kd*de(t)求導(dǎo):dU(t)=Kp*de(t)+Ki*e(t)+Kd*dde(t)離散后得到(也可以直接用U(k)-U(k-1)得到):

(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論