摘要:針對溫箱控制過程中出現(xiàn)的精度低,穩(wěn)定性差等問題,設計了一種基于MSP430F149單片機的高精度溫箱溫度控制系統(tǒng)。系統(tǒng)采用鉑電阻溫度傳感器及12位A/D轉換器實現(xiàn)了溫箱溫度精確測量,并利用低功耗MSP430F149單片機及加熱和降溫系統(tǒng)實現(xiàn)了對溫箱溫度的精確控制。通過不同溫度下測量實驗,表明溫箱溫度控制系統(tǒng)性能穩(wěn)定可靠。從而在-50~150℃溫度范圍內,溫箱控制精度可以達到±0.5℃。
關鍵詞:MSP430F149;高精度;溫度控制;可控硅
0 前言
隨著社會的發(fā)展,人們對溫箱的應用和需求越來越廣泛,在工業(yè)生產(chǎn)、日常生活和科學實驗中,我們隨處都可以看到溫箱的應用。目前,在溫箱的控制過程中還存在一些不足之處,比如控制精度低,穩(wěn)定性比較差等。因此,針對溫箱控制過程中出現(xiàn)的問題,需要設計一個高精度的智能化溫箱控制系統(tǒng),實時地對溫箱的溫度變化、運行狀況和功能狀態(tài)等進行控制。本文在研究溫度采集發(fā)展現(xiàn)狀和趨勢的基礎上,設計了一種基于微控制器MSP430F149的溫箱控制系統(tǒng)。
本系統(tǒng)以單片機MSP430F149為控制核心,采用鉑電阻溫度傳感器,對溫度信號進行測量控制,并實現(xiàn)數(shù)碼管數(shù)字顯示,可通過按鍵對溫度進行目標溫度值的設置,從而使系統(tǒng)能夠根據(jù)現(xiàn)場情況,自動啟動壓縮機或者加熱絲,對溫箱的實際溫度實現(xiàn)自動調節(jié)。本系統(tǒng)結構簡單、經(jīng)濟性好、實時性強。通過實驗證明,系統(tǒng)可以達到高精度的溫箱溫度采集,實時地顯示溫箱的溫度,準確及時地控制整個系統(tǒng)運行,并具有體積小巧、安全、穩(wěn)定和可靠等特點,有良好的可擴展性。
1 系統(tǒng)結構框圖及其工作原理
系統(tǒng)總體框圖如圖1所示,由溫度傳感器、信號調理電路、A/D轉換器、鍵盤、LED數(shù)碼管、MSP430單片機、電熱絲、隔離·驅動、可控硅、壓縮機12部分組成。本溫箱控制系統(tǒng)采用的主要芯片MCU是單片機MSP430F149。主要的器件有:溫度傳感器鉑電阻芯片、壓縮機、加熱絲和風扇等。
其工作原理是鉑電阻采集到溫度信號經(jīng)過信號調理電路送到A\D轉換器進行模數(shù)轉換,得到的數(shù)字信號傳送到單片機的控制中心進行處理判斷,然后由單片機輸出控制信號,經(jīng)過隔離驅動電路控制可控硅,對加熱絲或壓縮機進行控制。
2 系統(tǒng)單元電路設計
系統(tǒng)的硬件電路主要由溫度采集、溫度控制和溫度顯示三大部分構成。本系統(tǒng)的硬件由單片機MSP430F149、電源電路、溫度采集電路、溫度控制電路、數(shù)碼管顯示電路等構成。
2.1 電源電路設計
本系統(tǒng)需要使用+5V和+3.3V的直流穩(wěn)壓電源,其中MSP430F149及部分外圍電器需要+3.3V電源,其它部分需要+5V電源。在本系統(tǒng)中,以+5V直流電壓為輸入電壓,+3.3V由+5V直接線性降壓,其中采用HT7333作為穩(wěn)壓芯片。如圖2所示。
2.2 溫度傳感器采集電路
PT100溫度傳感器是一種以鉑(Pt)制成的電阻式溫度傳感器,屬于正電阻系數(shù),其電阻和溫度變化的關系式如下:R=R0(1+aT),其中a=0.00392,R0為100 Ω(在0℃的電阻值),T為攝氏溫度。
PT100溫度傳感器采用四線法的連接方式,有效地消除了引線電阻引起的測量誤差,能夠精確測量未知電阻上的壓降,計算出電阻值。具體連接圖如圖3所示。
PT100四線法連接電路通常稱為Kelvin電路,對于每個測試點都有一條激勵線F和一條檢測線S,各自構成獨立回路,同時要求檢測線S必須接到一個有極高輸入阻抗的測試回路,使流過檢測線S的電流極小,近似為零。圖中r表示引線和探針與測試點的接觸電阻之和。HF為高電位施加線,LF為低電位施加線,HS為高電位檢測線,LS為低電位檢測線。由于流過測試回路的電流為零,在r3、r4上的電壓降為零,而激勵電流I在r1、r2上的壓降不響I在被測的鉑電阻上的壓降,所以可以準確計算出鉑電阻的阻值。這樣就消除了引線上的電壓,實現(xiàn)高精度的溫度采集。
單片機MSP430F149的內部具有8路12位精度的模數(shù)轉換器,帶有采樣保持功能,通過模數(shù)采樣讀入端口溫度電壓信號,相應的模數(shù)轉換公式轉化成實際溫度數(shù)值并存儲,然后將溫度數(shù)值發(fā)送到數(shù)碼管顯示出溫度。
2.3 溫度控制
開始的時候設定好溫箱的目標溫度值。系統(tǒng)開始進行溫度采集,通過外接的鉑電阻獲得。將采集到的溫度和目標溫度進行比較,當采集的溫度低于目標溫度的時候,由控制中心單片機輸出控制信號,通過對加熱絲進行加熱,實現(xiàn)加熱操作;當采集的溫度高于目標溫度的時候,由控制中心單片機輸出控制信號,通過控制壓縮機,實現(xiàn)降溫操作;反復對溫度進行測量,比較,這樣一直持續(xù),以保證溫箱溫度被控制在恒溫狀態(tài)以下,以此達到溫箱溫度控制的目的。具體的操作步驟如下:
2.3.1 加熱操作
采集的溫箱溫度與預設的目標溫度進行比較,當所測溫度低于目標溫度的時候,啟動加熱操作。加熱操作的過程為:
選用的是鐵鉻鋁電熱合金類型的加熱絲,其平均功率是2000W,額定電壓為220V,長度為20cm,由于溫箱的大小為1m3,經(jīng)過計算完成整個溫箱的加熱過程,從-50℃~150℃需要40min,將加熱絲外接在溫度控制器電路中,單片機MSP430F149通過P1.1發(fā)出控制信號,控制可控硅的通斷就可實現(xiàn)加熱絲的工作狀態(tài),只要改變P1.1的接通時間就能實現(xiàn)加熱功能。由于加熱絲存在熱慣性和時間滯后等特性,為了使控制更加精確,比較溫度之后的差值大小采用不同寬度的脈沖進行控制,這樣來實現(xiàn)加熱絲的加熱操作。為了避免造成局部溫度過高、受熱不均勻,以達到平衡加熱的效果,在加熱絲的側面并聯(lián)一個可控風扇,保證加熱過程的均勻受熱。加熱原理圖如圖5所示。
2.3.2 降溫操作
采集的溫箱溫度與預設的目標溫度進行比較,當所測溫度高于目標溫度的時候,啟動壓縮機操作。實現(xiàn)降溫操作的過程如下:
MSP430F149通過控制可控硅對壓縮機進行控制,實現(xiàn)一個控制壓縮機降溫系統(tǒng),根據(jù)采集溫度與預設目標溫度比較差值的大小來決定壓縮機的制冷強度??煽毓杩刂茐嚎s機電路的連接圖如圖6所示,微控制器P2.2引腳輸出可控硅控制信號。當可控硅導通時,壓縮機開始工作;否則壓縮機停止工作。
2.4 數(shù)碼管顯示設計
數(shù)碼管顯示電路也就是數(shù)據(jù)的輸出電路,主要由外接4位數(shù)碼管、數(shù)碼管驅動器、鎖存器以及片選電路組成,MSP430具有豐富的I/O口資源,采用并行方式與LED連接非常方便。數(shù)碼管的段碼a,b,c,d,e,f,g,dp分別與單片機的P2.0~P2.7相連,控制數(shù)碼管中顯示的字形;數(shù)碼管的位選由4個NPN三極管控制,分別接到單片機的P6.3~P6.6端口上,程序中通過控制P6.3~P6.6端口的輸出電平就可以控制數(shù)碼管的顯示與關閉。
其中LED的片選信號是通過MSP430F149的I/O端口來提供。具體連接圖如圖7所示。
3 系統(tǒng)軟件設計
本文設計的軟件部分主要包括實現(xiàn)溫度的采集、顯示和控制三大部分。
如圖8所示,當采集溫箱溫度的時候,系統(tǒng)通過驅動程序設置好溫度傳感器的轉化公式來實現(xiàn)對溫度的采集。當采集的溫度低于目標溫度的時候,通過對加熱絲進行加熱,實現(xiàn)加熱操作;當采集的溫度高于目標溫度的時候,通過控制壓縮機,實現(xiàn)降溫操作;并將溫箱的溫度顯示出來,從而使溫箱的溫度達到設定的目標值,實現(xiàn)溫箱溫度控制。
3.1 溫度的采集
當將要采集溫度數(shù)據(jù)時,MSP430F149將通過溫度傳感器采集溫度,所用到的函數(shù)有:
(1)函數(shù)名稱:ReadTemp,功能:從溫度傳感器的ScratchPad讀取溫度轉換結果,返回值:讀取的溫度數(shù)值。
(2)函數(shù)名稱:uint DolConvert(void),功能:控制溫度傳感器完成一次溫度轉換,返回值:測量的溫度數(shù)值。
3.2 溫箱的溫度控制
在實現(xiàn)溫度控制的時候根據(jù)PID控制算法,計算出控制量,具體實現(xiàn)過程中所要用到的部分函數(shù)如下:
char Read_Temperature(void)//讀取溫度
void delay(unsigned char time)//延時時間以12M晶振為準,延時時間為30us×time
void write_bit(unsigned char bitval)//寫一位數(shù)據(jù)子程序
unsigned char read_bit()//讀一位數(shù)據(jù)子程序
void get_temper()//獲取溫度子程序
unsigned int PIDCalc(struct PID*PP,unsignedint NextPoint)//PID計算
compare_temper()//溫度比較處理子程序
void display()//將占空比溫度轉化為單個字符顯示占空比和測得到的溫度
3.3 溫度的顯示
在溫度的顯示過程中所要用到的函數(shù)有:
Void WriteCommand(unsigned char wdata)//向數(shù)碼管寫入命令;
Void WriteData(unsigned char wdata)//向數(shù)碼管寫入數(shù)據(jù);
顯示溫度的函數(shù):
WriteDataLcd(0x30+ADC_CH0%1 000/100);//顯示百位;
WriteDataLcd(0x30+ADC_CH0%100/10);//顯示十位;
WriteDataLcd(0x30+ADC_CH0%10);//顯示個位;
WriteDataLcd(0x30+ADC_CH0%1);//顯示十分位;
4 結論
基于單片機MSP430F149的溫箱溫度采集和控制系統(tǒng)是以單片機為核心的軟硬件平臺的嵌入式系統(tǒng)。通過使用單片機、PT100溫度傳感器、數(shù)碼管顯示電路搭建硬件平臺,使用IAR Embedded Workbench開發(fā)環(huán)境,C語言編程實現(xiàn),設計出了一個基于嵌入式技術的溫箱溫度控制系統(tǒng)。系統(tǒng)體積小巧,電路連接簡單,擴展性良好,可以方便地進行后續(xù)開發(fā),增加用戶所需功能。從而提高了設備的智能化程度,具有較高的工程實用價值。