歡迎您光臨本站 登入註冊首頁

單片機溫度控制系統設計

admin @ 2014-03-14 , reply:0

概述

摘要:本文介紹了一種基於MSP430單片機的溫度測控裝置。該裝置可實現對溫度的測量,並能根據設定值對環境溫度進行調節,實現控溫的目的。控制演演算法基於數字PID演演算法。0引言溫度是工業控制中主要的被控參數之……

摘要:本文介紹了一種基於MSP430 單片機的溫度測控裝置。該裝置可實現對溫度的測量,並能根據設定值對環境溫度進行調節,實現控溫的目的。控制演演算法基於數字PID演演算法。
0 引言
溫度是工業控制中主要的被控參數之一,特別是在冶金、化工、建材、食品、機械、石油等工業中,具有舉足重輕的作用。隨著電子技術和微型計算機的迅速發展,微機測量和控制技術得到了迅速的發展和廣泛的應用[1]。單片機具有處理能強、運行速度快、功耗低等優點,應用在溫度測量與控制方面,控制簡單方便,測量範圍廣,精度較高。
本文設計了一種基於MSP430單片機的溫度測量和控制裝置,能對環境溫度進行測量,並能根據溫度給定值給出調節量,控制執行機構,實現調節環境溫度的目的。
1 整體方案設計
單片機溫度控制系統是以MSP430單片機為控制核心。整個系統硬體部分包括溫度檢測系統、信號放大系統、A/D轉換、單片機、I/O設備、控制執行系統等。
單片機溫度控制系統控制框圖如下所示:


溫度感測器將溫度信息變換為模擬電壓信號后,將電壓信號放大到單片機可以處理的範圍內,經過低通濾波,濾掉干擾信號送入單片機。在單片機中對信號進行採樣,為進一步提高測量精度,採樣后對信號再進行數字濾波。單片機將檢測到的溫度信息與設定值進行比較,如果不相符,數字調節程序根據給定值與測得值的差值按PID控制演演算法設計控制量,觸發程序根據控制量控制執行單元。如果檢測值高於設定值,則啟動製冷系統,降低環境溫度;如果檢測值低於設定值,則啟動加熱系統,提高環境溫度,達到控制溫度的目的。
2 溫度信號檢測
本系統中對檢測精度要求不是很高,室溫下即可,所以選用高精度熱敏電阻作為溫度感測器。熱敏電阻具有靈敏度較高、穩定性強、互換精度高的特點。可使放大器電路極為簡單, 又免去了互換補償的麻煩。
熱敏電阻具有負的電阻溫度特性,當溫度升高時,電阻值減小,它的阻值—溫度特性曲線是一條指數曲線,非線性度較大。而對於本設計,因為溫度要求不高,是在室溫環境下,熱敏電阻的阻值與環境溫度基本呈線性關係[2],這樣可以通過電阻分壓簡單地將溫度值轉化為電壓值。
給熱敏電阻通以恆定的電流,可得到電阻兩端的電壓,根據與熱敏電阻特性有關的溫度參數T0 以及特性係數k,可得下式
T=T0-kV(t) (1)
式中T為被測溫度。
根據上式,可以把電阻值隨溫度的變化關係轉化為電壓值隨溫度變化的關係,由於熱敏電阻的電信號一般都是毫伏級,必須經過放大,將熱敏電阻測量到的電信號轉化為0~3.6之間,才能在單片機中使用。
下圖為放大電路原理圖。穩壓管的穩壓值為1.5V。


由於感測器輸出微弱的模擬信號,當信號中存在環境干擾時,干擾信號也被同時放大,影響檢測的精度,需用濾波電路對先對模擬信號進行處理,以提高信號的抗干擾能力。本系統採用巴特沃斯二階有源低通濾波電路。選取該巴特沃斯二階有源低通濾波電路的截止頻率
fH=10 kHz 。
3 控制系統設計
3.0 軟體設計
單片機溫度控制器控制溫度範圍100℃到400℃,採用通斷控制,通過改變給定控制周期內加熱和製冷設備的導通和關斷時間,來提高和降低溫度,以達到調節溫度的目的。
軟體設計中選取控制周期TC 為200(T1×C) ,導通時間取Pn ×T1×C ,其中Pn 為輸出的控制量,Pn值介於0~200之間, T1 為定時器定時的時間,C為常數。由上兩式可看出,通過改變T1 定時時間或常數C,就可改變控制周期TC 的大小。溫度控制器控制的最高溫度為400℃,當給定溫度超過400℃時以400℃計算。
圖3為採樣中斷流程圖。


數模轉換部分使用單片機自帶的12位A/D轉換器,能同時實現數模轉換和控制,免去使用專用的轉換晶元,使系統處理速度更快,精度更高,使電路簡化。採樣周期為500 μs ,當採集完16個點的數據以後,設置標誌“nADCFlag =1”,通知主程序採集完16個點的數據,主程序從全局緩衝區里讀出數據。
為進一步減小隨機信號對系統精度的影響,A/D轉換后,用平均值法對採樣值進行數字濾波。每16個採樣點取一次平均值。然後將計算到的平均值作為測量數據進行顯示。同時,按照PID演演算法,對溫度採樣值和給定值之間的偏差進行控制,得到控制量。採樣全過程完成後就可屏蔽採樣中斷,同時啟動T1定時[3],進入控制過程。
溫度值和熱敏電阻的測量值在整個溫度採樣區間內基本呈線性變化,因此在程序中不需要對測量數據進行線性校正。MSP430的T1定時器中斷作為控制中斷,溫度採樣過程和控制輸出過程採用了互鎖結構,即在進行溫度採樣,溫度值處理和運算等過程時T1不定時,待採樣全過程進行完時再啟動T1定時並同時屏蔽採樣中斷。T1定時開始就進入控制過程,在整個控制過程中都不採樣,直到200(T1×C) 定時時間到,要開始新一輪的控制周期。在啟動採樣的同時屏蔽T1中斷。
圖4為T1定時中斷流程圖。


圖中,M代表定時器控制周期計數值,N則表示由調節器計算出的控制量。首先判斷控制周期TC是否己經結束。若控制周期TC已結束(即M=0),則屏蔽T1定時器中斷,進行新一輪溫度採樣;若控制周期TC還未結束〔即M≠0 〕,則開始判斷導通時間是否結束。若導通時間己結束(即N=0),則置輸出控制信號為低,並重新賦常數C值,啟動定時器定時,同時退出中斷服務程序;若導通時間還未結束(即N ≠0 ),則置輸出控制信號為高,控制執行其間繼續導通,重新賦常數C值,啟動定時器定時,同時退出中斷服務程序。
3.1 數字PID
本文控制演演算法採用數字PID 控制,數字PID 演演算法表達式如下所示:


其中,KP 為比例係數;KI=KPT/TI 為積分係數;T 為採樣周期,TI 為積分時間係數;KD=KPTD/T 為微分係數,TD 為微分時間係數。u(k) 為調節器第k次輸出, e(k) 為第k 次給定與反饋偏差。

[admin via 研發互助社區 ] 單片機溫度控制系統設計已經有4581次圍觀

http://cocdig.com/docs/show-post-437.html