高淑芝, 郎 丹
(沈陽化工大學(xué) 信息工程學(xué)院, 遼寧 沈陽 110142)
當(dāng)今社會對水溫的控制已經(jīng)滲透到方方面面,對生活生產(chǎn)中各個(gè)環(huán)節(jié)都造成不同程度的影響,所以對溫度進(jìn)行實(shí)時(shí)監(jiān)控具有很重要的意義[1-3].在工業(yè)生產(chǎn)中,對溫度控制系統(tǒng)的要求主要是保證溫度在一定范圍內(nèi)變化,穩(wěn)定性較好,震蕩幅度較小[4].例如石油開采、運(yùn)輸以及污水的排放;化工生產(chǎn)中反應(yīng)釜內(nèi)液體溫度;對高層建筑水溫度壓力的動(dòng)態(tài)響應(yīng)[5];養(yǎng)殖業(yè)實(shí)時(shí)監(jiān)控水溫[6]等,這些都要求水溫控制在一定范圍之內(nèi).通過精確的溫度控制,可以滿足工藝要求、生產(chǎn)安全、提高工藝水平、產(chǎn)品質(zhì)量,并且能夠降低勞動(dòng)成本.文獻(xiàn)[7]針對船舶柴油機(jī)冷卻水溫度大慣性、易超調(diào)等問題,在船舶柴油機(jī)高溫冷卻水溫度控制系統(tǒng)模型的基礎(chǔ)上,通過PLC S7-200來設(shè)計(jì)控制系統(tǒng),利用仿真軟件對控制效果進(jìn)行了仿真對比試驗(yàn).文獻(xiàn)[8]在單片機(jī)中加入PID來對鍋爐水溫中的測量數(shù)據(jù)和設(shè)定數(shù)據(jù)進(jìn)行處理,使水溫穩(wěn)定在設(shè)定值.李昌祿等人采用STC89C52單片機(jī)與溫度傳感器DS18B20構(gòu)成采集電路,結(jié)合PID算法進(jìn)行加熱系統(tǒng)的水溫控制,使系統(tǒng)穩(wěn)定運(yùn)行[9].Alfa Laval公司開發(fā)的控制系統(tǒng)不僅能夠?qū)Φ疁囟冗M(jìn)行調(diào)節(jié),而且具有根據(jù)熱負(fù)荷的變化對海水泵進(jìn)行流量模式轉(zhuǎn)換的功能,同時(shí)系統(tǒng)還能夠定時(shí)對海水系統(tǒng)進(jìn)行清洗[7].
本文針對船舶柴油機(jī)運(yùn)行時(shí)冷卻水溫度控制不穩(wěn)定問題,采用基于AT89C51單片機(jī)進(jìn)行冷卻水溫控制.船舶柴油機(jī)是船舶內(nèi)重要組成部分,其冷卻水可帶走這些熱量,從而保障受熱部件處于正常溫度進(jìn)行工作.柴油機(jī)冷卻水溫度低于30 ℃以下,會使氣缸的磨損增加;冷卻水溫度過高,柴油機(jī)燃燒不正常,容易引起敲缸、爆燃,同時(shí)機(jī)油變質(zhì)和燒損嚴(yán)重,柴油機(jī)功率降低,燃油耗、機(jī)油耗增加.精確控制冷卻水的溫度,對于提高柴油機(jī)的動(dòng)力性、減少廢氣的產(chǎn)生、降低燃料消耗量等方面有著重要的意義[7].本系統(tǒng)以AT89C51為核心、DS18B20為溫度采集模塊、液晶屏LM016L為溫度顯示模塊、獨(dú)立按鍵為信息輸入模塊、Keil為C程序編譯器、Proteus為仿真軟件設(shè)計(jì)整個(gè)模塊功能[10],從而實(shí)現(xiàn)系統(tǒng)軟硬件的交互仿真.系統(tǒng)啟動(dòng)后,可通過獨(dú)立按鍵調(diào)整標(biāo)準(zhǔn)溫度值.高于標(biāo)準(zhǔn)溫度蜂鳴器報(bào)警、加熱裝置停止加熱,低于標(biāo)準(zhǔn)溫度值時(shí),蜂鳴器停止報(bào)警,加熱裝置開始加熱,從而實(shí)現(xiàn)系統(tǒng)對溫度的自動(dòng)控制.此系統(tǒng)不僅可用于遠(yuǎn)程環(huán)境的監(jiān)測與控制,還可用于有著惡劣環(huán)境的作業(yè)現(xiàn)場.
本設(shè)計(jì)使用單片機(jī)作為控制核心,采用單個(gè)溫度傳感器對溫度進(jìn)行檢測,以LM016L顯示溫度,繼電器間接控制加熱裝置.系統(tǒng)總體控制框圖如圖1所示.
圖1 系統(tǒng)總體框圖Fig.1 Block diagram of system
根據(jù)系統(tǒng)的結(jié)構(gòu),將其分成5個(gè)子模塊:單片機(jī)核心控制模塊、蜂鳴器報(bào)警模塊、溫度處理模塊、溫度顯示模塊和溫度采集模塊.通過Keil編輯程序,在Proteus仿真軟件上仿真出來.
溫度高于設(shè)定的標(biāo)準(zhǔn)溫度,則蜂鳴器發(fā)出警報(bào),繼電器動(dòng)作;溫度低于設(shè)定的標(biāo)準(zhǔn)溫度,蜂鳴器停止報(bào)警,繼電器復(fù)位,系統(tǒng)啟動(dòng)設(shè)置默認(rèn)為24 ℃,如圖2所示.
圖2 總體設(shè)計(jì)圖Fig.2 General layout scheme
2.2.1 單片機(jī)核心控制模塊
AT89C51是一種低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī),其內(nèi)部的只讀存儲器擦寫壽命可達(dá)1 000次.AT89C51包含4 K字節(jié)FLASH存儲器和128 B的片內(nèi)RAM,2個(gè)定時(shí)/計(jì)數(shù)器,5個(gè)中斷源,4個(gè)并行I/O端口.P0口根據(jù)使用情況,可以工作在普通漏極開路的8位準(zhǔn)雙向I/O端口,每一位可帶8個(gè)LSTTL類型的負(fù)載.它的驅(qū)動(dòng)灌電流為1.6 mA,拉負(fù)載能力為幾十微安.需要輸出高電平時(shí),要連接上拉電阻.P1口能且僅能作為I/O端口使用,它是準(zhǔn)雙向I/O并且自帶上拉電阻,每一位最多可以驅(qū)動(dòng)LSTTL負(fù)載數(shù)為4個(gè).P3口是8位準(zhǔn)雙向I/O端口,且自帶上拉電阻.P2有兩種工作方式:一是可以作為普通帶上拉電阻的I/O端口,二是可以作為訪問片外存儲器時(shí)的8位地址線.如果構(gòu)建單片機(jī)核心模塊的最小系統(tǒng)時(shí),需要1個(gè)11.059 2 MHz的晶振,2個(gè)33 pF的電容[11].
2.2.2 溫度采集模塊
DS18B20具有體積小巧,性能可靠,有著極強(qiáng)的抗干擾能力,還具有與微處理器無縫配合等特點(diǎn).它的測溫范圍是-55~125 ℃,誤差僅為0.5 ℃.采用單總線控制方式,與主機(jī)通信時(shí),僅憑單總線即可完成雙向通訊.抗干擾能力強(qiáng),可適應(yīng)環(huán)境惡劣的現(xiàn)場.并且可通過控制一條單線來測量多點(diǎn)的溫度.將AT89C51的P3.7端口分配給DS18B20的DQ端口作為數(shù)據(jù)線使用.溫度可使用面板上的兩個(gè)按鈕控制,如圖3所示.
圖3 DS18B20顯示面板Fig.3 DS18B20 display board
2.2.3 溫度顯示模塊與獨(dú)立按鍵模塊
LM016L是液晶顯示屏幕的核心,其中控制器HD44780有著強(qiáng)大功能的指令集,可以輕松使字符閃爍、移動(dòng)等.LM016L與單片機(jī)的通訊可采用兩種方式:4位傳輸方式或者8位傳輸方式.獨(dú)立按鍵一端接地,另一端接在端口作為輸入量.如果不進(jìn)行延時(shí)消抖操作,會使系統(tǒng)產(chǎn)生很大誤差:實(shí)際按鍵1次,而系統(tǒng)卻檢測到按鍵被多次按下.消抖分為2種:軟件消抖和硬件消抖,基于成本的考慮,采用軟件消抖.
2.2.4 溫度控制和溫度報(bào)警模塊
蜂鳴器報(bào)警模塊由繼電器和有源蜂鳴器組成.繼電器輸入信號由單片機(jī)給定:當(dāng)輸入信號為1時(shí),線圈通電,常開觸點(diǎn)閉合,蜂鳴器通電報(bào)警;當(dāng)信號為0時(shí),線圈斷電,常開觸點(diǎn)復(fù)位,蜂鳴器斷電.
Proteus主要是針對單片機(jī)類的仿真,可以仿真51系列、AVR、PIC、ARM等常用主流單片機(jī).Proteus是常用的單片機(jī)仿真軟件之一,也是唯一一款同時(shí)支持軟件及硬件仿真的軟件.Proteus有豐富的器件庫,并且提供仿真儀表資源,除此之外Proteus還具有顯示功能.通過Proteus來建立虛擬實(shí)驗(yàn)電路,然后進(jìn)行調(diào)試與仿真.AT89C51使用Keil編輯器,使用C語言來編寫DS18B2、LM016L、獨(dú)立按鍵等程序的設(shè)計(jì).其功能強(qiáng)大的元件庫和內(nèi)置Keil C編程為基礎(chǔ),可以實(shí)現(xiàn)互動(dòng)的電路仿真與仿真處理器及其外圍電路,集編輯、編譯和程序仿真等于一體.Proteus可以直接與Keil編程軟件進(jìn)行調(diào)試,從而實(shí)現(xiàn)設(shè)計(jì)電路的驗(yàn)證[12].
3.2.1 Proteus 工程文件的創(chuàng)建
打開軟件創(chuàng)建新的工程項(xiàng)目,設(shè)置項(xiàng)目保存路徑,在“Firmware”選項(xiàng)中,“Family”下拉菜單選擇“8051”,“Controller”選擇“AT89C51”,“Compiler”選擇“Keil for 8051”,如圖4所示.
圖4 創(chuàng)建設(shè)置界面Fig.4 Create setting interface
3.2.2 AT89C51最小系統(tǒng)的構(gòu)建
Proteus不提供最小系統(tǒng),所以要自己構(gòu)建一個(gè)最小系統(tǒng).最小系統(tǒng)需要2個(gè)33 pF的電容,1個(gè)11.059 2 MHz的晶振,對于單片機(jī)來說,晶振尤為重要.選擇相應(yīng)原件,并添加到圖層中,電容設(shè)置如圖5所示.
圖5 電容設(shè)置界面Fig.5 Capacitance setting interface
選擇“Terminals Mode”,選擇“POWER”5V電壓輸入端.在Keil C51中使用項(xiàng)目進(jìn)行管理完成一個(gè)應(yīng)用系統(tǒng),需要進(jìn)行建立源程序文件、項(xiàng)目文件、編譯項(xiàng)目及調(diào)試程序和固化程序.
3.2.3 各模塊的構(gòu)建
將AT89C51的P3.7端口分配給DS18B20的DQ端口作為數(shù)據(jù)線使用,溫度可使用面板上的兩個(gè)按鈕控制.單片機(jī)的P0~P7對應(yīng)顯示屏的LM016L的DB0~DB7,RS對應(yīng)P2.6,E對應(yīng)P2.7,RW對應(yīng)P2.5.P0需要上拉電阻才能輸出高電平.獨(dú)立按鍵共有4個(gè):K1為單片機(jī)復(fù)位按鍵,K2為增加標(biāo)準(zhǔn)溫度,K3為減少標(biāo)準(zhǔn)溫度,K4為確定按鍵.K2分配 P1.1端口;K3分配 P1.2端口;K4分配 P1.3端口.
雙觸點(diǎn)繼電器常閉觸點(diǎn)控制加熱裝置,常開觸點(diǎn)控制蜂鳴器.繼電器用三極管間接控制通斷,信號由P1.0發(fā)出.若實(shí)際溫度高于標(biāo)準(zhǔn)溫度則P1.0輸出1,反之則輸出0信號.當(dāng)P1.0輸出1信號時(shí),三極管導(dǎo)通,此時(shí)線圈通電,繼電器所有觸點(diǎn)均動(dòng)作,蜂鳴器報(bào)警、加熱裝置停止加熱.當(dāng)P1.0輸出信號為0時(shí),三極管截止,此時(shí)線圈斷電.繼電器所有觸點(diǎn)均復(fù)位.此時(shí)蜂鳴器關(guān)閉報(bào)警,加熱裝開始加熱.
整個(gè)系統(tǒng)的核心是基于AT89C51的單片機(jī)核心控制模塊,其工作原理是通過執(zhí)行AT89C51只讀存儲器中預(yù)先寫入的程序來控制外圍的4個(gè)I/O端口,從而達(dá)到對各個(gè)模塊控制的目的.溫度信號采集模塊是由溫度傳感器DS18B20組成,主要采集溫度并將數(shù)據(jù)上傳至核心模塊.DS18B20將采集的溫度數(shù)據(jù)傳給單片機(jī)核心控制模塊AT89C51進(jìn)行處理,同時(shí)使液晶屏LM016L顯示當(dāng)前溫度.溫度處理模塊由繼電器控制,通過繼電器的通斷控制加熱系統(tǒng).蜂鳴器報(bào)警模塊對當(dāng)前溫度超過給定溫度時(shí)報(bào)警.系統(tǒng)基本流程如圖6所示.
圖6 系統(tǒng)基本流程Fig.6 System flow chart
回到工程主界面,單擊左下角的仿真按鈕,開始仿真.開機(jī)后系統(tǒng)等待確認(rèn)標(biāo)準(zhǔn)溫度,默認(rèn)為24 ℃.單擊增加標(biāo)準(zhǔn)溫度按鈕后,可見標(biāo)準(zhǔn)溫度增高了1 ℃.若單擊減少標(biāo)準(zhǔn)溫度按鈕,可見標(biāo)準(zhǔn)溫度減少了1 ℃.首先把DS18B20的模擬檢測溫度調(diào)節(jié)到20 ℃,標(biāo)準(zhǔn)溫度使用25 ℃.此時(shí)液晶屏的顯示結(jié)果為OFF.仿真過程以5 V燈泡代替加熱裝置,可見加熱裝置通電,蜂鳴器未報(bào)警.如果標(biāo)準(zhǔn)溫度為25 ℃,實(shí)際溫度為30 ℃時(shí),可觀察到加熱裝置斷電,蜂鳴器已開始報(bào)警.
采用AT89C51單片機(jī)來實(shí)現(xiàn)對船舶柴油機(jī)冷卻水溫度的控制.系統(tǒng)以單片機(jī)核心控制模塊、蜂鳴器報(bào)警模塊、溫度顯示模塊、溫度采集模塊對溫度進(jìn)行控制,通過Proteus仿真軟件對水溫控制系統(tǒng)進(jìn)行仿真,將采集的冷卻水溫度值與標(biāo)準(zhǔn)溫度值進(jìn)行對比,實(shí)現(xiàn)智能加熱、報(bào)警等功能,進(jìn)而達(dá)到了對溫度系統(tǒng)的遠(yuǎn)程環(huán)境監(jiān)測與控制.