欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關(guān)于單片機PID溫度控制程序的相關(guān)問題 [打印本頁]

作者: strelizia    時間: 2021-4-27 18:49
標題: 關(guān)于單片機PID溫度控制程序的相關(guān)問題
這是我學習單片機的一個小項目
附件包含:Proteus仿真和程序

我現(xiàn)在主要存在著幾個問題:
參數(shù)調(diào)整該咋搞?

在程序中我使用的是增量式PID算法,通過控制out(值域是0-100)來控制高低電平的翻轉(zhuǎn)
  1.     Pout = pp->Kp * dError1;        //輸出P
  2.                 Iout = pp->Ki * pp->ERR0;        //輸出I
  3.                 Dout = pp->Kd * dError2;        //輸出D
復制代碼
  1. D_Out = (unsigned int) (Pout + Iout + Dout + Out + 0.5);  //△Out=Kp*(Ek-Ek-1)+Kp*Ek+Kd*(Ek-2Ek-1+Ek-2)
復制代碼
  1. Out = Out + D_Out;      //記錄這次輸出的值
復制代碼

1)在偏差比較大時,為使盡快消除偏差,提高響應速度,同時為了避免系統(tǒng)響應出現(xiàn)超調(diào),Kp 取大值,Ki 取零;在偏差比較小時,為繼續(xù)減小偏差,并防止超調(diào)過大、產(chǎn)生振蕩、穩(wěn)定性變差,Kp 值要減小,Ki 取小值;在偏差很小時,為消除靜差,克服超調(diào),使系統(tǒng)盡快穩(wěn)定,Kp 值繼續(xù)減小,Ki 值不變或稍取大。
2)當偏差與偏差變化率同號時,被控量是朝偏離既定值方向變化。因此,當被控量接近定值時,反號的比例作用阻礙積分作用,避免積分超調(diào)及隨之而來的振蕩,有利于控制;而當被控量遠未接近各定值并向定值變化時,則由于這兩項反向,將會減慢控制過程。在偏差比較大時,偏差變化率與偏差異號時,Kp 值取零或負值,以加快控制的動態(tài)過程。
3)偏差變化率的大小表明偏差變化的速率,e(t)-e(t-1)越大,Kp 取值越小,Ki 取值越大,反之亦然。同時,要結(jié)合偏差大小來考慮。

建立對象參考模型?
參考了這篇文檔  基于單片機的熏蒸溫度微分先行控制器  趙愛玲, 張海峰, 侯君


在開環(huán)狀態(tài)下, 通過多次實驗確定對象模型, 系統(tǒng)初始溫度選擇室溫 20 ℃, 根據(jù)多次重復實驗數(shù)據(jù)的變化規(guī)律, 選每 30 s 為 1 個采樣時間間隔, 得到較為穩(wěn)定的實驗數(shù)據(jù)如表 1 所示 ”意思是,不加入算法調(diào)控,給加熱器器件通電,記錄他的溫度值(比如說我放水里面,記錄水溫),然后根據(jù)這個畫出圖,這個就算是他的模型?


實驗結(jié)果及數(shù)據(jù)這塊,有一個PID算法調(diào)控的評測,溫度調(diào)控的誤差

像這種實驗數(shù)據(jù)我是要盯著顯示模塊(我是用LCD1602來顯示實時溫度值)一個個記下來,再畫圖嗎?這個記錄過程是手動記錄?有沒有辦法自動記錄呢?

附件里面有一個“LCD顯示溫度+串口接收溫度”的實例程序,我是否可以用它來記錄溫度數(shù)據(jù)?
如果可以,那我把它移植到溫度控制程序里面,是不是也可以實時記錄了?

最后PID溫度控制有一個誤差值,這個誤差值就是最后溫度穩(wěn)定(沿著一個值震蕩)下來,這個震蕩范圍就是誤差值?

差不多就這么多,還有啥漏提的希望大家集思廣益。謝謝啦!

咨詢.zip (729.66 KB, 下載次數(shù): 18)


作者: haokey    時間: 2021-4-28 10:39
上b站找些pid的視頻認真的看一看,要理解透徹
作者: mornbin    時間: 2021-4-28 15:18
直接用matlab做不就行了
作者: 96578741251    時間: 2021-4-28 15:55
要做數(shù)據(jù)記錄可以用一個sd卡模塊,編一段程序,往sd卡里面寫數(shù)據(jù),然后到電腦上處理就好,這是最快捷的做法,比一直連接電腦這種我覺得方便多了,一般做數(shù)據(jù)記錄都是用內(nèi)存卡的。
作者: strelizia    時間: 2021-4-29 10:25
mornbin 發(fā)表于 2021-4-28 15:18
直接用matlab做不就行了

我知道可以用matlab畫圖,但是我不知道咋記錄數(shù)據(jù)啊,一個個收集(手記)也太蠢了吧。準備用串口記錄來著
作者: strelizia    時間: 2021-4-29 10:26
haokey 發(fā)表于 2021-4-28 10:39
上b站找些pid的視頻認真的看一看,要理解透徹

PID的原理我大致上都摸清楚了,但是到具體應用就有點犯迷糊。
作者: strelizia    時間: 2021-4-29 10:26
96578741251 發(fā)表于 2021-4-28 15:55
要做數(shù)據(jù)記錄可以用一個sd卡模塊,編一段程序,往sd卡里面寫數(shù)據(jù),然后到電腦上處理就好,這是最快捷的做法 ...

如果用sd卡的話,可能實現(xiàn)不了。沒那個條件,不過謝謝你提供了一個思路




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1