□ 孫 昭 □ 王彤宇
長(zhǎng)春理工大學(xué) 機(jī)電工程學(xué)院 長(zhǎng)春 130022
在工業(yè)生產(chǎn)過(guò)程中,對(duì)工作環(huán)境溫度的檢測(cè)和控制十分重要,例如石油加工工業(yè)中,工作環(huán)境非常惡劣,智能溫控系統(tǒng)能夠?qū)ぷ鳝h(huán)境的溫度進(jìn)行遠(yuǎn)程實(shí)時(shí)檢測(cè)。筆者研究開(kāi)發(fā)了環(huán)保清潔車智能溫度監(jiān)控設(shè)備,該設(shè)備執(zhí)行對(duì)鐵軌路面進(jìn)行清潔后的噴油;當(dāng)加熱器把油料溫度加熱到50℃時(shí),啟動(dòng)噴油開(kāi)關(guān),對(duì)鐵軌進(jìn)行噴油操作,同時(shí)加熱器進(jìn)入保溫工作狀態(tài),LCD液晶屏將顯示實(shí)際測(cè)得的溫度。本項(xiàng)目設(shè)計(jì)的主要目的為:一是溫度準(zhǔn)確采集,二是溫度實(shí)時(shí)顯示。
系統(tǒng)的總體設(shè)計(jì)原理如圖1所示。
▲圖1 系統(tǒng)原理框圖
圖1 中DS18B20作為溫度采集器件,它將采集到的溫度模擬信號(hào)直接轉(zhuǎn)換為數(shù)字信號(hào),PIC單片機(jī)讀取其轉(zhuǎn)化后的數(shù)字量發(fā)送到LCD1602的數(shù)字寄存器,并通過(guò)LCD1602將溫度數(shù)值顯示,當(dāng)溫度低于50℃時(shí),加熱器處于加熱工作狀態(tài)。當(dāng)溫度到達(dá)50℃時(shí),由單片機(jī)發(fā)送信號(hào)給繼電器,控制加熱器進(jìn)入保溫工作狀態(tài),鍵盤(pán)電路提供給PIC單片機(jī)控制信息,進(jìn)而用來(lái)調(diào)整LCD1602的數(shù)值顯示。
單片機(jī)的最小系統(tǒng)指的是單片機(jī)工作的最小電路結(jié)構(gòu),包括電源電路+5V接VCC;時(shí)鐘電路,晶振選擇16MHz;復(fù)位電路,采用的是按鍵復(fù)位、低電平有效的方式。最小系統(tǒng)電路原理如圖2所示。
▲圖2 單片機(jī)最小系統(tǒng)
溫度傳感器采用DALLAS公司生產(chǎn)的一線式溫度傳感器,其溫度測(cè)量范圍為-55~+125℃,可進(jìn)行9~12bit A/D轉(zhuǎn)換,測(cè)溫分辨率為0.0625℃,被測(cè)溫度以符號(hào)擴(kuò)展的16位數(shù)字量的方式串行輸出。DS18B20的測(cè)溫原理如圖3所示。
▲圖3 DS18B20內(nèi)部測(cè)溫電路原理框圖
電路的核心采用了一個(gè)低溫度系數(shù)振蕩器和一個(gè)高溫度系數(shù)振蕩器。低溫度系數(shù)振蕩器對(duì)應(yīng)的是減法計(jì)數(shù)器1,它給減法計(jì)數(shù)器提供準(zhǔn)確的輸出脈沖,利用低溫度系數(shù)振蕩器的振蕩頻率受溫度變化影響小的特點(diǎn),在加熱過(guò)程中,其對(duì)溫度變化不敏感,所以輸出的脈沖穩(wěn)定,提高了減法計(jì)數(shù)器對(duì)脈沖計(jì)數(shù)的準(zhǔn)確性,使得到的測(cè)溫?cái)?shù)據(jù)更加精確。高溫度系數(shù)振蕩器對(duì)應(yīng)的是減法計(jì)數(shù)器2,主要決定脈沖的計(jì)數(shù)時(shí)間,由于高溫度系數(shù)振蕩器對(duì)溫度的變化很敏感,當(dāng)溫度達(dá)到設(shè)定值時(shí)會(huì)立即向減法計(jì)數(shù)器2發(fā)出脈沖,使脈沖計(jì)數(shù)過(guò)程立即停止,由于高溫度系數(shù)振蕩器反應(yīng)靈敏,使脈沖計(jì)數(shù)時(shí)間更加準(zhǔn)確,提高了對(duì)溫度的精確控制。
在油料測(cè)量溫度開(kāi)始時(shí),將-55℃對(duì)應(yīng)的基數(shù)預(yù)置于減法計(jì)數(shù)器和溫度寄存器中,低溫度系數(shù)振蕩器向減法計(jì)數(shù)器1發(fā)出穩(wěn)定的脈沖,減法計(jì)數(shù)器開(kāi)始對(duì)脈沖計(jì)數(shù),當(dāng)-55℃對(duì)應(yīng)的基數(shù)減少到0時(shí),此時(shí)溫度寄存器相應(yīng)地增加1,然后重新將新的預(yù)置值放入減法計(jì)數(shù)器中,當(dāng)基數(shù)再次減為0時(shí),溫度寄存器再度增加1,以此構(gòu)成循環(huán),不斷地對(duì)溫度進(jìn)行加熱、測(cè)量,溫度寄存器的溫度計(jì)數(shù)不斷地增加,直至到設(shè)定的溫度時(shí),由高溫度系數(shù)振蕩器檢測(cè)到該溫度后,立即向減法計(jì)數(shù)器2發(fā)出脈沖,減法計(jì)數(shù)器的預(yù)置值減為0,溫度寄存器得到信號(hào)后,不再增加,發(fā)出信號(hào)給相應(yīng)的系統(tǒng),設(shè)備不再加熱,經(jīng)過(guò)斜率累加器的不斷修正,此時(shí)溫度寄存器內(nèi)的數(shù)值就是實(shí)際測(cè)量的油料溫度值,油料的溫度就被測(cè)量出來(lái)了。
當(dāng)溫度高于100℃時(shí),不能使用寄生電源,因?yàn)榇藭r(shí)器件中較大的漏電流會(huì)使總線不能可靠檢測(cè)高低電平,從而導(dǎo)致數(shù)據(jù)傳輸誤碼率的增大。比如使用加熱器加熱油料,可能加熱器會(huì)發(fā)生故障,導(dǎo)致加熱溫度過(guò)高,甚至高于100℃,鑒于對(duì)溫度檢測(cè)精確性的考慮,可以使用外部電源。這里檢測(cè)的溫度雖為50℃,但仍然采用外部電源供電模式,其電路如圖4所示。
▲圖4 DS18B20外部供電電路圖
本文設(shè)計(jì)采用的是16腳的1602LCD字符型液晶顯示屏,其引腳功能見(jiàn)表1。
結(jié)合使用PIC16F877型號(hào)的單片機(jī),進(jìn)行顯示模塊的電路圖設(shè)計(jì),如圖5所示。
▲圖5 1602與單片機(jī)接口電路
表1 LCD1602引腳功能圖表
本系統(tǒng)的報(bào)警部分是為了通知用戶對(duì)相應(yīng)的情況進(jìn)行處理,避免意外發(fā)生。報(bào)警部分采用了蜂鳴器,當(dāng)測(cè)試溫度高于50℃,蜂鳴器鳴聲;溫度低于10℃時(shí),蜂鳴器亦鳴聲。電路中還設(shè)計(jì)了2個(gè)發(fā)光LED,紅燈顯示時(shí),系統(tǒng)出現(xiàn)故障;綠燈顯示時(shí),系統(tǒng)正常運(yùn)行。這一部分的電路原理如圖6所示。
▲圖6 報(bào)警電路系統(tǒng)設(shè)計(jì)
▲圖7 4X4矩陣鍵盤(pán)電路圖
由于設(shè)計(jì)的按鍵相對(duì)較多,本文采用了4×4矩陣鍵盤(pán),其主要功能是設(shè)定溫度的上下限,電路如圖7所示。按鍵的鍵值見(jiàn)表2。
表2 按鍵功能表
4×4矩陣鍵盤(pán)可以很方便地實(shí)現(xiàn)用戶與系統(tǒng)的對(duì)話,用戶也可以隨時(shí)改變溫度的上下限來(lái)進(jìn)行溫度設(shè)定和調(diào)節(jié)。
由于系統(tǒng)的工作電壓要根據(jù)PIC單片機(jī)的正常工作電壓進(jìn)行轉(zhuǎn)換,因此在設(shè)計(jì)時(shí)采用了電壓轉(zhuǎn)換電路,使用了7805芯片進(jìn)行了電壓轉(zhuǎn)化,其轉(zhuǎn)換電路如圖8所示。
▲圖8 7805電壓轉(zhuǎn)換電路圖
▲圖9主程序流程圖
主程序的流程框圖如圖9所示。
系統(tǒng)采用了單片機(jī)高級(jí)語(yǔ)言C語(yǔ)言編程。編程的主要工作是為DS18B20、LCD1602的驅(qū)動(dòng)編程,要嚴(yán)格按照說(shuō)明書(shū)中的時(shí)序圖進(jìn)行編寫(xiě),待溫度傳感器和液晶顯示器正常驅(qū)動(dòng)工作后,再進(jìn)行系統(tǒng)程序的設(shè)計(jì)。
硬件、軟件均采用分模塊的方式進(jìn)行調(diào)試,待各個(gè)模塊調(diào)試完成后再進(jìn)行綜合調(diào)試,硬件電路的主要調(diào)試步驟有:①檢查原理圖的設(shè)計(jì)情況,采用Proteus軟件進(jìn)行工作仿真;②將PCB板進(jìn)行元器件焊接,并檢查電路;③ 通電,采用MPLAB軟件編程,將生成的.hex文件程序?qū)懭雴纹瑱C(jī)的ROM進(jìn)行系統(tǒng)調(diào)試。
系統(tǒng)經(jīng)調(diào)試可以正常工作后,將采集到的溫度數(shù)值與水銀溫度計(jì)測(cè)得的數(shù)值進(jìn)行比較分析,本文選用的水銀溫度計(jì)精度為0.1℃,比較結(jié)果見(jiàn)表3。
由以上的數(shù)據(jù)可以看出,對(duì)于精確度為0.1℃的水銀溫度計(jì)來(lái)說(shuō),系統(tǒng)溫度的測(cè)量誤差基本在0.2℃的范圍以內(nèi),符合設(shè)計(jì)要求。
表3 溫度顯示結(jié)果對(duì)照表
本文分別從硬件和軟件兩個(gè)方面介紹了PIC單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)思路,溫度采集部分采用DS18B20作為傳感器件,LCD1602的顯示部分在第一行顯示實(shí)時(shí)溫度,第二行設(shè)定溫度的上下限值,鍵盤(pán)用來(lái)設(shè)定溫度數(shù)值,單片機(jī)直接控制加熱系統(tǒng),同時(shí)控制報(bào)警系統(tǒng)。在最終通過(guò)軟件的設(shè)計(jì)和調(diào)試后,測(cè)得溫度數(shù)值的誤差小于0.2℃范圍,滿足系統(tǒng)的設(shè)計(jì)要求。
[1] 葉丹,齊國(guó)生,洪強(qiáng)寧,等.基于單片機(jī)的自適應(yīng)溫度控制系統(tǒng)[J].傳感器技術(shù),2002,21(3):27-30.
[2] 劉百芬,呂濤.基于 PIC單片機(jī)的溫度控制器[J].半導(dǎo)體技術(shù),2008,33(9):833-835.
[3] 劉揚(yáng),向俊杰,付濤.一種基于 PIC單片機(jī)的溫度檢測(cè)與控制方法研究[J].電力電子,2008 (2):50-53.
[4] 王福源,王瑋,侯均衡.智能型電熱水器的控制系統(tǒng)設(shè)計(jì)[J].三峽大學(xué)學(xué)報(bào) (自然科學(xué)版),2002,24(6):523-525.
[5] Russo J,Tavares J M,Teixeira P I C,et al.Re-entrant Phase Behaviour of Network Fluids:A Patchy Particle Model with Temperature-dependent Valence [J].The Journal of Chemical Physics,2011,135(3).