劉 銳,李文祥,何振良,陳國(guó)俊
(江蘇省物聯(lián)網(wǎng)應(yīng)用技術(shù)重點(diǎn)建設(shè)實(shí)驗(yàn)室 無(wú)錫太湖學(xué)院,江蘇 無(wú)錫 214046)
傳統(tǒng)的R-T電阻溫度系數(shù)測(cè)定儀是用來(lái)研究金屬電阻與其溫度關(guān)系的儀器,構(gòu)造簡(jiǎn)單,可通過(guò)反復(fù)調(diào)節(jié)滑動(dòng)變阻器實(shí)現(xiàn)對(duì)銅絲電阻溫度的測(cè)量,但不具備維持溫度的功能。近年來(lái),隨著微型計(jì)算機(jī)技術(shù)的迅猛發(fā)展,單片機(jī)憑借其價(jià)格低、處理能力強(qiáng)、控制簡(jiǎn)單、抗干擾能力優(yōu)于一般CPU的優(yōu)點(diǎn),被廣泛應(yīng)用于有較高控制精度和較低成本要求的工業(yè)測(cè)控系統(tǒng)中,同時(shí)采用單片機(jī)作為數(shù)字控制器取代模擬控制器[1]。利用單片機(jī)對(duì)傳統(tǒng)R-T溫度系數(shù)測(cè)定儀進(jìn)行改進(jìn)具有廣闊的應(yīng)用前景。
恒溫控制系統(tǒng)分為四個(gè)模塊,分別為溫度顯示模塊、溫度測(cè)量模塊、用戶設(shè)定模塊和加熱控制模塊。本文恒溫控制系統(tǒng)選擇STC8951單片機(jī)芯片作為主控模塊,選用數(shù)字式溫度傳感器DS18B20精確測(cè)量溫度。為了便于用戶使用,本文恒溫系統(tǒng)選用雙端顯示,將銅絲電阻實(shí)時(shí)變化的溫度和用戶設(shè)定的溫度顯示在兩塊四位LED數(shù)碼管上,使效果更加直觀。在溫度控制方面,通過(guò)單片機(jī)處理DS18B20實(shí)時(shí)測(cè)量的溫度與之前按鍵設(shè)定的溫度,根據(jù)兩者的差值利用PWM調(diào)制技術(shù)控制加熱電阻加熱功率和通斷時(shí)間比例以實(shí)現(xiàn)恒溫控制效果。本文系統(tǒng)在加熱時(shí)紅色LED指示燈亮,恒溫狀態(tài)時(shí)綠色LED指示燈點(diǎn)亮、紅色LED指示燈閃爍。系統(tǒng)總體框架如圖1所示。
本設(shè)計(jì)主控模塊選用單片機(jī)進(jìn)行控制。單片機(jī)是集CPU,RAM,ROM,I/O接口與中斷系統(tǒng)等于一體的器件,體積雖小但功能強(qiáng)大,只需要外加電源和晶振就可輕松實(shí)現(xiàn)對(duì)數(shù)字信息的處理和控制[2]。
本設(shè)計(jì)選擇宏晶科技有限公司生產(chǎn)的STC89C51芯片,它價(jià)格便宜,功能強(qiáng)大,擁有32個(gè)可編程I/O口,4 kB可編程FLASH程序存儲(chǔ)區(qū)存儲(chǔ)器可擦寫(xiě)10萬(wàn)次以上,3個(gè)16位定時(shí)器/計(jì)數(shù)器,2個(gè)串行中斷/外部中斷[3]。
圖1 系統(tǒng)總框架圖
設(shè)計(jì)的系統(tǒng)采用測(cè)量精度較高的數(shù)字式溫度傳感器DS18B20。DS18B20是美國(guó)達(dá)拉斯(DALLAS)公司生產(chǎn)的一款數(shù)字式溫度傳感器[4],能夠?qū)囟冗@個(gè)模擬量進(jìn)行放大處理轉(zhuǎn)換為數(shù)字量輸送給單片機(jī)芯片,之后單片機(jī)芯片對(duì)溫度進(jìn)行分析處理,最終實(shí)現(xiàn)對(duì)溫度的測(cè)量與控制,其具有如下特點(diǎn):
(1)體積小且封裝形式多樣。
(2)溫度測(cè)量范圍為-55 ℃~125 ℃,-10 ℃~85 ℃時(shí)測(cè)量精度需確保為0.5 ℃。
(3)溫度測(cè)量值轉(zhuǎn)化為數(shù)字量的轉(zhuǎn)換時(shí)間非常短,9位溫度值轉(zhuǎn)換時(shí)間為93.75 ms。
(4)DS18B20能夠運(yùn)用1-wire總線技術(shù)(將地址線、數(shù)據(jù)線和控制線合并為一根信號(hào)線),只需單片機(jī)的一個(gè)I/O口即可實(shí)現(xiàn)雙向通信,無(wú)需A/D轉(zhuǎn)化器,硬件電路簡(jiǎn)單。
(5)工作電源為3~5 V,能夠在寄生電源模式下工作,無(wú)需額外電源。
設(shè)計(jì)系統(tǒng)采用LED數(shù)碼管作為顯示元件,它具有高亮度、壽命長(zhǎng)、成本低廉等特點(diǎn),是電子設(shè)備的常用顯示器件。本設(shè)計(jì)的溫控系統(tǒng)測(cè)溫范圍為40 ℃~80 ℃,因此選用4位8段數(shù)碼管。
本設(shè)計(jì)采用兩個(gè)獨(dú)立式按鍵供用戶選擇,分別為加鍵和減鍵。獨(dú)立式按鍵邏輯編程簡(jiǎn)單,只用了2個(gè)單片機(jī)I/O口,有效節(jié)省了資源。
采用場(chǎng)效應(yīng)管控制10 V直流電源給10 W/10 Ω的水泥電阻進(jìn)行加熱。通過(guò)水泥電阻散發(fā)的熱量加熱銅絲電阻,銅絲電阻不斷吸收熱量最終與當(dāng)前環(huán)境溫度一致,由此實(shí)現(xiàn)恒溫控制。由單片機(jī)輸出PWM波,根據(jù)設(shè)定溫度與測(cè)量溫度之差決定輸出功率大小,利用高低電平控制場(chǎng)效應(yīng)管的通斷,從而控制水泥電阻加熱。
本系統(tǒng)采用C語(yǔ)言編程,通過(guò)對(duì)單片機(jī)編程實(shí)現(xiàn)對(duì)各外圍電路的控制。主程序首先對(duì)各子函數(shù)進(jìn)行初始化;然后調(diào)用讀取溫度、顯示溫度、按鍵設(shè)定子程序;最后使用PWM脈沖調(diào)制技術(shù)控制對(duì)加熱的通斷,最終實(shí)現(xiàn)自動(dòng)控制調(diào)節(jié)溫度的效果。
(1)在溫度測(cè)量方面,DS18B20的操作順序必須按照嚴(yán)格的時(shí)隙來(lái)控制;
(2)在設(shè)定與顯示方面,通過(guò)外部中斷控制按鍵子程序,通過(guò)定時(shí)器中斷控制掃描數(shù)碼管并顯示;
(3)在溫度控制方面,程序按照一定的過(guò)程執(zhí)行:當(dāng)實(shí)時(shí)測(cè)量的溫度小于設(shè)定溫度時(shí),控制PWM波導(dǎo)通場(chǎng)效應(yīng)管,水泥電阻加熱,紅色指示燈亮;當(dāng)實(shí)時(shí)測(cè)量的溫度達(dá)到設(shè)定溫度減1 ℃時(shí),再次判斷實(shí)時(shí)溫度是否達(dá)到設(shè)定溫度,若達(dá)到單片機(jī)便控制PWM波場(chǎng)效應(yīng)管關(guān)斷,停止加熱綠色指示燈亮,否則繼續(xù)加熱紅色指示燈亮。若紅色指示燈處于閃爍狀態(tài),則表明溫度場(chǎng)為恒溫狀態(tài),即銅絲電阻處于恒溫狀態(tài)。
在軟件調(diào)試方面,目前開(kāi)發(fā)者們大多使用流行的MCS-51系列單片機(jī)開(kāi)發(fā)軟件——Keil。Keil提供了完整的開(kāi)發(fā)方案,包括宏匯編、C編譯器、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器,它通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(μVision)將這些組合在一起。本設(shè)計(jì)選用Keil軟件的原因在于Keil C51標(biāo)準(zhǔn)C編譯器為51系列單片機(jī)的軟件開(kāi)發(fā)提供了C語(yǔ)言環(huán)境并保留了匯編代碼高效、快速的特點(diǎn)[5]。Keil C51軟件能夠提供非常豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,生成目標(biāo)代碼的效率高。
在電路仿真方面,本設(shè)計(jì)采用Proteus軟件,它不僅具有與其他EDA工具一樣的PCB自動(dòng)或人工布線、原理布圖和電路仿真功能,還具有互動(dòng)電路仿真、應(yīng)用微處理器在原理圖的虛擬原型上進(jìn)行編程及軟件源碼實(shí)時(shí)調(diào)試的獨(dú)特功能[2]。
本設(shè)計(jì)通過(guò)Proteus軟件實(shí)現(xiàn)電路圖的繪制,之后結(jié)合Keil軟件進(jìn)行調(diào)試。
本文設(shè)計(jì)的系統(tǒng)將傳統(tǒng)溫度系數(shù)測(cè)定儀常用的模擬式溫度控制改進(jìn)為數(shù)字式溫度控制,不僅實(shí)現(xiàn)了對(duì)銅絲電阻溫度的實(shí)時(shí)、有效測(cè)量,還能夠根據(jù)用戶設(shè)定的溫度數(shù)值調(diào)節(jié)和控制加熱裝置,使銅絲電阻保持恒溫狀態(tài)。本系統(tǒng)具有開(kāi)發(fā)成本低、精度高、可靠性強(qiáng)、靈活性高等特點(diǎn),應(yīng)用前景廣泛。由于選用的是單片機(jī)芯片,外圍電路可擴(kuò)展,程序也可重新修改燒錄,因此本文系統(tǒng)可以不斷被優(yōu)化。