引 言
恒溫箱根據控制溫度可分為低溫(室溫以下)恒溫箱和高溫(室溫以上)恒溫箱[1],加熱控制恒溫箱是高溫恒溫箱的一種,在工業、醫療以及科研實驗中有廣泛的應用。在一些特殊的恒溫箱控制系統中,對溫度測量、控制的精度要求非常高,本測控系統測溫范圍在18℃到60℃之間,測溫精度要求優于±0.05℃。采用DSP、ARM等32位CPU可實現實時處理等較高的要求,但普通的控制系統中DSP、ARM的很多資源不能利用,造成資源的浪費、“大才小用”。隨著微電子技術的快速發展,單片機的數據處理能力和功能得到了極大地提高,因此設計一個由高速單片機控制的高精度、結構簡單并且成本低的溫度控制系統有著重要的實際意義和應用價值。
1 恒溫箱控溫原理
本系統以鉑電阻作為溫度傳感器,通過基于恒流源的橋式測溫電路實現對恒溫箱內的溫度測量,系統將實際溫度值與通過觸摸屏設定的溫度給定值比較,采用增量式PID算法進行調節,使控制量以16位PWM波的形式輸出。通過濾波將PWM信號轉換為電壓信號,控制晶閘管的導通角,從而控制加熱管加熱。系統的控制原理如圖1所示。
考慮到系統對測量精度以及穩定性的要求,本系統的設計特色包括:
1)控制器采用功能強大的高速SOC單片機C8051F021。
2)為提高A/D轉換精度,采用CS5532對此模擬電壓進行轉換,輸出具有24位分辨率。
3)充分利用單片機的片上資源,以16位PWM形式輸出控制信號,提高控制精度。
2 硬件設計
該溫度控制系統包括C8051F021單片機、溫度采集電路、A/D轉換電路、彩色液晶觸摸屏控制電路、晶閘管驅動電路等。
另外,本系統具有了良好的人機對話功能,通過5.6英寸的彩色液晶顯示器與觸摸屏對系統進行實時監視和控制。該溫度控制系統結構如圖2所示。
2.1 溫度采集與A/D轉換
在熱電阻溫度傳感器中,鉑電阻具有精度高、性能穩定、耐腐蝕及使用方便等優點,是工業測控系統廣泛使用的一種理想的測溫元件[2]。在本系統中測溫范圍在18℃~60℃之間,選用溫度傳感器Pt1000,其阻值隨著溫度的改變按一定規律變化,精度、穩定性均較優。
在以鉑電阻作為溫度傳感器的檢測電路,典型的測量方式是采用不平衡電橋測量[3]。但是,鉑電阻阻值與溫度之間的非線性以及不平衡電橋的非線性導致測量存在一定的誤差,為此,在本系統中對橋式測溫電路進行了改進。電橋采用恒流源供電,兩橋臂通過低噪聲、低溫度漂移的精密運算放大器連接,使流過鉑電阻的電流恒定且等于恒流源的電流,采用4DH2構成恒流源電路,設計輸出0.5mA的恒電流。
A/D轉換電路采用2路模擬量輸入,串行數據輸出的24位A/D轉換器CS5532與單片機接口,CS5532由多路開關、可編程增益放大器、程控多階數字濾波器以及串口、時鐘發生器、校準控制系統和輸出鎖存器等組成。
2.2 C8051F片上資源
C8051Fxxx系列單片機是完全集成的混合信號系統級芯片(SOC),具有與8051指令集完全兼容的CIP-51內核。它在一個芯片內集成了(包括A/D轉換器、UART、定時器等)構成一個單片機數據采集和控制系統所需要的幾乎所有模擬和數字外設及其他功能部件[4]。
本系統采用C8051F021作為MCU,進行通訊、數據處理以及控制輸出。下面對本系統中用到的功能部件及應用進行簡單介紹。
C8051F021MCU中有一個片內可編程計數器/定時器陣列(PCA)。PCA包括一個專用的16位計數器/定時器時間基準和5個可編程的捕捉/比較模塊。時間基準的時鐘可以是系統時鐘/12、系統時鐘/4、定時器0溢出等六個時鐘源之一。每個捕捉/比較模塊有六種工作方式,本系統采用16位脈沖寬度調制器方式,即系統可以通過PCA產生16位PWM直接輸出至MCU的端口I/O引腳。
串行外設接口(SPI0)提供訪問一個4線、全雙工串行總線的能力。SPI0支持在同一總線上將多個從器件連接到一個主器件。當SPI被配置成主器件時,最大數據傳輸率(位/秒)是系統時鐘頻率的二分之一。本系統中C8051F021為主器件,CS5532和觸摸屏控制芯片ADS7843為從器件,通過串行外設接口分時與MCU通訊。
2.3 濾波、變換電路
為了實現PWM信號到模擬量輸出的轉換,在本系統中采用二階低通濾波器濾掉高頻成分,保留直流分量,通過改變PWM信號的占空比即可得到不同電壓的輸出。如圖3所示,設計巴特沃斯濾波器,使PWM信號經過濾波后產生0~2.5V的電壓[5],控制晶閘管的導通角,從而實現對加熱溫度的高精度控制。

3 軟件設計
3.1 PID控制
在本溫度控制中采用了PID控制算法[7],即比例、積分、微分控制,是工業過程控制中應用廣泛的一種基本控制方法。增量式PID控制算法為:

但是若直接采用此算法時,在系統啟動、停止或大幅調節時,容易產生很大的超調量,引起積分飽和,因此我們對PID算法進行了改進,采用積分分離法,可有效抑制這一現象的出現。
積分分離法在開始時(即實際溫度與設定溫度值es偏差較大時)不積分;當控制的實際溫度接近設定值時,投入積分算法以消除靜差,提高控制精度[8]。積分分離式PID算法框圖如圖4所示。

3.2 觸摸屏軟件設計
將觸摸屏引入本系統中可以直接在顯示屏上輸入控制信息,使系統的人機界面更加友好,操作快捷、方便。本系統選用AMT9532四線電阻式觸摸屏,通過專用控制芯片ADS7843與單片機接口,對觸摸信號進行分析、處理。觸摸屏的軟件設計流程如圖5所示。

4 實驗結果
為測試實驗結果,使用精度為0.001℃的標準溫度計作為標準來標定,測試結果如表1所示。

5 結 論
通過C8051F021片內的16位PWM輸出,再加上簡單的濾波、轉換電路及相應的軟件設計以及浮點數運算,可以實現16位的D/A轉換,這是普通單片機控制電路很難實現的高精度控制。
本系統的溫度控制范圍為18℃~60℃,16位的控制信號分辨率可達千分之一攝氏度,從實際實驗結果可以看出本系統完全可以實現測溫精度優于±0.05℃的控制要求。實際應用表明,此溫度控制系統具有控制精度高、功能強、簡單靈活、節約成本、性能穩定等優點,滿足于工業場合較高的精度要求。