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