淡海英
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院 陜西 西安 710300)
改革開放以來,我國經(jīng)濟(jì)的迅速增長,使得農(nóng)業(yè)的研究和應(yīng)用技術(shù)越來越受到重視,特別是蔬菜大棚已經(jīng)成為高效農(nóng)業(yè)的一個重要組成部分。蔬菜大棚是植物栽培生產(chǎn)中必不可少的設(shè)施之一,溫度是衡量蔬菜大棚的最重要的指標(biāo),它直接影響到栽培作物的的生長和產(chǎn)量,為了能給作物提供一個合適的生長環(huán)境,首要問題是加強(qiáng)溫室內(nèi)的溫度的監(jiān)測。因此,為了實現(xiàn)高效農(nóng)業(yè)的科學(xué)化和研究性,推動我國農(nóng)業(yè)發(fā)展,解決我國農(nóng)民普遍收入低的問題,縮小城鄉(xiāng)差距,推動全面小康社會,迫切需要價格適中的、自動化程度高的農(nóng)業(yè)設(shè)備。由于單片機(jī)及各種電子器件性價比的迅速提高,使得成本低性能穩(wěn)定的這種要求變?yōu)榭赡堋1驹O(shè)計是針對這一問題,設(shè)計能夠?qū)崿F(xiàn)溫濕度上下限設(shè)定、自動監(jiān)測、顯示和報警等多功能的溫濕度測控系統(tǒng)。該設(shè)計系統(tǒng)還可以推廣到其他領(lǐng)域。
蔬菜大棚溫度自動控制系統(tǒng)可以劃分為兩個部分,一是PC端管理模塊,二是溫度控制模塊。一個管理系統(tǒng)可以管理多個溫度控制設(shè)備,它們之間通過RS-485通信,也就是通過串口通信。溫度控制模塊由9個部分組成,分別是:電源、單片機(jī)、顯示設(shè)備、溫度傳感器、按鍵、加熱控制電路、降溫控制電路、聲光報警電路、通信電路。溫度控制設(shè)備模塊框圖如圖1所示。
圖1 溫度控制設(shè)備模塊框圖Fig.1 Temperature control device module block diagram
有了溫度控制設(shè)備模塊圖 ,就可以設(shè)計電路。選擇繪制電路圖軟件Proteus進(jìn)行設(shè)計,如圖2至圖6所示的溫度控制電路原理圖。
1)單片機(jī)
選擇AT89C51做為主控芯片,也是一直在用的代表性51芯片。控制引腳 P1.0~P1.5主要用來控制 24C02C、DS1302、DS18B20;P1.6、P1.7、P2.0、P3.6、P3.7 用 來 控 制 顯 示電路;P2.2~P2.7用來控制報警、報警指示燈、降溫電路、加熱電路;P3.0、P3.1做串口通信;P3.2、P3.3用來做按鍵控制 (外部中斷實現(xiàn))。這里省略了時鐘電路和復(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ū)動芯片是KS0180,除了顯示液晶,還用到RESPACK-8(RP1)、滑動變阻 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 按鍵、聲光報警電路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)來表示,降溫風(fēng)扇用電動機(jī)(MOTOR)來表示。由于加熱源和風(fēng)扇都是強(qiáng)電供電,這里用繼電器(RELAY)來做一個簡單的控制,同時用到三極管(NPN)、電阻(RES)、二極管(IN4001)等器件。 兩個點路分別由單片機(jī)的P2.6、P2.7引腳控制。
4)串口、DS1302、DS18B20、24C02 電路
串口控制電路中用到了 4種串行電路,I2C(24C02C)、SPI(DS1302)、 單 總 線 (DS18B20)、 串 口 (RS-232)。 其 中24C02C的I2C電路用于通信,硬件上主要是加一個晶振(CRYSTAL),設(shè)定其頻率為 32768Hz,一個備用電池(CELL);DS18B20中用到上拉電阻 (RES),設(shè)定為4.7K,串口電路(COMPIM)通過設(shè)定將其連接到虛擬串口上。
5)按鍵、聲光報警電路
本系統(tǒng)只用了兩個按鍵,一個用來控制風(fēng)扇的開關(guān)、一個用來控制加熱電路的開關(guān)。指示燈用來表示當(dāng)前狀態(tài),溫度正常時綠燈亮,溫度過低,超低溫指示燈點亮,溫度過高,超高溫指示燈點亮。報警電路和蜂鳴器電路有區(qū)別,為了使其發(fā)音較大,用一個三極管(NPN)驅(qū)動,而且使用的也不是蜂鳴器,而是喇叭SPEAKER。
6)DS18B20介紹
①DS18B20的特性
DS18B20[8-9]是可組網(wǎng)單總線數(shù)字溫度傳感器芯片。其具有耐磨耐碰、體積小、使用方便、封裝形式多等特點,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。DS18B20與微處理器連接時僅需要一條線即可實現(xiàn)微處理器與DS1K8B20的雙向通信,在使用中不需要任何外圍元件,可用數(shù)據(jù)線供電,電壓范圍:+3.0~+5。 5 V,測溫范圍是-55~+125 ℃,通過編程實現(xiàn)9~12位的數(shù)字讀數(shù)方式,用戶可自設(shè)定非易失性的報警上、下限,支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)多點測溫。
②DS18B20的引腳定義
GND:接地,VQ:數(shù)據(jù)輸入/輸出引腳,VDD 引腳:可選+5 V引腳,NC:空引腳。
③兩種供電方式
DS18B20有兩種供電方式,一種是總線供電方式,該模式允許DS18B20工作于無外部電源需求狀態(tài),寄生電源在進(jìn)行遠(yuǎn)距離測溫是非常有用的。溫度高于100℃時,不推薦使用寄生電源,因為DS18B20在這種溫度下表現(xiàn)出的漏電流比較大,通信可能無法進(jìn)行。在類似這種溫度的情況下,強(qiáng)烈推薦使用DS18B20的VDD引腳。對DS18B20供電的另一種傳統(tǒng)辦法是從VDD引腳接入一個外部電源。這樣做的好處是單總線上不需要強(qiáng)上拉,而且總線不用在溫度轉(zhuǎn)換期間一直保持高電平。
單片機(jī)上的程序設(shè)計目標(biāo)是:在存儲器24C02C中保存我們設(shè)定的溫度上/下限值;通過DS18B20采集當(dāng)前溫度,當(dāng)采集溫度超過上限值時,就控制風(fēng)機(jī)排風(fēng)降溫,當(dāng)采集溫度低于下限值時,就控制加熱設(shè)備加熱升溫;通過時鐘芯片DS1302讀取日期、時鐘等信息;通過液晶顯示屏顯示當(dāng)前時間、當(dāng)前溫度、設(shè)定的溫度上/下限值、當(dāng)前狀態(tài)等信息;在讀取當(dāng)當(dāng)前溫度異常時啟動聲光報警系統(tǒng),提示用戶溫度異常;在系統(tǒng)設(shè)定為手動狀態(tài)時,通過按鍵可以控制風(fēng)機(jī)排風(fēng)、加熱系統(tǒng)加熱;通過串口實現(xiàn)PC端的遠(yuǎn)程管理,在PC端可以設(shè)定當(dāng)前時間;溫度上/下限、操作模式等。
設(shè)計的思路是這樣的:由易到難。從簡單的寫起,把簡單的都驗證了,有了成就感,再去攻克復(fù)雜的。設(shè)計的順序是:驗證風(fēng)機(jī)、加熱燈、指示燈的控制;控制報警器響起來(定時器中斷控制);響應(yīng)按鍵的輸入(外部中斷INT0、INT1控制);讓液晶顯示我們要的東西;加入24C02C、DS1302這兩個我們用過的東西;搞定DS18B20這個硬骨頭;設(shè)計與PC的通信內(nèi)容UART。本系統(tǒng)的主程序流程圖如圖7所示。
圖7 主程序流程圖Fig.7 The main program flow chart
在硬件設(shè)計上,我們設(shè)計的按鍵很少,因而在軟件遠(yuǎn)程管理上做的工作就多些:讀取當(dāng)前溫度,讀取、設(shè)定設(shè)計,讀取,設(shè)定溫度的上/下限,打開、關(guān)閉風(fēng)扇,打開、關(guān)閉加熱燈等。
在主程序中要注意,從啟動溫度轉(zhuǎn)換到讀取溫度的時間間隔應(yīng)大于750 ms,否則會讀出85℃;其次就是對負(fù)溫度值的處理、顯示、比較等。另外要用到幾個中斷:定時器0中斷,用來報警;外部中斷0、外部中斷1,用來響應(yīng)按鍵;串口中斷,用來處理串口數(shù)據(jù)的收/發(fā)。因為可以手動、遠(yuǎn)程、自控控制風(fēng)機(jī)和加熱設(shè)備,而言要處理三者之間的邏輯關(guān)系。本系統(tǒng)中處理了遠(yuǎn)程和自動的邏輯關(guān)系,但沒有處理手動和自動的邏輯關(guān)系。通過仿真會發(fā)現(xiàn),目前的系統(tǒng)是遠(yuǎn)程管理優(yōu)先。也就是在正常溫度范圍內(nèi)可以通過PC端開啟風(fēng)扇、加熱設(shè)備,但在正常溫度范圍內(nèi)手動開發(fā)風(fēng)扇或加熱設(shè)備,系統(tǒng)會自動將其關(guān)閉。如果想使用手動優(yōu)先,可以考慮如何修改這部分程序。
本系統(tǒng)設(shè)計是一個專門為蔬菜大棚溫度測量控制而設(shè)計的系統(tǒng)。通過對系統(tǒng)的硬件部分和軟件部分設(shè)計來達(dá)到監(jiān)控要求。在系統(tǒng)設(shè)計過程中充分考慮到性價比,選用價格低、性能穩(wěn)定的元器件,同時此系統(tǒng)在其他領(lǐng)域還具有一定的推廣價值。
[1]張義和.例說51單片機(jī)(C語言版)[M].北京:人民郵電出版社,2009.
[2]孫惠芹.單片機(jī)項目設(shè)計教程[M].北京:電子工業(yè)出版社,2009.
[3]蘇艷萍.單片機(jī)原理與應(yīng)用[M].北京:國防科技大學(xué)出版社,2012.
[4]王靜俠.單片機(jī)應(yīng)用技術(shù)(C語言版)[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].現(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的測溫系統(tǒng)設(shè)計[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.