淡海英
(陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院 陜西 西安 710300)
改革開放以來(lái),我國(guó)經(jīng)濟(jì)的迅速增長(zhǎng),使得農(nóng)業(yè)的研究和應(yīng)用技術(shù)越來(lái)越受到重視,特別是蔬菜大棚已經(jīng)成為高效農(nóng)業(yè)的一個(gè)重要組成部分。蔬菜大棚是植物栽培生產(chǎn)中必不可少的設(shè)施之一,溫度是衡量蔬菜大棚的最重要的指標(biāo),它直接影響到栽培作物的的生長(zhǎng)和產(chǎn)量,為了能給作物提供一個(gè)合適的生長(zhǎng)環(huán)境,首要問(wèn)題是加強(qiáng)溫室內(nèi)的溫度的監(jiān)測(cè)。因此,為了實(shí)現(xiàn)高效農(nóng)業(yè)的科學(xué)化和研究性,推動(dòng)我國(guó)農(nóng)業(yè)發(fā)展,解決我國(guó)農(nóng)民普遍收入低的問(wèn)題,縮小城鄉(xiāng)差距,推動(dòng)全面小康社會(huì),迫切需要價(jià)格適中的、自動(dòng)化程度高的農(nóng)業(yè)設(shè)備。由于單片機(jī)及各種電子器件性價(jià)比的迅速提高,使得成本低性能穩(wěn)定的這種要求變?yōu)榭赡堋1驹O(shè)計(jì)是針對(duì)這一問(wèn)題,設(shè)計(jì)能夠?qū)崿F(xiàn)溫濕度上下限設(shè)定、自動(dòng)監(jiān)測(cè)、顯示和報(bào)警等多功能的溫濕度測(cè)控系統(tǒng)。該設(shè)計(jì)系統(tǒng)還可以推廣到其他領(lǐng)域。
蔬菜大棚溫度自動(dòng)控制系統(tǒng)可以劃分為兩個(gè)部分,一是PC端管理模塊,二是溫度控制模塊。一個(gè)管理系統(tǒng)可以管理多個(gè)溫度控制設(shè)備,它們之間通過(guò)RS-485通信,也就是通過(guò)串口通信。溫度控制模塊由9個(gè)部分組成,分別是:電源、單片機(jī)、顯示設(shè)備、溫度傳感器、按鍵、加熱控制電路、降溫控制電路、聲光報(bào)警電路、通信電路。溫度控制設(shè)備模塊框圖如圖1所示。

圖1 溫度控制設(shè)備模塊框圖Fig.1 Temperature control device module block diagram
有了溫度控制設(shè)備模塊圖 ,就可以設(shè)計(jì)電路。選擇繪制電路圖軟件Proteus進(jìn)行設(shè)計(jì),如圖2至圖6所示的溫度控制電路原理圖。
1)單片機(jī)
選擇AT89C51做為主控芯片,也是一直在用的代表性51芯片。控制引腳 P1.0~P1.5主要用來(lái)控制 24C02C、DS1302、DS18B20;P1.6、P1.7、P2.0、P3.6、P3.7 用 來(lái) 控 制 顯 示電路;P2.2~P2.7用來(lái)控制報(bào)警、報(bào)警指示燈、降溫電路、加熱電路;P3.0、P3.1做串口通信;P3.2、P3.3用來(lái)做按鍵控制 (外部中斷實(shí)現(xiàn))。這里省略了時(shí)鐘電路和復(fù)位電路,可以參考其他同類資料。
2)顯示電路

圖2 主控電路Fig.2 The main control circuit

圖3 顯示電路Fig.3 Display circuit

圖4 加熱、散熱電路Fig.4 Heating、cooling circuit
本系統(tǒng)的顯示電路用的是128×64液晶---AMPIRE128×64,其驅(qū)動(dòng)芯片是KS0180,除了顯示液晶,還用到RESPACK-8(RP1)、滑動(dòng)變阻 POT-LIN(RV1)。液晶的數(shù)據(jù)端口連接 AT89C51 的 P0 口,CS1、CS2 連接 P1.6、P1.7 引腳,EN連接 P2.0引腳,RW、RS連接 P3.6、P3.7引腳。AMPIRE128×64液晶的引腳定義如表1所示。
3)加熱和降溫電路

圖5 按鍵、聲光報(bào)警電路Fig.5 Button、sound and light alarm circuit

圖6 串口控制電路Fig.6 Serial port control circuit

