劉鵬娟,任宇雙
(阿壩師范學(xué)院,四川 阿壩 623002)
溫度、濕度和光照度與人類的日常活動(dòng)有著不可分隔的聯(lián)系[1]。在農(nóng)業(yè)方面,環(huán)境參數(shù)的測(cè)控直接影響到農(nóng)產(chǎn)品的質(zhì)量與產(chǎn)量。所以,研發(fā)一種擁有準(zhǔn)確、快速的測(cè)控系統(tǒng)受到各方的重視。傳統(tǒng)的控制是由人工利用干濕表對(duì)環(huán)境數(shù)據(jù)進(jìn)行記錄,再通過控制遮陽網(wǎng)、加濕器等對(duì)不符合要求的環(huán)境進(jìn)行修正[2]。由于這樣做成本高且管理不便,已經(jīng)不能滿足系統(tǒng)信息化的要求。針對(duì)傳統(tǒng)控制的缺點(diǎn),對(duì)基于花房的溫度、濕度和光照的控制系統(tǒng)展開研究,筆者設(shè)計(jì)了一種能為用戶提供實(shí)時(shí)數(shù)據(jù)并在進(jìn)一步分析處理后控制調(diào)節(jié)機(jī)構(gòu)使環(huán)境處于適宜條件下的控制系統(tǒng)。
基于花房的溫度濕度光照控制系統(tǒng)設(shè)計(jì),主要是以STC89C52單片機(jī)為核心,利用溫濕度傳感器DHT11和光敏電阻采集環(huán)境參數(shù),然后將數(shù)據(jù)實(shí)時(shí)顯示在LCD1602液晶屏上。利用按鍵設(shè)置環(huán)境參數(shù)上下限值,若超出范圍,將進(jìn)行聲光報(bào)警。同時(shí)利用VB軟件在PC端編寫上位機(jī),通過CH340將下位機(jī)數(shù)據(jù)傳送至上位機(jī)進(jìn)行顯示、曲線繪制、超限報(bào)警判斷等。實(shí)現(xiàn)在PC端的實(shí)時(shí)監(jiān)測(cè)控制。當(dāng)花房實(shí)際測(cè)量值不滿足設(shè)定值時(shí),單片機(jī)驅(qū)動(dòng)繼電器打開執(zhí)行機(jī)構(gòu)對(duì)環(huán)境做出修正。
由于此次的設(shè)計(jì)需要實(shí)現(xiàn)的功能簡(jiǎn)單,STC89C52數(shù)據(jù)存儲(chǔ)空間足夠,數(shù)據(jù)處理也比較容易[3]。在89C52單片機(jī)中,單片機(jī)接收到來自傳感器的信號(hào),處理后由 P0口傳送數(shù)據(jù)至LCD1602液晶屏顯示。最小系統(tǒng)電路如圖1所示。
圖1 單片機(jī)最小系統(tǒng)電路
此設(shè)計(jì)的LCD1602液晶屏顯示電路由LCD1602芯片和電阻兩部分組成。LCD1602第1腳接GND,第2腳接VCC為電源輸入腳。第3腳通過一個(gè)2K的電阻連接到地端。第4腳接P1.4腳。第5腳接P1.5腳。第6腳接P1.6腳上。第7腳到第14腳接P0口上。第15腳連接VCC,第16腳連接GND[4]。液晶顯示屏的電路圖如圖2所示。
圖2 LCD1602液晶顯示屏的顯示電路
2.3.1 溫濕度檢測(cè)電路
此設(shè)計(jì)的溫濕度檢測(cè)電路由DHT11和電阻組成。單片機(jī)的P3.7口用來發(fā)收串行數(shù)據(jù)。連接傳感器的Pin2(DATA)口。在傳感器的Pin2(DATA)口與Pin1(VCC)口之間連接一個(gè)5K電阻,Pin1接VCC,Pin4接GND,Pin3懸空[5]。電路圖如圖3所示。
圖3 溫度濕度檢測(cè)電路
2.3.2 溫濕度檢測(cè)電路
本設(shè)計(jì)的光照度檢測(cè)電路由ADC0832、光敏電阻、電阻組成。光敏電阻隨著光照的強(qiáng)度變化,輸出電壓信號(hào)高低變化送到AD轉(zhuǎn)換電路,經(jīng)過模數(shù)轉(zhuǎn)換后將數(shù)字信號(hào)通過Pin5、Pin6傳送數(shù)據(jù)到單片機(jī)進(jìn)行處理[6]。電路圖如圖4所示。
圖4 光照檢測(cè)電路
電路圖如圖5所示。
圖5 按鍵電路
此設(shè)計(jì)的按鍵電路由3個(gè)按鍵組成,分別為KEY1,KEY2,KEY3。通過按鍵(設(shè)置、加和減)可以完成溫濕度光照度的參數(shù)設(shè)置。短按(3 s)設(shè)置鍵——切換設(shè)置項(xiàng)目設(shè)置參數(shù)上下限;長按(3 s)設(shè)置鍵——可以實(shí)現(xiàn)退出設(shè)置功能[7]。
此設(shè)計(jì)的繼電器控制電路由繼電器、PNP三極管、發(fā)光二極管、接線柱、電阻組成[8]。單片機(jī)的P2口接繼電器模塊,當(dāng)三極管導(dǎo)通時(shí)(三極管b極接收低電平信號(hào)),相應(yīng)的模塊開始工作,LED被點(diǎn)亮進(jìn)行提示。電路圖如圖6所示。
圖6 繼電器控制電路
此設(shè)計(jì)的報(bào)警顯示電路由PNP三極管、蜂鳴器、發(fā)光二極管、電阻組成[9]。當(dāng)三極管導(dǎo)通時(shí)(三極管b極接收低電平信號(hào)),LED被點(diǎn)亮、蜂鳴器發(fā)聲。反之(三極管b極接收高電平信號(hào)),發(fā)光二極管、蜂鳴器停止工作。報(bào)警電路圖如圖7所示。
圖7 報(bào)警電路
本設(shè)計(jì)的電源和串口電路開關(guān)、接線柱組成。
由于本設(shè)計(jì)采用的是USB轉(zhuǎn)TTL模塊,該模塊本身就提供了5 V電源,所以把電源開關(guān)并入這個(gè)模塊,串口接口使用的是4Pin排針,通過杜邦線連線到USB轉(zhuǎn)TTL模塊[10]。電路圖如圖8所示。
圖8 電源和串口電路
下位機(jī)程序流程圖如圖9所示。
圖9 下位機(jī)程序流程圖
程序最開始先進(jìn)行液晶和串口的初始化配置,然后就進(jìn)入一個(gè)循環(huán)體繼續(xù)執(zhí)行代碼。進(jìn)入循環(huán)體的第一個(gè)任務(wù)是判斷是否按鍵進(jìn)入?yún)?shù)設(shè)置;第二個(gè)任務(wù)是讀取溫度濕度光照值,把測(cè)量結(jié)果更新到液晶顯示;第三個(gè)任務(wù)是判斷把測(cè)量結(jié)果與設(shè)定值大小,執(zhí)行不同指令[11-12]。
在打開操作界面以后,主窗口進(jìn)行等待,當(dāng)前頁面可以實(shí)時(shí)監(jiān)測(cè)溫度濕度光照,修改環(huán)境參數(shù)設(shè)置并且進(jìn)行超限提醒。每隔一秒鐘下位機(jī)通過傳感器采集數(shù)據(jù)并運(yùn)輸?shù)絾纹瑱C(jī)進(jìn)行處理,達(dá)到實(shí)時(shí)顯示的效果。操作流程圖如圖10所示。
圖10 上位機(jī)操作流程圖
硬件接線圖如圖11所示,首先將USB插入電腦接口(查看是哪個(gè)com口,例如com4),之后按下開關(guān)鍵,啟動(dòng)整個(gè)系統(tǒng),再將PC端.exe文件打開,將上位機(jī)與下位機(jī)相連,可顯示實(shí)時(shí)數(shù)據(jù)。長按第一個(gè)按鍵(模式選擇鍵) 進(jìn)入設(shè)置界面;短按第二個(gè)按鍵(加鍵)第三個(gè)按鍵(減鍵)對(duì)上下限值進(jìn)行修改;修改完成后長按第一個(gè)按鍵(模式選擇鍵) 退出設(shè)置界面。
圖11 硬件接線圖
LCD1602顯示圖如圖12所示,修改設(shè)置圖如圖13所示,其中ight表示光照強(qiáng)度,T表示溫度,H表示濕度。
圖12 LCD1602顯示圖
圖13 修改設(shè)置圖
當(dāng)檢測(cè)值不在預(yù)設(shè)值范圍內(nèi),實(shí)現(xiàn)自動(dòng)控制調(diào)節(jié)。例如當(dāng)光照度超過上限時(shí),聲光報(bào)警電路報(bào)警(LED-YELLOW點(diǎn)亮),啟動(dòng)遮光部分燈光報(bào)警(LED-RAD點(diǎn)亮),繼電器打開遮光網(wǎng)運(yùn)行(LED-GREEN點(diǎn)亮模擬繼電器啟動(dòng))。
在安裝了上位機(jī)的計(jì)算機(jī)上進(jìn)行測(cè)試,在下位機(jī)的連接方面:首先設(shè)置串口號(hào),配置完成后,燈顯示為綠色,表示下位機(jī)已經(jīng)連接成功。上位機(jī)的左下角報(bào)警值設(shè)置,圖14上位機(jī)顯示圖中的左下角方框內(nèi)的值可以隨時(shí)更改,完成后點(diǎn)擊設(shè)置按鈕,完成設(shè)置??吹角€有顯示、溫度濕度光照有顯示即為正常使用情況。
圖14 上位機(jī)顯示圖
硬件電路測(cè)試完成后,對(duì)數(shù)據(jù)進(jìn)行整理,用溫濕度、光照儀顯示的值作為真實(shí)值(A0),LCD1602顯示的值為測(cè)量值(A1),對(duì)兩者數(shù)據(jù)進(jìn)行觀察、記錄、統(tǒng)計(jì)和分析。
下面對(duì)兩者顯示的各個(gè)組別的數(shù)據(jù)比值(a=A1/A0)、相對(duì)誤差(r=ΔA/A0),數(shù)據(jù)記錄如表1~3所列。
表1 溫度結(jié)果記錄表
由表1統(tǒng)計(jì)可得溫度平均相對(duì)誤差如式(1)所示:
ACU1=(0.056 604+0.006 289+0.003 559+
0.002 268+0.004 149)/5
=0.014 573 2
(1)
由表2統(tǒng)計(jì)可得濕度平均相對(duì)誤差如式(2):
表2 濕度結(jié)果記錄表
ACU2=(0.004 525+0.008 264+0.001 757+
0.011 730+0.003 322)/5
=0.005 919 6
(2)
由表3統(tǒng)計(jì)可得光照度平均相對(duì)誤差如式(3):
表3 光照度結(jié)果記錄表
ACU3=(0.016 394+0.018 405+0.009 217+
0.003 068+0.001 362)/5
=0.009 689 2
(3)
從結(jié)果中發(fā)現(xiàn)系統(tǒng)運(yùn)行良好,達(dá)到了設(shè)計(jì)的目的??梢钥吹缴衔粰C(jī)顯示數(shù)據(jù)情況良好,能實(shí)時(shí)顯示、設(shè)置、提示。
采用一定硬件設(shè)計(jì)及Visual Basic編程工具,完成了了溫度濕度光照的控制系統(tǒng)設(shè)計(jì),測(cè)試后得出以下結(jié)果:
(1) 采用的上下位機(jī)設(shè)計(jì)后,不僅能在現(xiàn)場(chǎng)看到實(shí)時(shí)的環(huán)境參數(shù)數(shù)據(jù),還能遠(yuǎn)程處理數(shù)據(jù)。實(shí)現(xiàn)了實(shí)時(shí)監(jiān)測(cè)、控制。
(2) 上位機(jī)實(shí)時(shí)采樣后計(jì)算機(jī)進(jìn)行處理,能看到相應(yīng)的讀數(shù)與走勢(shì)圖,大大的減少了人工讀數(shù)的誤差。該設(shè)計(jì)主要是將現(xiàn)場(chǎng)測(cè)控與遠(yuǎn)程測(cè)控相結(jié)合,將得到的實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)化為圖像進(jìn)行分析和自動(dòng)控制,在減少人為工作量的同時(shí),又極大的提高了系統(tǒng)工作效率,該系統(tǒng)具有智能、便捷易操控的特點(diǎn)。