農(nóng)業(yè)大棚智能檢測(cè)環(huán)境系統(tǒng)
摘要:介紹了以STC89C52單片機(jī)為核心的光照和溫度控制系統(tǒng)的工作原理和設(shè)計(jì)方法。系統(tǒng)由TSL2561光傳感器和DS18B20溫度傳感器采集數(shù)據(jù)傳輸給控制器,通過(guò)外圍設(shè)備LCM12864顯示現(xiàn)場(chǎng)光照度和溫度值,并設(shè)計(jì)上位機(jī)程序,通過(guò)串口通信實(shí)時(shí)獲取光照度和溫度,所采集的數(shù)據(jù)放入到Access數(shù)據(jù)庫(kù)當(dāng)中,然后從數(shù)據(jù)庫(kù)讀出光照度和溫度的值,通過(guò)曲線顯示到PC機(jī)上,進(jìn)行實(shí)時(shí)曲線監(jiān)控。同時(shí),系統(tǒng)具有溫度和光強(qiáng)報(bào)警功能。
關(guān)鍵詞:STC89C52;VC++;Access;照度和溫度控制系統(tǒng);DS18B20;TSL2561
0 引言
隨著科學(xué)技術(shù)的不斷發(fā)展,人們的生產(chǎn)對(duì)周圍環(huán)境的要求也越來(lái)越高,比如農(nóng)作物大棚、工廠以及一些大型機(jī)械設(shè)備,都需要實(shí)時(shí)掌握工作條件的溫度、光照等。傳統(tǒng)的人工測(cè)量方法浪費(fèi)人力物力,效率低,安全性差。隨著單片微型機(jī)技術(shù)的發(fā)展,人們已越來(lái)越多地采用單片機(jī)對(duì)一些工業(yè)控制系統(tǒng)參數(shù)進(jìn)行檢測(cè)和控制。與此同時(shí),PC機(jī)具有強(qiáng)大的監(jiān)控和管理功能,而單片機(jī)則具有簡(jiǎn)潔、靈活、快速的控制特點(diǎn)。通過(guò)PC機(jī)的RS 232串行接口與外部設(shè)備進(jìn)行通信,是現(xiàn)在測(cè)控中常用的一種通信解決方案,所以PC機(jī)與單片機(jī)之間的通信具有非常重要的現(xiàn)實(shí)意義。
1 系統(tǒng)硬件總體設(shè)計(jì)
系統(tǒng)總體設(shè)計(jì)是基于上位機(jī)利用串口通信與單片機(jī)環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì),由上位機(jī)、通信接口和下位機(jī)三部分組成。微控制器采用STC89 C52;光傳感器采用TSL2561;溫度傳感器采用DALLAS公司生產(chǎn)的DS18B20。單片機(jī)將傳感器采集到的數(shù)據(jù)通過(guò)串口通信方式傳輸給PC機(jī),PC機(jī)將獲得的數(shù)據(jù)實(shí)時(shí)顯示在監(jiān)控畫面中,同時(shí)實(shí)時(shí)顯示溫度曲線和光照曲線。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
1.1 控制模塊功能
主控板采用一片STC89C52作為控制器。STC89C52是一個(gè)高性能CMOS 8位單片機(jī),片內(nèi)含8 KB可反復(fù)擦寫的FLASH ROM和256 B的RAM。
STC89C52性能優(yōu)越且成本低,非常適合應(yīng)用于本系統(tǒng)。核心控制模塊STC89C52的主要功能是負(fù)責(zé)將傳感器所采集的數(shù)據(jù)進(jìn)行處理,通過(guò)RS 232串口通信接口傳輸?shù)缴衔粰C(jī),同時(shí),將數(shù)據(jù)實(shí)時(shí)顯示到LCM12864液晶屏上。當(dāng)自動(dòng)判斷所采集到的數(shù)據(jù)高于設(shè)定數(shù)值時(shí),立即啟動(dòng)相關(guān)的蜂鳴器,完成報(bào)警功能。
1.2 串口通信模塊
該模塊采用RS 232,它是美國(guó)電子工業(yè)協(xié)會(huì)EIA(Electronic Industry Association)制定的一種串行物理接口標(biāo)準(zhǔn),采用異步傳輸方式,其特點(diǎn)是使用簡(jiǎn)單,價(jià)格低廉。它將單片機(jī)采集到的數(shù)據(jù)傳送到上位機(jī)中,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。
1.3 光采集模塊
TSL2561是TAOS公司推出的一種高速、低功耗、寬量程、可編程、靈活配置的光強(qiáng)度數(shù)字轉(zhuǎn)換芯片,它是光一數(shù)字轉(zhuǎn)換器,單片機(jī)通過(guò)I2C總線從TSL2561內(nèi)部獲得CH0和CH1通道的數(shù)值,通過(guò)軟件計(jì)算,將所采集到的數(shù)字信號(hào)轉(zhuǎn)換為lux的光學(xué)單位,最后將光強(qiáng)轉(zhuǎn)換成數(shù)字信號(hào)輸出。光強(qiáng)算法如下:
1.4 溫度采集模塊
DS18B20是數(shù)字溫度傳感器,它提供9位二進(jìn)制溫度讀數(shù),其為單線結(jié)構(gòu),信息經(jīng)由單線接口送入DS18B20或輸出DS18B20。在該設(shè)計(jì)中,可以自行設(shè)置高溫警報(bào)數(shù)值上限,當(dāng)溫度高于設(shè)定值時(shí),則啟動(dòng)蜂鳴器,提示采取相應(yīng)的措施。
1.5 顯示模塊
該顯示模塊采用LCM12864液晶顯示,其模塊內(nèi)置字庫(kù),鏈接方便,顯示質(zhì)量高,且成本低。它主要顯示系統(tǒng)光強(qiáng)信息和溫度信息的采集,以及定時(shí)器計(jì)數(shù)值,以便系統(tǒng)的整體調(diào)試和現(xiàn)場(chǎng)觀看。
1.6 串口軟件模塊
在VC 6.0下,采用其自帶的MSComm控件,可以實(shí)現(xiàn)單片機(jī)與PC機(jī)的串口通信,利用RS 232實(shí)現(xiàn)數(shù)據(jù)的接收。在此,選擇com1口,波特率為9 600 b/s,以二進(jìn)制方式檢取數(shù)據(jù),主要代碼如下:
1.7 數(shù)據(jù)存儲(chǔ)模塊
在完成數(shù)據(jù)接收之后,就要將數(shù)據(jù)存儲(chǔ)到Access數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)中的變量與接收的數(shù)據(jù)完全對(duì)應(yīng)。在Access 2000中創(chuàng)建數(shù)據(jù)庫(kù)bia o.Mdb,添加對(duì)ODBC數(shù)據(jù)庫(kù)的支持,在項(xiàng)目stdafx.h文件中添#include<afxdb.h>,完成ODBC類的加入。采用ODBC訪問(wèn)Access 2000數(shù)據(jù)庫(kù),存儲(chǔ)速度快,內(nèi)存消耗少,操作簡(jiǎn)單。
1.8 上位機(jī)數(shù)據(jù)讀取和曲線顯示模塊
通過(guò)軟件VC 6.0編程,將采集到的數(shù)據(jù)在PC機(jī)上進(jìn)行曲線顯示。本模塊采用VC 6.0自帶的teechart8控件編寫,此控件具有很好的繪制實(shí)時(shí)曲線功能,操作簡(jiǎn)單。上位機(jī)檢測(cè)界面如圖2所示。
2 系統(tǒng)軟件設(shè)計(jì)
該設(shè)計(jì)中單片機(jī)部分采用模塊化設(shè)計(jì),通過(guò)Keil公司開發(fā)的μVision 4編譯器用C語(yǔ)言編寫,主要包括光強(qiáng)采集、溫度采集、液晶顯示,以及串口發(fā)送模塊程序。上位機(jī)部分在VC 6.0環(huán)境下,通過(guò)VC++語(yǔ)言進(jìn)行編寫,其中包括串口通信、數(shù)據(jù)庫(kù)保存和曲線繪制模塊。上、下位機(jī)主程序流程圖如圖3、圖4所示。
3 結(jié)語(yǔ)
本文基于STC89C52,在VC 6.0的環(huán)境下提供了一種農(nóng)業(yè)大棚光照與溫度檢測(cè)系統(tǒng)。其光傳感器TSL2561和溫度傳感器DS18B20均是高精度測(cè)量傳感器,是一個(gè)具有高精度、遠(yuǎn)程監(jiān)控的檢測(cè)系統(tǒng)。上位機(jī)界面為友好的動(dòng)態(tài)曲線觀測(cè),可供用戶方便地查看和記錄數(shù)據(jù)。同時(shí),本設(shè)計(jì)的下位機(jī)還可以實(shí)現(xiàn)多點(diǎn)測(cè)控,具有很強(qiáng)的擴(kuò)展能力,性價(jià)比高,實(shí)用性強(qiáng)。