表1 AMPIRE128×64液晶的引腳定義Tab.1 AMPIRE128 x 64 LCD pin definition
加熱模塊用高壓燈泡(LAMP)來(lái)表示,降溫風(fēng)扇用電動(dòng)機(jī)(MOTOR)來(lái)表示。由于加熱源和風(fēng)扇都是強(qiáng)電供電,這里用繼電器(RELAY)來(lái)做一個(gè)簡(jiǎn)單的控制,同時(shí)用到三極管(NPN)、電阻(RES)、二極管(IN4001)等器件。 兩個(gè)點(diǎn)路分別由單片機(jī)的P2.6、P2.7引腳控制。
4)串口、DS1302、DS18B20、24C02 電路
串口控制電路中用到了 4種串行電路,I2C(24C02C)、SPI(DS1302)、 單 總 線 (DS18B20)、 串 口 (RS-232)。 其 中24C02C的I2C電路用于通信,硬件上主要是加一個(gè)晶振(CRYSTAL),設(shè)定其頻率為 32768Hz,一個(gè)備用電池(CELL);DS18B20中用到上拉電阻 (RES),設(shè)定為4.7K,串口電路(COMPIM)通過(guò)設(shè)定將其連接到虛擬串口上。
5)按鍵、聲光報(bào)警電路
本系統(tǒng)只用了兩個(gè)按鍵,一個(gè)用來(lái)控制風(fēng)扇的開關(guān)、一個(gè)用來(lái)控制加熱電路的開關(guān)。指示燈用來(lái)表示當(dāng)前狀態(tài),溫度正常時(shí)綠燈亮,溫度過(guò)低,超低溫指示燈點(diǎn)亮,溫度過(guò)高,超高溫指示燈點(diǎn)亮。報(bào)警電路和蜂鳴器電路有區(qū)別,為了使其發(fā)音較大,用一個(gè)三極管(NPN)驅(qū)動(dòng),而且使用的也不是蜂鳴器,而是喇叭SPEAKER。
6)DS18B20介紹
①DS18B20的特性
DS18B20[8-9]是可組網(wǎng)單總線數(shù)字溫度傳感器芯片。其具有耐磨耐碰、體積小、使用方便、封裝形式多等特點(diǎn),適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。DS18B20與微處理器連接時(shí)僅需要一條線即可實(shí)現(xiàn)微處理器與DS1K8B20的雙向通信,在使用中不需要任何外圍元件,可用數(shù)據(jù)線供電,電壓范圍:+3.0~+5。 5 V,測(cè)溫范圍是-55~+125 ℃,通過(guò)編程實(shí)現(xiàn)9~12位的數(shù)字讀數(shù)方式,用戶可自設(shè)定非易失性的報(bào)警上、下限,支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。
②DS18B20的引腳定義
GND:接地,VQ:數(shù)據(jù)輸入/輸出引腳,VDD 引腳:可選+5 V引腳,NC:空引腳。
③兩種供電方式
DS18B20有兩種供電方式,一種是總線供電方式,該模式允許DS18B20工作于無(wú)外部電源需求狀態(tài),寄生電源在進(jìn)行遠(yuǎn)距離測(cè)溫是非常有用的。溫度高于100℃時(shí),不推薦使用寄生電源,因?yàn)镈S18B20在這種溫度下表現(xiàn)出的漏電流比較大,通信可能無(wú)法進(jìn)行。在類似這種溫度的情況下,強(qiáng)烈推薦使用DS18B20的VDD引腳。對(duì)DS18B20供電的另一種傳統(tǒng)辦法是從VDD引腳接入一個(gè)外部電源。這樣做的好處是單總線上不需要強(qiáng)上拉,而且總線不用在溫度轉(zhuǎn)換期間一直保持高電平。
單片機(jī)上的程序設(shè)計(jì)目標(biāo)是:在存儲(chǔ)器24C02C中保存我們?cè)O(shè)定的溫度上/下限值;通過(guò)DS18B20采集當(dāng)前溫度,當(dāng)采集溫度超過(guò)上限值時(shí),就控制風(fēng)機(jī)排風(fēng)降溫,當(dāng)采集溫度低于下限值時(shí),就控制加熱設(shè)備加熱升溫;通過(guò)時(shí)鐘芯片DS1302讀取日期、時(shí)鐘等信息;通過(guò)液晶顯示屏顯示當(dāng)前時(shí)間、當(dāng)前溫度、設(shè)定的溫度上/下限值、當(dāng)前狀態(tài)等信息;在讀取當(dāng)當(dāng)前溫度異常時(shí)啟動(dòng)聲光報(bào)警系統(tǒng),提示用戶溫度異常;在系統(tǒng)設(shè)定為手動(dòng)狀態(tài)時(shí),通過(guò)按鍵可以控制風(fēng)機(jī)排風(fēng)、加熱系統(tǒng)加熱;通過(guò)串口實(shí)現(xiàn)PC端的遠(yuǎn)程管理,在PC端可以設(shè)定當(dāng)前時(shí)間;溫度上/下限、操作模式等。
設(shè)計(jì)的思路是這樣的:由易到難。從簡(jiǎn)單的寫起,把簡(jiǎn)單的都驗(yàn)證了,有了成就感,再去攻克復(fù)雜的。設(shè)計(jì)的順序是:驗(yàn)證風(fēng)機(jī)、加熱燈、指示燈的控制;控制報(bào)警器響起來(lái)(定時(shí)器中斷控制);響應(yīng)按鍵的輸入(外部中斷INT0、INT1控制);讓液晶顯示我們要的東西;加入24C02C、DS1302這兩個(gè)我們用過(guò)的東西;搞定DS18B20這個(gè)硬骨頭;設(shè)計(jì)與PC的通信內(nèi)容UART。本系統(tǒng)的主程序流程圖如圖7所示。

