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