張小云 裴騰達(dá)
摘 要:針對(duì)溫室大棚的環(huán)境智能監(jiān)測(cè)研究,本文設(shè)計(jì)了一種以STC89C52RC單片機(jī)為控制核心的多功能測(cè)量系統(tǒng)。通過(guò)對(duì)系統(tǒng)的單片機(jī)和PC機(jī)進(jìn)行聯(lián)調(diào),實(shí)現(xiàn)了對(duì)溫室內(nèi)光照度、溫度和濕度等重要環(huán)境因子的監(jiān)測(cè)及實(shí)時(shí)顯示以及對(duì)聲光報(bào)警電路的控制,溫度的偏差控制在±0.5℃,濕度的偏差控制在±5%RH,光照度的偏差控制在±1lx。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);溫度;濕度;光照度
中圖分類(lèi)號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
溫室大棚是設(shè)備農(nóng)業(yè)的一種形式,國(guó)產(chǎn)溫室每年都在以新增100—150萬(wàn)公頃的面積快速地發(fā)展[1]。溫濕度和光照度是農(nóng)業(yè)溫室生產(chǎn)中非常關(guān)鍵的測(cè)量參數(shù),它們的準(zhǔn)確、及時(shí)測(cè)量將會(huì)對(duì)農(nóng)業(yè)生產(chǎn)和研究帶來(lái)非常大的幫助。溫室環(huán)境測(cè)量技術(shù)運(yùn)用計(jì)算機(jī)輔助系統(tǒng)測(cè)量溫室中的溫度、CO2濃度等環(huán)境因子,以達(dá)到對(duì)溫室內(nèi)環(huán)境的測(cè)控要求[2]。智能溫室的大力推廣,對(duì)于我們運(yùn)用科學(xué)技術(shù)服務(wù)“三農(nóng)”、建設(shè)美麗中國(guó)具有非常重要的意義。
針對(duì)我國(guó)的現(xiàn)代化溫室智能控制水平相對(duì)落后的現(xiàn)狀,結(jié)合某公司的智慧農(nóng)業(yè)項(xiàng)目,我們采用單片機(jī)技術(shù)和虛擬儀器技術(shù)設(shè)計(jì)了該溫室環(huán)境監(jiān)測(cè)系統(tǒng)。由于本系統(tǒng)遵循了操作簡(jiǎn)便、較高可靠性、便于維護(hù)和性?xún)r(jià)比高的設(shè)計(jì)原則,因此對(duì)于實(shí)際應(yīng)用到工農(nóng)業(yè)環(huán)境因子監(jiān)測(cè)方面也會(huì)有優(yōu)異的效果。
2 總體方案設(shè)計(jì)(The overall program design)
本系統(tǒng)的下位機(jī)是由STC89C52RC單片機(jī)系統(tǒng)為控制中心,加上DHT11、DS18B20、BH1750三個(gè)傳感器模塊以及按鍵控制數(shù)碼管顯示和聲光報(bào)警等模塊組成的;上位機(jī)是由美國(guó)國(guó)家儀器(NI)公司的軟件LabVIEW[3]為基礎(chǔ)開(kāi)發(fā)的一個(gè)用戶(hù)圖形接口。要求達(dá)到的技術(shù)指標(biāo):測(cè)溫范圍:0—50℃;測(cè)濕范圍:20%—90%RH;測(cè)光范圍:1—65535lx。
本系統(tǒng)的工作原理是:上電后,STC89C52RC單片機(jī)首先完成初始化工作。然后,系統(tǒng)自動(dòng)采集溫濕度、光照度傳感器數(shù)據(jù),最后通過(guò)單片機(jī)的串行口和RS-232總線(xiàn)通信協(xié)議將采集的數(shù)據(jù)傳送到上位機(jī)顯示、處理,上位機(jī)對(duì)報(bào)警參數(shù)進(jìn)行設(shè)計(jì)并控制相應(yīng)聲光報(bào)警電路報(bào)警,同時(shí)通過(guò)三個(gè)不同按鍵控制相應(yīng)數(shù)碼管顯示。整個(gè)系統(tǒng)采用單總線(xiàn)技術(shù)和I2C總線(xiàn)控制技術(shù),單片機(jī)采用C語(yǔ)言編程,PC機(jī)采用G語(yǔ)言編程。
3 溫室環(huán)境測(cè)量系統(tǒng)的硬件電路設(shè)計(jì)(The
hardware circuit design of greenhouse
environment monitoring system)
3.1 環(huán)境因子采集電路的設(shè)計(jì)
傳感器作為溫室設(shè)備準(zhǔn)確控制的首要條件,它的正確選取是進(jìn)行自動(dòng)控制的關(guān)鍵環(huán)節(jié)。我們根據(jù)本文要求的技術(shù)指標(biāo),選擇具有長(zhǎng)期穩(wěn)定性且性?xún)r(jià)比的數(shù)字式傳感器。
(1)溫度采集電路的設(shè)計(jì)
大部分溫室環(huán)境控制設(shè)備如供熱設(shè)備、遮陽(yáng)布等都與溫度控制相關(guān),因此,溫度測(cè)量是溫室環(huán)境控制的關(guān)鍵。本文選擇達(dá)拉斯公司生產(chǎn)的DS18B20單總線(xiàn)數(shù)字溫度傳感器[4]。DS18B20數(shù)字溫度傳感器體積小、精度高、使用壽命長(zhǎng),適用于本文需要高可靠性的系統(tǒng)。單片機(jī)和DS18B20之間僅需一條連接線(xiàn)(加上地線(xiàn)),可使用單片機(jī)的一般I/O口P2.0。它的測(cè)溫范圍滿(mǎn)足本文0—50℃的測(cè)溫需求。
(2)濕度采集電路的設(shè)計(jì)
為了使?jié)穸葌鞲衅髋c單片機(jī)的通信更加方便,也為了增強(qiáng)系統(tǒng)的抗干擾性能,我們?cè)诖诉x用DHT11數(shù)字溫濕度傳感器[5]測(cè)量本系統(tǒng)的濕度數(shù)據(jù)。DHT11設(shè)置了校準(zhǔn)參數(shù),所以測(cè)得的數(shù)據(jù)十分可靠。它采用單線(xiàn)制串行接口,這樣使得電路的設(shè)計(jì)更加簡(jiǎn)單,并且它的體積超小、功耗極低。DHT11可測(cè)濕范圍為20%—90%RH,測(cè)濕精度為±5%RH,滿(mǎn)足本文測(cè)濕要求。
(3)光照度采集電路的設(shè)計(jì)
在合適的條件下增加光照度,能夠增強(qiáng)高緯度缺光地區(qū)溫室內(nèi)作物的光合作用,提高光照度不足的地區(qū)農(nóng)作物的產(chǎn)量。溫室中主要使用光照度傳感器檢測(cè)棚內(nèi)的光照度,然后采取適當(dāng)?shù)拇胧┰黾踊驕p少光照度。本文采用日本羅姆半導(dǎo)體公司生產(chǎn)的BH1750光強(qiáng)度傳感器。BH1750是一種基于I2C的數(shù)字型光強(qiáng)度傳感器集成電路[6]。它能以較高的探測(cè)分辨率分辨很大的光強(qiáng)度變化區(qū)間(1lx-65535lx),并且接口電路非常簡(jiǎn)單,BH1750只需將SCL和SDA分別接單片機(jī)的P2.2和P2.3即可。如果系統(tǒng)中有多片BH1750相級(jí)聯(lián),則每?jī)善琁C可以并用這兩個(gè)I/O端口,然后其中一片IC的ADDR接低電平,另一片的接高電平即可[7]。
3.2 單片機(jī)的設(shè)計(jì)
本系統(tǒng)采用的STC89C52RC單片機(jī)是宏晶科技推出的新一代高速、低功耗、超強(qiáng)抗干擾的增強(qiáng)型8051單片機(jī)[8],它的時(shí)鐘晶振電路用于產(chǎn)生時(shí)鐘信號(hào),來(lái)控制單片機(jī)內(nèi)部的各種微操作,本文我們?cè)O(shè)計(jì)晶振為11.0592MHz。復(fù)位對(duì)單片機(jī)來(lái)說(shuō),是準(zhǔn)備工作,此時(shí)程序還沒(méi)開(kāi)始執(zhí)行。STC89C52RC單片機(jī)及其連接的晶振電路和復(fù)位電路如圖1所示。
3.3 其他外圍電路的設(shè)計(jì)
(1)按鍵控制電路
單片機(jī)組成的各種硬件電路中,按鍵是最常見(jiàn)的人機(jī)交互輸入方式。本文通過(guò)三個(gè)觸發(fā)式按鍵一對(duì)一的連接單片機(jī)的三個(gè)輸入口,實(shí)現(xiàn)對(duì)溫濕度和光照度數(shù)碼管亮滅一對(duì)一的控制。具體的控制過(guò)程我們需要通過(guò)用C語(yǔ)言編程來(lái)實(shí)現(xiàn)。
(2)MAX7219數(shù)碼管驅(qū)動(dòng)顯示電路
MAX7219是一種集成化的共陰極顯示驅(qū)動(dòng)器,它連接單片機(jī)和7段共陰極數(shù)碼管顯示。MAX7219可以通過(guò)編寫(xiě)控制碼對(duì)數(shù)碼管進(jìn)行亮度控制。另外,本文我們選用三個(gè)四位一體的共陰極數(shù)碼管[9]來(lái)顯示實(shí)時(shí)采集到的溫室內(nèi)的亮度和溫濕度。
(3)聲光報(bào)警電路
聲光報(bào)警電路模塊由蜂鳴器報(bào)警電路和發(fā)光二極管報(bào)警電路兩部分構(gòu)成。當(dāng)室內(nèi)的溫濕度和光照度傳感器測(cè)量的數(shù)據(jù)在正常范圍內(nèi)時(shí),發(fā)光二極管處在熄滅的狀態(tài),蜂鳴器也不會(huì)發(fā)出響聲;但是當(dāng)溫濕度和光照度不在設(shè)定值范圍時(shí),三者對(duì)應(yīng)的發(fā)光二極管會(huì)被點(diǎn)亮,蜂鳴器也會(huì)發(fā)出嘀嘀的聲響,以此來(lái)提醒用戶(hù)采取相關(guān)措施。
4 系統(tǒng)的軟件設(shè)計(jì)(The system software design)
4.1 主程序流程圖和串口處理流程圖
主程序是系統(tǒng)運(yùn)行的總體框架[10],它規(guī)定了單片機(jī)按照怎樣的操作步驟進(jìn)行有序運(yùn)轉(zhuǎn)。串口處理程序表明上位機(jī)與單片機(jī)之間約定好的通信方式,通過(guò)此程序可以實(shí)現(xiàn)上下位機(jī)之間數(shù)據(jù)的互聯(lián)互通。如圖2所示為本系統(tǒng)的主程序流程圖和串口處理流程圖。
communication
4.2 測(cè)量系統(tǒng)程序設(shè)計(jì)
DS18B20通過(guò)單總線(xiàn)協(xié)議跟單片機(jī)進(jìn)行數(shù)據(jù)傳遞。測(cè)溫子程序運(yùn)行時(shí),首先初始化DS18B20,此時(shí)顯示溫度為+85℃,然后對(duì)單片機(jī)進(jìn)行寫(xiě)數(shù)據(jù)操作,在進(jìn)行溫度轉(zhuǎn)換后將溫度數(shù)據(jù)讀出來(lái),最后通過(guò)按鍵控制在相應(yīng)數(shù)碼管上實(shí)時(shí)顯示溫度數(shù)據(jù)。
單片機(jī)通過(guò)單總線(xiàn)協(xié)議對(duì)DHT11進(jìn)行讀寫(xiě)。測(cè)濕程序開(kāi)始后,先延時(shí)180ms,然后將總線(xiàn)拉高40us,主機(jī)設(shè)為輸入模式等待從機(jī)響應(yīng)。當(dāng)從機(jī)變?yōu)榈碗娖綍r(shí),完成數(shù)據(jù)的接收、檢驗(yàn)和處理,然后結(jié)束子程序。
BH1750可以通過(guò)I2C總線(xiàn)協(xié)議跟單片機(jī)進(jìn)行數(shù)據(jù)通信。本文設(shè)定BH1750工作在連續(xù)高分辨率模式,測(cè)量開(kāi)始后,先對(duì)BH1750初始化,然后延時(shí)180ms,接著連續(xù)讀取數(shù)據(jù)并進(jìn)行處理。程序的執(zhí)行嚴(yán)格按照讀寫(xiě)時(shí)序進(jìn)行。
4.3 上位機(jī)程序設(shè)計(jì)
(1)數(shù)據(jù)采集模塊
LabVIEW通過(guò)VISA串口驅(qū)動(dòng)程序與單片機(jī)進(jìn)行通信。將串口設(shè)置成符合系統(tǒng)要求的參數(shù),為了界面的布局將串口通信部分隱藏。系統(tǒng)的通信模式為上位機(jī)為主,下位機(jī)為從。報(bào)警限設(shè)置用于設(shè)置溫濕亮度的上下門(mén)限值,上位機(jī)有三個(gè)報(bào)警控件,默認(rèn)為綠色,報(bào)警時(shí)顯示紅色。當(dāng)從串口接收的數(shù)值超過(guò)設(shè)定的報(bào)警門(mén)限值時(shí),上位機(jī)向單片機(jī)發(fā)送數(shù)據(jù),啟動(dòng)報(bào)警。每路均設(shè)有報(bào)警指示燈,用來(lái)提醒系統(tǒng)管理者注意。數(shù)據(jù)顯示存儲(chǔ)用于提取從串口傳輸?shù)臄?shù)據(jù),并以文本和曲線(xiàn)圖的形式顯示。圖3為上位機(jī)采集圖。
(2)數(shù)據(jù)分析和管理
這兩個(gè)模塊主要應(yīng)用到是LabVIEW中數(shù)據(jù)工具包,利用SQL實(shí)現(xiàn)了與數(shù)據(jù)庫(kù)Access的融合,能完成采集數(shù)據(jù)的存儲(chǔ)、查詢(xún)、刪除和分析。數(shù)據(jù)分析模塊用于對(duì)選擇的日期進(jìn)行分析計(jì)算,得出最大值、最小值、均值和超限次數(shù)。數(shù)據(jù)管理用于查詢(xún)數(shù)據(jù)庫(kù)中的表格:設(shè)定的參數(shù)、溫濕度和光照度數(shù)值,對(duì)這些表格進(jìn)行查詢(xún)、刪除或?qū)С觥?/p>
5 結(jié)論(Conclusion)
經(jīng)實(shí)驗(yàn)驗(yàn)證,基于STC89C52RC單片機(jī)的溫室環(huán)境多功能測(cè)量系統(tǒng)測(cè)量精度高,測(cè)量偏差在要求范圍內(nèi),系統(tǒng)運(yùn)行穩(wěn)定可靠,通過(guò)串口協(xié)議實(shí)現(xiàn)上下位機(jī)間的通信,再加上上下位機(jī)軟件編程能夠?qū)崿F(xiàn)溫室內(nèi)的溫濕度、光照度情況的實(shí)時(shí)就地監(jiān)控和網(wǎng)絡(luò)監(jiān)測(cè)和管理。將此系統(tǒng)應(yīng)用于現(xiàn)代溫室大棚中,對(duì)作物的科學(xué)生產(chǎn)具有很好的使用價(jià)值,并且提高了農(nóng)業(yè)技術(shù)人員的現(xiàn)代化管理水平,具有良好的推廣價(jià)值。
參考文獻(xiàn)(References)
[1] 方玉鑫.基于單片機(jī)的溫濕度控制系統(tǒng)的研究與應(yīng)用[D].哈
爾濱工程大學(xué)碩士學(xué)位論文,2012.
[2] 蘇全義,等.基于PIC單片機(jī)的智能溫室環(huán)境控制系統(tǒng)[J].農(nóng)機(jī)
化研究,2009(12):186-188.
[3] 陳樹(shù)學(xué),劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2012.
[4] DS18B20中英文資料[Z].廣州奧松電子有限公司,2009.
[5] DHT11數(shù)據(jù)手冊(cè)[Z].廣州奧松電子有限公司,2009.
[6] BH1750中文數(shù)據(jù)手冊(cè)[Z].羅姆半導(dǎo)體有限公司,2010.
[7] 王建,毛騰飛,陳英革.基于BH1750芯片的測(cè)光系統(tǒng)設(shè)計(jì)與實(shí)
現(xiàn)[J].常熟理工學(xué)院學(xué)報(bào)(自然科學(xué)),2011(2):117-120.
[8] STC89C52RC單片機(jī)用戶(hù)手冊(cè)[Z].深圳宏晶科技有限公司,
2013.
[9] 郭天祥.新概念51單片機(jī)C語(yǔ)言教程——入門(mén)、提高、開(kāi)發(fā)
[M].北京:電子工業(yè)出版社,2009.
[10] 李星沛.基于Web的溫室遠(yuǎn)程監(jiān)控的設(shè)計(jì)[J].微型機(jī)與應(yīng)用,
2013(19):4-6.
作者簡(jiǎn)介:
張小云(1989-),女,碩士生.研究領(lǐng)域:無(wú)線(xiàn)通信技術(shù).
裴騰達(dá)(1984-),男,本科,助教. 研究領(lǐng)域:無(wú)線(xiàn)通信系統(tǒng).