圖7 主程序流程圖Fig.7 The main program flow chart
在硬件設(shè)計(jì)上,我們?cè)O(shè)計(jì)的按鍵很少,因而在軟件遠(yuǎn)程管理上做的工作就多些:讀取當(dāng)前溫度,讀取、設(shè)定設(shè)計(jì),讀取,設(shè)定溫度的上/下限,打開、關(guān)閉風(fēng)扇,打開、關(guān)閉加熱燈等。
在主程序中要注意,從啟動(dòng)溫度轉(zhuǎn)換到讀取溫度的時(shí)間間隔應(yīng)大于750 ms,否則會(huì)讀出85℃;其次就是對(duì)負(fù)溫度值的處理、顯示、比較等。另外要用到幾個(gè)中斷:定時(shí)器0中斷,用來(lái)報(bào)警;外部中斷0、外部中斷1,用來(lái)響應(yīng)按鍵;串口中斷,用來(lái)處理串口數(shù)據(jù)的收/發(fā)。因?yàn)榭梢允謩?dòng)、遠(yuǎn)程、自控控制風(fēng)機(jī)和加熱設(shè)備,而言要處理三者之間的邏輯關(guān)系。本系統(tǒng)中處理了遠(yuǎn)程和自動(dòng)的邏輯關(guān)系,但沒(méi)有處理手動(dòng)和自動(dòng)的邏輯關(guān)系。通過(guò)仿真會(huì)發(fā)現(xiàn),目前的系統(tǒng)是遠(yuǎn)程管理優(yōu)先。也就是在正常溫度范圍內(nèi)可以通過(guò)PC端開啟風(fēng)扇、加熱設(shè)備,但在正常溫度范圍內(nèi)手動(dòng)開發(fā)風(fēng)扇或加熱設(shè)備,系統(tǒng)會(huì)自動(dòng)將其關(guān)閉。如果想使用手動(dòng)優(yōu)先,可以考慮如何修改這部分程序。
本系統(tǒng)設(shè)計(jì)是一個(gè)專門為蔬菜大棚溫度測(cè)量控制而設(shè)計(jì)的系統(tǒng)。通過(guò)對(duì)系統(tǒng)的硬件部分和軟件部分設(shè)計(jì)來(lái)達(dá)到監(jiān)控要求。在系統(tǒng)設(shè)計(jì)過(guò)程中充分考慮到性價(jià)比,選用價(jià)格低、性能穩(wěn)定的元器件,同時(shí)此系統(tǒng)在其他領(lǐng)域還具有一定的推廣價(jià)值。
[1]張義和.例說(shuō)51單片機(jī)(C語(yǔ)言版)[M].北京:人民郵電出版社,2009.
[2]孫惠芹.單片機(jī)項(xiàng)目設(shè)計(jì)教程[M].北京:電子工業(yè)出版社,2009.
[3]蘇艷萍.單片機(jī)原理與應(yīng)用[M].北京:國(guó)防科技大學(xué)出版社,2012.
[4]王靜俠.單片機(jī)應(yīng)用技術(shù)(C語(yǔ)言版)[M].北京:電子工業(yè)出版社,2009.
[5]丁向榮,賈萍.單片機(jī)應(yīng)用系統(tǒng)與開發(fā)技術(shù)[M].北京:清華大學(xué)出版社,2009.
[6]張靖武.單片機(jī)原理應(yīng)用與PROTEUS仿真編著[M].北京:電子工業(yè)出版社,2008.
[7]李群芳.單片機(jī)原理與應(yīng)用:嵌入式系統(tǒng)開發(fā)基礎(chǔ)[M].武漢:武漢大學(xué)出版社,2006.
[8]汪銘東,梅廣輝.基于單片機(jī)與DS18B20的機(jī)柜溫度控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014(12):8-10.WANG Ming-dong,MEI Guang-hui.Design of cabinet temperature controller based on MCU and DS18B20[J].Modern Electronics Technique,2014(12):8-10.
[9]呂建波.基于單總線數(shù)字溫度傳感器DS18B20的測(cè)溫系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012(19):117-119.LV Jian-bo.Design of temperature measurement system based on single bus digital temperature sensor DS18B20[J].Modern Electronics Technique,2012(19):117-119.