摘要:本設計采用單片機及外圍元器件組成溫度測控系統,運用匯編語言進行編程、并在WAVE6000環境下編譯、仿真。系統具有復位、越限報警、數碼管顯示、PID控制等功能。
關鍵詞:單片機;PID調節;溫度傳感器;數碼管顯示;越限報警
【中圖分類號】 TP302 【文獻標識碼】 B【文章編號】 1671-1297(2012)09-0224-01
整個溫控系統是在程序的控制下工作的,控制系統工作由實時檢測(采樣)、實時決策(PID控制運算)和實時控制(對加熱絲通斷的控制)三部分組成。因此,應用程序包括數據采集、PID運算以及輸出控制三部分主干程序,這些工作有的安排在主程序中,有的安排在中斷服務程序中完成。由LED數碼管顯示溫度值,采用動態掃描的方式在主程序和定時采樣等待時都可以插入顯示子程序。
一 PID控制算法
在單片機應用系統中,可采用的控制算法很多,但是最常用的仍是數字PID(比例-積分-微分)算法。最優化理論可以證明,PID控制能滿足相當多的工業對象的控制要求。PID調節是根據實際測量值與設定值的偏差, 按比例-積分-微分的函數關系進行運算,其運算結果用以輸出控制。單片機數字控制器實現PID運算,是按照一定的算法編制相應的程序來完成的。
實現計算機的PID控制器的算法是先根據連續系統的設計方法,得到模擬調節PID的調節規律(這個調節規律可以是微分方程表示的,也可以是用傳遞函數的形式表示),然后把它離散化,變成適合于計算機的差分方程的形式。
以溫度檢測和控制為例,用微分方程表示的PID調節規律的、實現模擬PID調節的理想算式為:
式(1.1)
PID控制也稱為比例-積分-微分控制。其中的比例項用于糾正偏差;積分項用于消除系統的穩態誤差;微分項用于減小系統的超調量,增加系統的穩定性。PID控制器的性能就取決于Kp、Ti和Td這三個參數。設計和調試的任務就是決定這三個參數。
對式(1.1)兩邊進行拉氏變換可以得到PID調節器的傳遞函數為
式(1.2)
式(1.2)中U(s)和E(s)分別為u和e的拉氏變換。
式(1.1)中,e(t)=w(t)-y(t)是給定值與輸出之間的差,稱為誤差或偏差,它是PID控制器的輸入信號。u(t)為調節器的輸出信號,即傳給被控對象的操作量,因為計算機的控制是一種采樣控制,它只能根據采樣時刻的偏差值來計算控制量,因此,在計算機控制系統中,要想在計算機上實現PID調節規律,需要將連續系統的微分方程式化成離散形式,由描述離散系統的差分方程來代替。
增量型算法和位置型算法相比,具有以下優點:
(1)增量型算法不需要做累加,控制量增量的確定僅與最近幾次誤差采樣值有關,計算誤差或計算精度問題對控制量的計算影響較小。而位置型算法要用到過去的誤差累加值,容易產生大的累加誤差。
(2)增量型算法得出的是控制量的增量,輸出誤差小,必要時通過邏輯判斷限制或禁止本次輸出,不會嚴重影響系統的工作。
(3)采用增量型算法,易于實現手動到自動的無沖擊切換。但是,當被控對象需要的是控制變量的絕對值,而不是其增量時,可以采用增量式算法,控制量輸出采用位置式輸出形式。
二 軟件的總體設計
系統的操作過程和工作過程在程序的設計過程中起著很重要的指導作用,因此,在軟件設計之前應首先分析系統的工作流程。
系統的工作流程
系統在上電復位后先處于停止加熱狀態,這時可以用8421BCD撥碼盤設定預制溫度,顯示器顯示設定溫度;溫度設定好后就可以啟動系統正常工作了。溫度檢測系統即數字溫度傳感器DS18B20不斷定時檢測當前溫度,并送往顯示器顯示,達到設定值后停止加熱并且顯示當前值;當溫度下降到下限值(比設定溫度值低5℃)時再啟動加熱。這樣不斷地重復上述過程,使溫度保持在設定的溫度范圍之內。啟動后不能再修改預制溫度,必須按復位鍵回到停止加熱狀態再重新設定預制溫度值。
1.功能模塊
根據對上面工作流程的分析,系統軟件可以分為以下幾個功能模塊:
①溫度設定模塊:進行溫度設定。
②溫度檢測模塊:利用數字溫度傳感器DS18B20完成溫度的自動檢測。
③溫度顯示模塊:顯示設定溫度值和當前溫度值。
④溫度控制模塊:根據檢測到的溫度,利用PID控制加熱絲的工作與否。
⑤越限報警模塊:當前溫度值越限時報警。
2.主程序
主程序完成的功能是:控制整個系統工作,進行溫度值設定、溫度檢測、溫度顯示、越限報警等,啟動DS18B20測量溫度,將測量值與設定值進行比較,然后進行自動控制。主程序開始時,先進行初始化(RAM及口地址分配見表1.1),然后進行自檢,自檢時讓所有的二極管和數碼管都亮,以便檢查其是否正常。然后啟動DS18B20檢測溫度,調取讀溫度子程序,經單片機轉換后送顯示。再調比較子程序。當測量值大于設定值上限時,相應的報警標志位置“1”,并關閉加熱;當測量值小于設定值下限時,相應的報警標志位置“1”,并啟動加熱;當測量值在設定值的范圍內時,相應的報警標志位置“0”,并且保持。然后,檢測報警標志位,若有報警,就轉相應的執行程序;若無報警,就返回繼續讀數、顯示、控制等。
參考文獻
[1] 王福瑞.單片微機測控系統設計大全.北京航空航天大學出版社,2000年
[2] 胡漢才編著.單片機原理及其接口技術.清華大學出版社,1996年
[3] 孫傳友,孫曉斌等編著.測控系統原理與設計.北京航空航天大學出版社,2002年
[4] 何立民.MCS-51系列單片機應用系統設計.北京航空航天大學出版社,1990年
作者簡介: 王瑩,女,1983年出生,專業為電子信息工程,研究方向為電子電氣控制。