范 敏,余紅英,孫甲凱,何昌東
(中北大學 信息與通信工程學院,山西 太原 030051)
溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用。隨著電子技術和微型計算機的迅速發(fā)展,微機測量和控制技術得到了迅速的發(fā)展和廣泛的應用。單片機具有處理能力強、運行速度快、功耗低等優(yōu)點,應用在溫度測量與控制方面,控制簡單方便,測量范圍廣,精度較高。本設計使用單片機作為核心進行控制。單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強和使用方便等獨特優(yōu)點,在數(shù)字、智能化方面有廣泛的用途[1]。
根據(jù)應用系統(tǒng)的要求及軟硬件功能的劃分,初步確定應用系統(tǒng)硬件結構如圖1 所示。
圖1 系統(tǒng)總體工作原理框圖
利用溫度傳感器AD590 可以直接讀取被測溫度值,進行轉換的特性,模擬溫度值經過ADC0809 處理后轉換為數(shù)字值,然后送到單片機中進行數(shù)據(jù)處理,并與設置的溫度報警限比較,超過限度后通過揚聲器報警。同時處理后的數(shù)據(jù)送到LCD 中顯示[2]。
1.1.1 微處理器選擇和主機系統(tǒng)設計
由于本設計對控制精度要求不高,控制功能一般,故選擇常用的MSC-51 系列單片機中的STC89C58 作為微處理器。片外程序存儲器選用2732,容量為4 k ×8 位。因采集和處理的數(shù)據(jù)不多且不需要保留,估計數(shù)據(jù)存儲器使用片內的即能滿足要求。其中,硬件元器件STC89C58 有40 條引腳,有兩條專門用于電源的引腳,兩條外接晶振的引腳,四條控制或與其他電源復用的引腳,32 條I/O 引腳。
1.1.2 輸入通道設計
輸入通道只有一個,包括溫度傳感器、放大器和A/D 轉換器三部分。本次設計的溫度檢測范圍屬于低溫,適用于低溫的檢測元件有熱電偶、熱敏電阻、集成溫度傳感器等。
1)這里采用集成溫度傳感器AD590。這種傳感器是一個雙端元件,其工作溫度范圍為-55 ℃~+150 ℃,要求工作電源為直流+4 V~+30 V。它能把溫度信號變?yōu)榕c絕對溫度成比例的電流信號,比例因子為1 uA/K。其穩(wěn)定性高,線形度好,測溫誤差有±1、±0.5、±0.3 幾種等級。
AD590 本身產生的電流信號,通過運算放大器TD07 對電流做加法運算。在運放輸出端可得到合適的電壓信號,作為A/D 轉換的輸入。電阻RP1、RP2 的選擇原則是使運放輸出電壓為0;當溫度為60℃時,調節(jié)RP2 使運放輸出電壓為4.69 V。如果0 ℃不能實現(xiàn),也可以在另外一個溫度點上(如室溫)來調整。0 V 和4.69 V 經A/D 轉換后的數(shù)字量為00H 和F0H(240),這樣對應1 ℃的數(shù)字量為04H,便于進行溫度的標度變換[3]。
AD590 是電流型溫度傳感器,通過對電流的測量可得到所需要的溫度值。根據(jù)特性分擋,AD590 的后綴以I,J,K,L,M 表示。AD590L,AD590M 一般用于精密溫度測量電路,它采用金屬殼3 腳封裝,其中1 腳為電源正端V+;2 腳為電流輸出端I0;3 腳為管殼,一般不用。
AD590 的工作原理是在被測溫度一定時,AD590 相當于一個恒流源,把它和5~30 V 的直流電源相連,并在輸出端串接一個1 kΩ 的恒值電阻,那么,此電阻上流過的電流將和被測溫度成正比,此時電阻兩端將會有1 mV/K 的電壓信號。
2)本系統(tǒng)的運算放大器采用TD07。TD07 高精度運算放大器具有極低的輸入失調電壓,極低的失調電壓溫漂,非常低的輸入噪聲電壓幅度及長期穩(wěn)定等特點??蓮V泛應用于穩(wěn)定積分、精密絕對值電路、比較器及微弱信號的精確放大,尤其適應于宇航、軍工及要求微型化、高可靠的精密儀器儀表中[4]。
3)本系統(tǒng)的AD 轉換芯片采用ADC0809。ADC0808 是精度為8 位的CMOS 器件,不僅包括一個8 位的逐次逼近型的ADC 部分,而且還提供一個8 通道的模擬多路開關和通道尋址邏輯,因而有理由把它作為簡單的“數(shù)據(jù)采集系統(tǒng)”。利用它可直接輸入8 個單端的模擬信號分時進行A/D 轉換[5]。
1.1.3 輸出通道設計
輸出通道有3 條,分別控制3 臺電爐通電和斷電。這是3 條具有相同結構的開關量輸出通道,擬采用前面介紹的光電耦合雙向晶閘管驅動電路。
應用程序結構采用中斷方式,由定時器發(fā)出定時中斷申請。主程序進行系統(tǒng)初始化,包括定時器、I/O 口和中斷系統(tǒng)的初始化,等待定時中斷。在中斷服務程序中,先判斷是否到30 s。若不到30 s,則返回;若到30 s,進行以下操作:撥盤設定值檢測、溫度檢測、標度變換、溫度顯示和溫度控制,并根據(jù)溫度檢測值決定是否報警。
在應用程序總體結構中,將以下6 個功能程序作為模塊程序:溫度設定輸入、溫度檢測、溫度值標度變換、溫度顯示、溫度控制和報警程序模塊。
下面說明溫度檢測和溫度控制這兩個模塊的程序設計。
1)溫度檢測程序模塊。溫度檢測程序的功能是連續(xù)進行4 次A/D 轉換,求取轉換結果的平均值,存入內部50 H單元,A/D 轉換采用查詢方式。
2)溫度控制程序模塊。溫度控制程序的功能是將溫度實測值(存于50H)與設定值(存于51H)作比較,如測值高于設定值1 ℃(注意,此值小于要求誤差2 ℃,對應的數(shù)字量為04H),則關閉1 臺電爐;如實測值低于設定值,則接通一臺電爐;否則不與調節(jié)。3 臺電爐接通的順序是3#、2#、1#,這樣可以保持電爐的通斷具有相對穩(wěn)定性。
3)主程序和中斷服務程序設計。在定時中斷服務程序中,各功能程序都已模塊化,可直接調用。
先說明30 s 定時的實現(xiàn)方法。當振蕩頻率為6 MHz時,STC89C58 內部定時器的最大定時值為131 ms。要實現(xiàn)30 s 定時,需要另外設置一軟件計數(shù)器。現(xiàn)使定時器T0 工作于方式1,定時時間為130 ms,則其時間常數(shù)為:
軟件計數(shù)器的初值=30、0.13≈E7H
主程序清單:
[1]馮文旭,劉傳璽.單片機應用技術[M].北京:中國礦業(yè)大學出版社,2003.
[2]鐘睿,張松,余波,等.MCS-51 單片機原理及應用開發(fā)技術[M].北京:中國鐵道出版社,2006.
[3]趙麗娟,邵欣,房世平.基于單片機的溫度監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].機械制造,2006:74-75.
[4]張開生,郭國法.MCS-51 單片機溫度控制系統(tǒng)的設計[J].微計算機信息,2005(7) :72-73,+65.
[5]郭天祥.51 單片機C 語言教程[M].北京:電子工業(yè)出版社,2008.