摘 要: 將組態(tài)王這一通用現(xiàn)場監(jiān)控軟件運用于農(nóng)田環(huán)境監(jiān)測系統(tǒng),為環(huán)境監(jiān)測提供了一個新的解決方案。系統(tǒng)采用模塊化、層次化設(shè)計,下位機以單片機為核心,控制溫濕度信號的采集,并通過RS-232將信號傳送給上位機用于實時顯示。仿真與實驗證實,系統(tǒng)運行穩(wěn)定可靠,信號采集精度高,完全達到了預期指標,具有廣泛推廣應用價值。
關(guān)鍵詞: 組態(tài)王;單片機;溫濕度;傳感器;監(jiān)測系統(tǒng)
我國是世界上人口最多的國家,糧食生產(chǎn)的安全性無疑是至關(guān)重要的。目前,我國工業(yè)化進程不斷加快,能否保證糧食的安全生產(chǎn),將直接影響我國經(jīng)濟能否平穩(wěn)較快的發(fā)展,也直接影響著國家的戰(zhàn)略安全。隨著農(nóng)業(yè)現(xiàn)代化進程的不斷深入,農(nóng)田管理智能化將是農(nóng)業(yè)發(fā)展的主要方向。農(nóng)田智能化管理系統(tǒng)不僅可以大大減少人力物力,更能科學有效地控制農(nóng)作物的生長環(huán)境,保障農(nóng)作物的良好生長,達到糧食安全生產(chǎn)的目的。
對農(nóng)作物生長影響最大的是生長環(huán)境,為了使管理人員更好地掌控農(nóng)田環(huán)境的變化,設(shè)計了一款基于組態(tài)王的農(nóng)田溫濕度監(jiān)測系統(tǒng)。系統(tǒng)將計算機、通信、嵌入式和傳感器等技術(shù)有效地結(jié)合在一起,為農(nóng)田智能化管理系統(tǒng)提供了一個有效的解決方案。該系統(tǒng)通過傳感器采集環(huán)境溫濕度信息,通過微處理器處理以后,再通過RS-232將采集到的信號傳送給計算機,最后通過組態(tài)軟件進行實時監(jiān)測,實現(xiàn)對農(nóng)田環(huán)境的智能監(jiān)測。
1 系統(tǒng)總體設(shè)計
系統(tǒng)在保證測量精度高、監(jiān)測實時性好的基礎(chǔ)上,考慮到價格低廉、結(jié)構(gòu)簡單、易于實現(xiàn)等因素,采用STC89C52單片機作為微處理器,控制信號的采集與傳輸。系統(tǒng)總體框圖如圖1所示。
采集模塊獲取農(nóng)田環(huán)境的溫度和濕度信息,經(jīng)模數(shù)轉(zhuǎn)換后將數(shù)字信號通過串口傳送給單片機[1],單片機對采集來的信號進行三方面的處理:一是傳送給LCD進行現(xiàn)場顯示;二是將信號通過RS-232傳送給計算機主控界面,進行實時顯示;三是控制報警電路。
2 采集模塊設(shè)計
溫濕度采集模塊采用DHT11數(shù)字溫濕度傳感器,DHT11是由一個電阻式感溫原件和一個NTC測溫元件結(jié)合在一起的智能采集模塊,與傳統(tǒng)的單個溫度傳感器DS18B20、濕度傳感器HS1101相比,DHT11工作原理簡單、電路設(shè)計簡潔,省去了諸多電路設(shè)計的麻煩;且內(nèi)部自帶A/D轉(zhuǎn)換模塊,簡化了軟件編程的難度;DHT11在傳輸過程中有自我校驗設(shè)計,幫助用戶減少錯誤數(shù)據(jù)的采集,增加了系統(tǒng)運行的可靠性;另外DHT11體積小、功耗低、信號傳輸距離可達20 m,完全能夠滿足本系統(tǒng)的設(shè)計要求。
DHT11具有4個獨立的引腳,每個引腳具有不同的功能。其中1號引腳接電源,電源的范圍在3.0 V~5.5 V。2號引腳接數(shù)據(jù)口,用于數(shù)據(jù)傳輸。3號引腳懸空。4號引腳接地。DHT11在電路設(shè)計時,電源引腳(VDD,GND)之間可增加一個100 nF的電容,用以去耦濾波。一般數(shù)據(jù)口連接線長度短于20 m時用5 k?贅上拉電阻,大于20 m時則需要根據(jù)實際情況使用合適的上拉電阻[2]。在實際設(shè)計中數(shù)據(jù)口連接線長度遠遠短于20 m,因此選擇5 kΩ上拉電阻。其引腳電路與單片機連接圖如圖2所示。
3 處理模塊設(shè)計
3.1 主處理器
主處理器選用STC89C52單片機,片內(nèi)有8 KB存儲器,能夠滿足系統(tǒng)存儲需要而不需要外加擴展存儲器,簡化了系統(tǒng)硬件電路設(shè)計。它外加一個T2定時器,芯片內(nèi)定時器總數(shù)增加到3個,為該系統(tǒng)的擴展留下空間。中斷源由6個變成8個,增加了外部中斷的可行性[3-4]。同時,STC89C52是一款開發(fā)比較成熟的單片機,在社會生活中得到了廣泛應用。STC89C52價格低廉、操作簡單,并且支持在線下載,給本設(shè)計的軟件仿真帶來了諸多便利。
3.2 LCD顯示
顯示器模塊由1602液晶顯示器及其相配套的驅(qū)動器和偏壓產(chǎn)生電路構(gòu)成??赏瑫r顯示兩行字符。連接時顯示器的BD0~BD7引腳與STC89C52的P0口連接,完成數(shù)據(jù)傳輸,控制引腳RS、RW、E與P1.5、P1.4、P1.2連接,完成讀寫控制。在和單片機連接過程中要注意3號引腳的連接,3號引腳用來控制LCD的明暗度,連接不慎會導致LCD無法顯示。溫濕度LCD顯示結(jié)果如圖3所示。
3.3 報警電路
系統(tǒng)采用蜂鳴報警電路,通過MCS-52的一個I/O口經(jīng)驅(qū)動器驅(qū)動壓電式蜂鳴器發(fā)出轟鳴報警信號。壓電式蜂鳴器約需10 mA的驅(qū)動電流,可以使用TTL系列集成電路7406或7407低電平驅(qū)動,也可以用一個晶體三極管驅(qū)動。P1.3接晶體管基極輸入端。當P1.3輸出低電平“0”時,晶體管導通,壓電蜂鳴器兩端獲得約+5 V電壓而鳴叫;當P1.3輸出高電平“1”時,三極管截止,蜂鳴器停止發(fā)聲。
3.4 外圍電路
(1)晶振電路
單片機工作的時間基準是由時鐘電路提供的,在單片機的XTAL1和XTAL2兩個管腳接一只晶振及兩只電容就構(gòu)成了單片機的時鐘電路,電路中電容器對振蕩頻率有微調(diào)作用。本系統(tǒng)中采用12 MHz的晶振電路。
(2)復位電路
單片機的RST管腳為主機提供了一個外部復位信號輸入口。復位信號是高電平有效,高電平有效的持續(xù)時間為2個機器周期以上。單片機的復位可由手動復位方式完成[5]。
(3)上下限控制按鍵電路
由于89C52的P2口內(nèi)部有上拉電阻,為簡化電路,用按鍵開關(guān)直接接對應引腳P2.0、P2.1、P2.2 、P2.4。當S1沒有按下時,P1.0=1;當S1按下時,P1.0=0。在本系統(tǒng)中S1開關(guān)用于切換溫濕度顯示界面和溫度上下限值設(shè)定界面。當S1按一下時1602液晶顯示器顯示溫度的下限值設(shè)定,通過S3、S4改變其大小。再按一下S1進入上限值設(shè)定,通過S3、S4改變其大小。繼續(xù)按S1回到溫濕度顯示界面,進入濕度上下值設(shè)定。
4 算法設(shè)計
4.1 DHT11信號采集算法
DHT11與單片機傳輸過程中,DATA 用于單片機與 DHT11之間的通信和同步,采用單總線數(shù)據(jù)格式,具體格式在下面說明,當前小數(shù)部分用于以后擴展,現(xiàn)讀出為零。操作流程如下:一次完整的數(shù)據(jù)傳輸為40 bit,高位先出。數(shù)據(jù)格式:8 bit濕度整數(shù)數(shù)據(jù)+8 bit濕度小數(shù)數(shù)據(jù)+8 bit溫度整數(shù)數(shù)據(jù)+8 bit溫度小數(shù)數(shù)據(jù)+8 bit校驗和數(shù)據(jù)。傳送正確時校驗和數(shù)據(jù)等于“8 bit濕度整數(shù)數(shù)據(jù)+8 bit濕度小數(shù)數(shù)據(jù)+8 bti溫度整數(shù)數(shù)據(jù)+8 bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。單片機發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,DHT11發(fā)送響應信號,送出40 bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分數(shù)據(jù)。從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,DHT11不會主動進行溫濕度采集,采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。其具體通信過程說明如下。
總線空閑狀態(tài)為高電平,主機把總線拉低等待DHT11響應,總線拉低時間必須大于18 ms,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結(jié)束,然后發(fā)送80 μs低電平響應信號.主機發(fā)送開始信號結(jié)束后,延時等待20 μs~40 μs后, 讀取DHT11的響應信號,主機發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。
總線為低電平,說明DHT11發(fā)送響應信號,DHT11發(fā)送響應信號后,再把總線拉高80 μs,準備發(fā)送數(shù)據(jù),每1 bit數(shù)據(jù)都以50 μs低電平時隙開始,高電平的長短決定了數(shù)據(jù)位是0還是1。如果讀取響應信號為高電平,則DHT11沒有響應,需檢查線路是否連接正常。當最后1 bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50 ?滋s,隨后總線由上拉電阻拉高進入空閑狀態(tài)[6]。其溫、濕度讀取軟件流程圖如圖4所示。
4.2 信號處理算法設(shè)計
處理模塊由STC89C52單片機、LCD1602、按鍵電路、報警電路、復位時鐘電路組成,其中STC89C52單片機在該模塊中發(fā)揮著重要作用,在本設(shè)計中絕大多數(shù)工作都由它來完成,包括數(shù)據(jù)讀取、數(shù)據(jù)顯示、數(shù)據(jù)處理、數(shù)據(jù)發(fā)送、報警控制等。通過對單片機程序的編譯,系統(tǒng)把各個小模塊有效地結(jié)合在一起,統(tǒng)一工作。單片機在工作時首先進行系統(tǒng)初始化,初始化結(jié)束后調(diào)用讀取溫濕度子程序從DHT11中把溫度和濕度讀入單片機。在單片機中先調(diào)用LCD顯示子程序,使LCD顯示采集到的數(shù)據(jù)。同時判斷是否需要改變上下值,如果需要則調(diào)用上下值設(shè)定子程序并回到調(diào)用讀取溫濕度子程序的位置,如果不需要則繼續(xù)向下判斷是否報警,需要則調(diào)用報警子程序,不需要則繼續(xù)向下調(diào)用發(fā)送程序,延時2 s后程序回到調(diào)用溫濕度讀取子程序的位置。處理模塊的軟件流程圖如圖5所示。
5 主控界面設(shè)計
組態(tài)王軟件是一款通用的工業(yè)監(jiān)控軟件,它融過程控制設(shè)計、現(xiàn)場操作以及工廠資源管理于一體,將一個企業(yè)內(nèi)部的各種生產(chǎn)系統(tǒng)和應用以及信息交流匯集在一起,實現(xiàn)最優(yōu)化管理。組態(tài)王與單片機有直接的通信協(xié)議,給本設(shè)計的完成帶來了極大的便利。
主控界面由數(shù)字輸出和曲線圖兩部分組成。數(shù)字輸出可顯示當前農(nóng)田環(huán)境的溫度和濕度,曲線圖則用來觀察溫度和濕度的變化。曲線圖可設(shè)定為每隔1 h采集一次,通過曲線圖可以直觀地觀察到溫度和濕度的變化情況,為制定有效的農(nóng)田管理方案提供依據(jù)(為便于觀察,這里的曲線圖是1 s采集一次) 。主控界面如圖6所示。
系統(tǒng)采用模塊化、層次化設(shè)計。單片機與監(jiān)控計算機之間采用RS-232總線通信標準,用簡單、高效的通信電路實現(xiàn)監(jiān)控數(shù)據(jù)的讀取。通過組態(tài)王實現(xiàn)監(jiān)控信息的采集和實時顯示,完成農(nóng)田環(huán)境溫濕度參數(shù)的監(jiān)測。同時組態(tài)王軟件得到的數(shù)據(jù),供有關(guān)人員瀏覽、查詢和進行控制,滿足了系統(tǒng)監(jiān)測的要求。
通過仿真與調(diào)試,完全實現(xiàn)了系統(tǒng)的預期功能。系統(tǒng)可實現(xiàn)對農(nóng)田環(huán)境溫濕度全面、實時、自動的監(jiān)控,及時發(fā)現(xiàn)問題,采取有效防護措施,減少不利于農(nóng)作物生長的災害發(fā)生。系統(tǒng)結(jié)構(gòu)簡單、價格低廉,但又不失測量精度高、監(jiān)控實時性好、工作穩(wěn)定性強等特點,對農(nóng)田環(huán)境監(jiān)測以及其他現(xiàn)場環(huán)境監(jiān)測提供了一個比較有價值的解決方案,也可以融入到環(huán)境綜合監(jiān)控系統(tǒng)中發(fā)揮作用,具有廣泛的應用價值。
參考文獻
[1] 王琪,蔣樂平.基于PSoC的飛艇艇內(nèi)溫度采集系統(tǒng)設(shè)計[J].電子技術(shù)應用,2012,38(1):41-47.
[2] 濟南聯(lián)誠創(chuàng)發(fā)科技有限公司.DHT11規(guī)格書[A].2011.
[3] 李建忠.單片機原理及應用(第2版)[M].西安:西安電子科學大學出版社,2008.
[4] 吳煒.基于8031單片機的倉庫溫度與濕度自動測試儀設(shè)計[J].南通航運職業(yè)技術(shù)學院學報,2009(4):66-68.
[5] 李江華.基于MCS_51單片機安防系統(tǒng)監(jiān)控主機的設(shè)計與實現(xiàn)[D].長沙:國防科學技術(shù)大學,2007.
[6] 張洪潤,孫悅,張亞凡.傳感器技術(shù)與應用教程[M].北京:清華大學出版社,2009.