三、軟件系統(tǒng)總體設計
1、軟件程序結構
在深入學習STM32編程、PID控制算法、組態(tài)王軟件的基礎上進行溫度控制系統(tǒng)的軟件設計。軟件設計主要包括溫度數據的采集變換、PID算法的設計、PWM輸出信號控制以及觸摸屏顯示設計、上位機監(jiān)控畫面的設計。上位機監(jiān)控畫面的設計主要包括設計監(jiān)控主畫面、設計報警畫面等。整個程序系統(tǒng)主要有主控程序、初始化程序、溫度設定程序、PID設置程序、溫度采集程序、溫度顯示程序、PID控制算法程序、PWM控制信號輸出程序和串口通信程序組成,其結構如圖14所示。 3.2.2 主程序設計
主程序是整個軟件系統(tǒng)的主干,處在程序的最頂一層,引導系統(tǒng)進入正常的工作狀態(tài),并且協(xié)調著各個程序塊之間的調用關系,使硬件系統(tǒng)能正常的工作以完成溫度控制系統(tǒng)任務,其流程如圖15所示。 3.2.3 初始化程序設計
系統(tǒng)初始化程序在系統(tǒng)上電啟動或者復位時,對溫度控制器的硬件和軟件進行初始化,完成系統(tǒng)的配置工作,初始化程序主要包括:顯示屏初始化、系統(tǒng)時鐘初始化、I/O 端口的配置、定時器初始化。
2、溫度采集程序設計
溫度檢測電路是由PT100溫度傳感器和模擬量前向通道組成的,溫度的檢測由二者直接完成。利用溫度檢測電路得到溫度變化對應的模擬電壓信號,該信號直接由STM32進行A/D轉換,由于轉化的數值與實際的溫度值之間不是線性關系,要用DS18B20采集對應溫度值,該溫度值用來校驗當前溫度是否正確,并用此溫度值對應前向通道輸出的模擬電壓值以擬合數值與溫度值的曲線,得到他們之間的函數關系,本次擬合曲線如圖16所示。
曲線直線化是曲線擬合的重要手段之一。對于某些非線性的資料可以通過簡單的變量變換使之直線化,這樣就可以按最小二乘法原理求出變換后變量的直線方程,在實際工作中常利用此直線方程繪制資料的標準工作曲線,同時根據需要可將此直線方程還原為曲線方程,實現對資料的曲線擬合。最終經MATLAB得到曲線公式如公式(3)所示。
溫度采集相關的程序核心代碼如下所示:
void filter(void) //模擬量前向通道溫度采集
{
int sum = 0;
u8 count,i;
for(i=0;i《12;i++)
{
for(count=0;count《Sampling_Number;count++)
{
sum += Conv_AD_Value[count][i];
}
After_filter[i]=sum/Sampling_Number;
sum=0;
}
}
此程序用來獲取當前溫度對應的模擬量信號,并將其轉化為數字量信號,經由擬合公式計算出對應的溫度值。
3、位置式PID控制算法設計
工業(yè)生產過程中,對于生產裝置的溫度、壓力、流量、液位等工藝變量常常要求維持在一定的數值上,或按一定的規(guī)律變化,以滿足生產工藝的要求。PID控制算法的原理是對整個控制系統(tǒng)進行按偏差進行調節(jié),從而使被控量的實際值與工藝要求的預定值一致。因為PID控制算法具有:技術成熟、容易被人們熟悉和掌握、不需要建立數學模型、控制效果好、魯棒性等優(yōu)點,所以PID控制算法成為應用最廣泛的控制算法。
單片機控制是一種采樣控制,它只能根據采樣時刻的偏差值計算控制量。因此連續(xù)PID控制算法不能直接使用,需要采用離散化方法。由于工業(yè)生產過程大多數是緩慢變化的過程,因此只要控制機的采樣周期T取得足夠短,斷續(xù)控制形式就趨于連續(xù)控制形式。數字PID控制算法又分增量式PID控制算法和位置式PID控制算法,由于位置式PID控制算法控制精度比較高,而增量式PID控制算法有:積分截斷效應大、有靜態(tài)誤差、溢出的影響大等缺點,所以本設計選用的控制算法是位置式PID控制算法。
位置式PID控制算式如公式(4)所示。
PID控制算法的參數整定與采樣周期的選取
PID控制算法參數整定的方法很多,概括起來有如下兩大類:
(1)理論計算整定法。它主要依據系統(tǒng)的數學模型,經過理論計算確定控制器參數。這種方法所得到的計算數據未必可以直接使用,還必須通過工程實際進行調整和修改。
(2)工程整定法。它主要依賴于工程經驗,直接在控制系統(tǒng)的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。PID控制算法參數的工程整定方法,主要有臨界比例法、反應曲線法和衰減法。這三種方法各有其特點,其共同點都是通過試驗,然后按照工程經驗公式對控制器參數進行整定。但無論采用哪一種方法所得到的控制器參數,都需要在實際運行中進行最后的調整與完善。
本文采用經驗法整定PID控制算法參數,下面具體說明經驗法的整定步驟:
(1)讓調節(jié)器參數的積分系數I=0,微分系數D=0,控制系統(tǒng)投入閉環(huán)運行,由小到大改變比例系數P,讓擾動信號作階躍變化,觀察控制過程,直到獲得滿意的控制過程為止。
(2)取比例系數P為當前的值乘以0.83,由小到大增加積分系數I,同樣讓擾動信號作階躍變化,直至得到滿意的控制過程。
(3)積分系數I保持不變,改變比例系數P,觀察控制過程有無改善,如有改善則繼續(xù)調整,直到滿意為止。否則,將原比例系數P增大一些,再調整積分系數I,力求改善控制過程。如此反復試湊,直到找到滿意的比例系數P和積分系數I為止。
(4)引入適當的微分系數D,此時可適當增大比例系數P和積分系數I。和前述步驟相同,微分系數的整定也需反復調整,直到控制過程滿意為止。
經驗法簡單可靠,但需要有一定的現場運行經驗,整定時易帶有主觀片面性。當采用PID控制算法時,由于有多個整定參數,反復試湊的次數增多,因此增加了得到最佳整定參數的難度。
需要注意的是:本設計所用到PID控制算法的參數與的工業(yè)上PID控制算法的參數有所不同,工業(yè)中由于對象的體積大、容量大、控制室距離現場較遠等因素,所以其PID控制算法的參數普遍比本設計的大。書上、參考資料上的的PID控制算法的參數多數都是從工業(yè)生產過程中得來的,因此此經驗數據不適應作本設計PID控制算法的參數。
采樣周期的選取,按一定的時間間隔T,把時間上連續(xù)和幅值上也連續(xù)的信號,轉變成在時刻0、T2、…、kT的一連串脈沖輸出信號的過程稱為采樣過程。執(zhí)行采樣動作的開關S稱為采樣開關或采樣器采樣后的脈沖序列??ty*稱為采樣信號,采樣器的輸入信號??ty稱為原始信號,采樣開關每次通斷的時間間隔T稱為采樣周期。采樣信號??ty在時間上是離散的,但在幅值上仍是連續(xù)的,所以采樣信號是一個離散的模擬信號。信號采樣過程如圖18所示。
從信號的采樣過程可知,經過采樣不是取全部時間上的信號值,而是取某些時間上的值。這樣處理會不會造成信號丟失呢?香農采樣定理指出:如果模擬信號(包括干擾在內)頻譜最高頻率為maxf,只要按照采樣頻率max2ff?進行采樣,那么采樣信號??ty*就能惟一的復觀??ty。采樣定理給出了??ty*能惟一的復觀??ty所必需的最低采樣頻率。實際應用中,常取??max105ff??,甚至更高。
4、采樣周期的確定需要注意以下事項:
(1)從執(zhí)行機構的特性要求來看,有時需要輸出信號保持一定的寬度。采樣周期必須大于這一時間。
(2)從控制系統(tǒng)的隨動和抗干擾的性能來看,要求采樣周期短些。
(3)從單片機的工作量和每個調節(jié)回路的計算來看,一般要求采樣周期大些。
(4)從單片機的精度看,過短的采樣周期是不合適的。
經過多次調試設置,采樣周期T選為1s采樣效果最好,且信號采樣不失真。
5、 PWM輸出程序設計
脈沖寬度調制(PWM),是英文“Pulse Width Modulation”的縮寫,簡稱脈寬調制,是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中[14]。PWM控制技術以其控制簡單,靈活和動態(tài)響應好的優(yōu)點而成為電力電子技術最廣泛應用的控制方式。
通過單片機輸出的PWM信號控制固態(tài)繼電器的通斷,通過改變一定時間內通過的交流波頭數實現對電加熱水器內水溫的控制,我國公共電力網的頻率均為50HZ,周期也就是0.02秒,設置 PWM 信號的輸出周期為4秒,即STM32單片機以0.25Hz的頻率輸出PWM,改變PWM的占空比,在4秒的周期內,當PID算法的控制量大于100時,通過交流電源的最大周期波數是100,當 PID 算法的控制量小于0時,最小周期波數是0,當控制量在0~100之間時,就按比例換算進行確定PWM輸出信號的占空比。STM32單片機具有多個定時器/計數器,每個定時器/計數器都可以獨立的輸出PWM信號,本設計采用單片機的TIM3定時器/計數器在PB5 引腳輸出PWM,PWM輸出流程如圖19所示。
四、上位機監(jiān)控界面設計
1、上位機監(jiān)控軟件的選取
組態(tài)王(Kingview)由北京亞控自動化軟件有限公司開發(fā)的,該軟件由中國科技大學學士、清華大學碩士林偉總設計,經數十位工程師歷時五年開發(fā)成功,是最優(yōu)秀的國產組態(tài)軟件,居全國同類軟件產銷量第一。組態(tài)王是一個具有易用性、開放性和集成能力的通用組態(tài)軟件。應用組態(tài)王可以使工程師把精力放在控制對象上,而不是形形色色的通信協(xié)議、復雜的圖形處理、枯燥的數字統(tǒng)計。只需要進行填表操作,即可生成適合于用戶的監(jiān)控和數據采集系統(tǒng)。可以在整個生產企業(yè)內部將各種系統(tǒng)和應用集成在一起,實現“廠際自動化”的最終目標。組態(tài)王開發(fā)監(jiān)控系統(tǒng)軟件是新型的工業(yè)自動控制系統(tǒng)正以標準的工業(yè)計算機軟、硬件平臺構成的集成系統(tǒng)取代傳統(tǒng)的封閉式系統(tǒng),具有適應性強、開放性好、易于擴展、經濟、開發(fā)周期短等優(yōu)點。組態(tài)軟件以其可靠性高、抗干擾能力強、界面簡單、功能強大、性價比高等顯著特點廣泛應用于現代工業(yè)的自動控制之中。
2、 組態(tài)王軟件組態(tài)監(jiān)控界面設計
使用組態(tài)王實現控制系統(tǒng)實驗仿真的基本方法:
(1)圖形界面的設計;
(2)構造數據庫;
(3)建立動畫連接;
(4)運行和調試。
根據以上控制方案的確定,本次設計組態(tài)王監(jiān)控界面如圖20所示
定義數據變量見表2。
選擇設備的相關配置如下:
設備名稱:通用單片機ASCII;
通信描述:串口;
邏輯名稱:STM32;
選擇串口號:COM4;
設備地址:1.0。
動態(tài)連接,參數動態(tài)連接設置見表3。
3、報警和事件窗口設計
運行報警時間記錄是監(jiān)控軟件必不可少的功能,“組態(tài)王”提供了強有力的支持和簡單的控制運行報警和時間記錄方法。
組態(tài)王中的報警和事件主要包括變量報警事件、操作事件、用戶登陸事件和工作站事件。通過這些報警和事件,用戶可以方便地記錄和查看系統(tǒng)的報警、操作和各個工作站的運行情況。當報警和事件發(fā)生時,在報警窗中會按照設置的過濾條件實時的顯示出來[16]。定義報警組,本次建立報警畫面如圖21所示。
五、系統(tǒng)的運行結果及問題分析
1、運行結果及分析
經過多次的參數設置的調試,對比各組設置參數的調節(jié)效果得出:當程序中PID設置參數如表4所示參數時控制效果最好。
總結:本系統(tǒng)的控制核心算法是PID控制算法,難點是PID參數整定。圖22為系統(tǒng)運行曲線的初始溫度50℃,設定溫度60℃時的結果,經過9分鐘的調節(jié)系統(tǒng)達到穩(wěn)定,實際溫度達到設定溫度,穩(wěn)態(tài)誤差為0.4℃,超調量幾乎為零。本設計中溫度能達到設定溫度,而且超調量較小,穩(wěn)態(tài)效果很好。
2、出現的問題及解決方法
在長達十六周的畢業(yè)設計中,自己碰到了不少問題。曾經,為了解決這些問題也花費了較多的時間。當然,這也使自己對實際工程中所遇到或者可能遇到的問題有了個提前認知。
(1)上位機采集不到現場的數據
解決方法:原因是溫度傳感器與模擬量前向通道接線有錯誤、松動,串口使用的通道設置錯誤,在利用組態(tài)王軟件進行I/O設備組態(tài)的時候應選設備名稱通用單片機ASCII。
(2)上位機的輸出控制信號控制不了電加熱水器
解決方法:上位機組態(tài)軟件中查看數字量輸出通道的設置與當前連線的通道不一致。
? ? ? ? (3)系統(tǒng)穩(wěn)定后誤差比較大
解決方法:誤差產生的原因有:溫度對象是大慣性對象、單片機控制信號從發(fā)出到固態(tài)繼電器的吸合,再到加熱絲停止加熱,這過程中存在時間誤差、硬件靈敏度不夠精確等問題。
評論
查看更多