基於PID演算法的微控制器溫度控制系統設計(實現製冷效果)

2021-04-18 19:31:17 字數 1693 閱讀 9434

1樓:玉菱華

微控制器溫度控制系統設計

2樓:匿名使用者

看看我以前回答過的一個問題,或許有幫助。

所謂pid指的是proportion-integral-differential。翻譯成中文是比例-積分-微分。

記住兩句話:

1、pid是經典控制(使用年代久遠)

2、pid是誤差控制()

對壓縮泵轉速進行控制:

1、變頻器-作為壓縮機驅動;2、溫度感測器-作為輸出反饋。

pid怎麼對誤差控制,聽我細細道來:

所謂「誤差」就是命令與輸出的差值。比如你希望控制壓縮機轉速為1500轉(「命令電壓」=6v),而事實上控制壓縮機轉速只有1000轉(「輸出電壓」=4v),則誤差: e=500轉(對應電壓2v)。

如果泵實際轉速為2000轉,則誤差e=-500轉(注意正負號)。

該誤差值送到pid控制器,作為pid控制器的輸入。pid控制器的輸出為:誤差乘比例係數kp+ki*誤差積分+kd*誤差微分。

kp*e + ki*∫edt + kd*(de/dt) (式中的t為時間,即對時間積分、微分)

上式為三項求和(希望你能看懂),pid結果後送入電機變頻器或驅動器。

從上式看出,如果沒有誤差,即e=0,則kp*e=0;kd*(de/dt)=0;而ki*∫edt 不一定為0。三項之和不一定為0。

總之,如果「誤差」存在,pid就會對變頻器作調整,直到誤差=0。

評價一個控制系統是否優越,有三個指標:快、穩、準。

所謂快,就是要使壓力能快速地達到「命令值」(不知道你的系統要求多少時間)

所謂穩,就是要壓力穩定不波動或波動量小(不知道你的系統允許多大波動)

所謂準,就是要求「命令值」與「輸出值」之間的誤差e小(不知道你的系統允許多大誤差)

對於你的系統來說,要求「快」的話,可以增大kp、ki值

要求「準」的話,可以增大ki值

要求「穩」的話,可以增大kd值,可以減少壓力波動

仔細分析可以得知:這三個指標是相互矛盾的。

如果太「快」,可能導致不「穩」;

如果太「穩」,可能導致不「快」;

只要系統穩定且存在積分ki,該系統在靜態是沒有誤差的(會存在動態誤差);

所謂動態誤差,指當「命令值」不為恆值時,「輸出值」跟不上「命令值」而存在的誤差。不管是誰設計的、再好的系統都存在動態誤差,動態誤差體現的是系統的跟蹤特性,比如說,有的音響功放對高頻聲音不敏感,就說明功放跟蹤效能不好。

調整pid引數有兩種方法:1、**法;2、「試湊法」

**法我想你是不會的,介紹一下「試湊法」

「試湊法」設定pid引數的建議步驟:

1、把ki與kd設為0,不要積分與微分;

2、把kp值從0開始慢慢增大,觀察壓力的反應速度是否在你的要求內;

3、當壓力的反應速度達到你的要求,停止增大kp值;

4、在該kp值的基礎上減少10%;

5、把ki值從0開始慢慢增大;

6、當壓力開始波動,停止增大ki值;

7、在該ki值的基礎上減少10%;

8、把kd值從0開始慢慢增大,觀察壓力的反應速度是否在你的要求內;

江湖救急 如何將pid演算法 寫入微控制器中

3樓:匿名使用者

pid用在溫控系統較多,比如這篇**,你可以參考一下:基於微控制器的pid溫度控制器的設計 電子畢業設計**

微控制器控制舵機的問題,如何用51微控制器控制舵機的?怎樣編寫程式啊?大哥幫幫忙

請教一下,如何使用at89s52編寫這樣一個程式。要求,微控制器控制舵機,讓舵機到中間位置後,左轉15度,延遲2ms,右轉15度。度數不要求精確 舵機為0.5 2.5ms。是舵機正反轉 要c的,不要彙編 一定是應用定時器來控制脈衝的。多少脈衝舵機轉動1度?0.5ms到2.5ms是180度。0.5是起...

急求教大哥大姐們基於51微控制器的數字溫度計設計

我主頁上有 18b20的程式 這個不是一句做好,說一句謝謝就能給你的,除非是現成的.區區20分,小氣得很。發到你郵箱,懶得很。求求基於51微控制器的數字溫度計設計 微控制器at89c51 測溫傳.基於微控制器的數字溫度計設計 100 精度為0.1度 感覺很難實現 最起碼你要用到pt100或者pt10...

微控制器溫度控制系統之LED顯示除錯

74ls164是一個序列輸入並行輸出的移位暫存器,並帶有清除端。微控制器的兩埠模擬串列埠,資料端和時鐘端,要顯示的三位顯示碼從埠一次傳輸過去,就可以顯示了。3 8 24位資料,加上時鐘數碼管就有顯示。補充一下,由於看不清 上rxd上面的埠是多少,假設為p3.3 在程式中判斷溫度後 若不在 40 90...