基于RS-485總線的溫室環(huán)境數(shù)據(jù)采集系統(tǒng)的研究
植物生長(zhǎng)需要一個(gè)適宜的環(huán)境,在可控環(huán)境下,可以不分季節(jié)、不分地區(qū)地種植所需要的植物。溫室作為植物生長(zhǎng)的環(huán)境,其內(nèi)部的因子(如溫度、濕度、光照度和CO2濃度等)是植物生長(zhǎng)的關(guān)鍵因素。所以,對(duì)溫室環(huán)境因子進(jìn)行數(shù)據(jù)采集,不僅可以為分析環(huán)境與植物生長(zhǎng)之間的關(guān)系提供依據(jù),而且為實(shí)現(xiàn)溫室環(huán)境控制奠定基礎(chǔ)。
本文引用地址:http://cafeforensic.com/article/201610/308662.htm在規(guī)模生產(chǎn)中,一般使用多座溫室,溫室之間在空間上相對(duì)分散,且與計(jì)算機(jī)監(jiān)控室也存在一段距離,信號(hào)傳輸距離長(zhǎng)達(dá)幾十米甚至上千米,分布在現(xiàn)場(chǎng)的監(jiān)測(cè)節(jié)點(diǎn)與操作人員之間有大量的數(shù)據(jù)傳輸,采用一般的傳輸線通信由于速度比較慢、通信質(zhì)量不高、抗干擾能力差,往往達(dá)不到要求。
在這種情況下,采用串行總線技術(shù)來(lái)構(gòu)成溫室環(huán)境遠(yuǎn)程數(shù)據(jù)采集系統(tǒng),是一種較好的技術(shù)。RS-485總線技術(shù)比較簡(jiǎn)單、總線結(jié)構(gòu)穩(wěn)定、成熟易于實(shí)現(xiàn),且總線傳輸速率高、傳輸距離遠(yuǎn)、可靠性較好、支持多點(diǎn)通信等優(yōu)點(diǎn)。所以本文介紹采用RS-485構(gòu)成溫室環(huán)境數(shù)據(jù)采集系統(tǒng)。系統(tǒng)主要用于溫室內(nèi)的溫度、濕度、光照度和CO2濃度等環(huán)境因子的自動(dòng)采集,對(duì)溫室的異常情況進(jìn)行故障初發(fā)期的報(bào)警處理,為控制植物生長(zhǎng)環(huán)境所需的溫度、濕度、光照度和CO2濃度奠定基礎(chǔ)。
1 系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
溫室環(huán)境遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的網(wǎng)絡(luò)拓?fù)洳捎?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/RS-485">RS-485總線方式,系統(tǒng)以PC機(jī)為主機(jī),以RM417模塊為從機(jī),二者通過(guò)RS-232/RS-485接口轉(zhuǎn)換器連接,系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
系統(tǒng)采用主從方式進(jìn)行多機(jī)通信,每個(gè)從機(jī)擁有自己固定的地址,由主機(jī)控制完成網(wǎng)上的每一次通信。網(wǎng)絡(luò)的連接線采用雙屏蔽線,圖1中的R為平衡電阻,R=120 Ω,通信波特率為9 600 bit/s,串行數(shù)據(jù)格式為:1位起始位,8位數(shù)據(jù)位和1位停止位,無(wú)奇偶校驗(yàn)位。
主機(jī)呼叫某一從機(jī)時(shí),會(huì)向網(wǎng)上發(fā)出從機(jī)的地址,所有從機(jī)接收到該地址,先與自己的地址比較,如果地址相符,說(shuō)明主機(jī)在呼叫自己,則將采集到的溫度、濕度、光照度和CO2濃度數(shù)據(jù)發(fā)送到網(wǎng)上,如果地址不相符,則不予理睬,繼續(xù)處于監(jiān)聽(tīng)狀態(tài)。通信結(jié)束后,所有從機(jī)繼續(xù)處于監(jiān)聽(tīng)和等待呼叫狀態(tài)。
2 系統(tǒng)硬件
2.1 傳感器
1)溫、濕度傳感變送器
本系統(tǒng)的室內(nèi)外溫、濕度傳感變送器選用E+E公司的產(chǎn)品HCT01,溫度測(cè)量范圍:-25~60℃,精度±0.2攝氏度,相對(duì)濕度測(cè)量范圍:0~100%RH,精度±2.5%RH,輸出信號(hào):4~20 mA。HCT01溫濕度傳感器接口電路如圖2所示。在串行時(shí)鐘輸入SCK于單片機(jī)的P0.4口連接,用于處理微處理器與傳感器之間的同步通信,串行數(shù)據(jù)線DATA與單片機(jī)P0.5口連接,用于讀取數(shù)據(jù),微處理器應(yīng)驅(qū)動(dòng)DATA在低電平,采用一個(gè)4.7 kΩ的上拉電阻將信號(hào)拉至高電平。
2)CO2傳感變送器
從精度、可靠性和使用方便等方面考慮,本系統(tǒng)選用VAISALA公司的GMW22D紅外式CO2傳感變送器,測(cè)量范圍:0~2 000x10-6,精度:小于±20x10-6+讀數(shù)的1.5%,重復(fù)性:小于±20x10-6,穩(wěn)定性:小于±20x10-6/5年,輸出信號(hào):0~20mA。CO2傳感器接口電路如圖3所示,電源線采用12 V電源輸入,由于單片機(jī)P1口具有A/D轉(zhuǎn)換功能,將數(shù)據(jù)口與單片機(jī)的P1.1口連接即可,微處理器處理的DATA應(yīng)在高電平,所以電路中接10K的下拉電阻將數(shù)據(jù)口拉至低電平。
3)光照傳感變送器
光照傳感變送器選用NHZD10CI,將光照強(qiáng)度轉(zhuǎn)換為電流信號(hào),測(cè)量范圍:0~2 000 Klx,輸出信號(hào)4~20 mA,再經(jīng)運(yùn)算放大器轉(zhuǎn)換為電壓信號(hào)輸出。電流電壓轉(zhuǎn)換電路如圖4所示。流過(guò)反饋電阻Rf的電流等于(UO-UN)/Rf,與UN/R1+(UN-Uf)/R5相等。由此可得輸出電壓UO=(1+Rf/R1+Rf/R5)*UN-(R4/R5)/Uf,由于集成運(yùn)放滿(mǎn)足虛短,即UN=UP= Ii*s4,用UP代替UO表達(dá)式中的UN,若R4=200 Ω,R1=18 kΩ,則UO=0.313*Ii-1.250,當(dāng)輸入為4~20 mA電流信號(hào)時(shí),輸出為0~5 V電壓信號(hào)。
2.2 RS-232/RS-485接口轉(zhuǎn)換器
本系統(tǒng)采用無(wú)源RS232/RS485轉(zhuǎn)換器,能夠?qū)S-232串行口的TXD和RXD信號(hào)轉(zhuǎn)換成平衡的半雙工的RS-485信號(hào)。232電平轉(zhuǎn)換電路選擇使用HIN232芯片,485電路采用MAX485集成電路,該芯片通過(guò)RE和DE兩個(gè)引腳來(lái)控制數(shù)據(jù)的輸入和輸出。轉(zhuǎn)換電路如5所示,在本電路使用TX線和HIN232的9腳及Q5來(lái)控制MAX485的狀態(tài)切換。當(dāng)N1H232芯片的9腳輸出高電平時(shí),加在Q5的基極,經(jīng)過(guò)Q5反相后,從Q5的集電極輸出低電平,使MAX485的RE和DE也為低電平,此時(shí)MAX485就處于數(shù)據(jù)接收狀態(tài)。當(dāng)PC機(jī)發(fā)送數(shù)據(jù)時(shí),NIH232的9腳輸出低電平,加在Q5的基極,經(jīng)過(guò)Q5反相后,從Q5的集電極輸出高電平,使MAX485的RE和DE也為高電平,此時(shí)MAX485就處于數(shù)據(jù)發(fā)送狀態(tài)。
2.3 繼電器控制電路
繼電器控制電路見(jiàn)圖6所示,采用SRD-05VDC-SL-C固態(tài)繼電器,三極管組成共集電極放大電路,二極管D2起保護(hù)作用,由單片機(jī)P3.6口產(chǎn)生繼電器觸發(fā)信號(hào),當(dāng)P3.6口輸出低電平時(shí),繼電器閉合,指示燈亮,外接電器開(kāi)始工作。當(dāng)P3.6口輸出高電平時(shí),繼電器斷開(kāi),指示燈滅,外接電器停止工作。
2.4 前端數(shù)據(jù)采集器
前端數(shù)據(jù)采集器為中泰研創(chuàng)公司生產(chǎn)的RM417遠(yuǎn)端模擬量采集模塊,該模塊為16路模擬量輸入,12位A/D轉(zhuǎn)換。一條485總線最多可以接16個(gè)RM模塊,每個(gè)RM417有16位通道。該模塊讀指令格式為:@+站號(hào)+R。@是指令標(biāo)示符;站號(hào)也叫模塊號(hào)或者模塊地址,從00~15;R指明操作類(lèi)型為讀操作。指令返回?cái)?shù)據(jù)總共66位,前64位為16位通道上的數(shù)據(jù),最后兩位為校驗(yàn)碼。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 主機(jī)軟件結(jié)構(gòu)
在溫室環(huán)境遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)中,按照網(wǎng)絡(luò)協(xié)議的幀格式編寫(xiě)的數(shù)據(jù)采集通信軟件,通過(guò)物理層最終完成主機(jī)與從機(jī)的數(shù)據(jù)傳送。系統(tǒng)主機(jī)為PC機(jī),從機(jī)為前端數(shù)據(jù)采集器,主機(jī)與從機(jī)的通信采用半雙工方式,主機(jī)具有發(fā)送命令,接收和顯示數(shù)據(jù)、查詢(xún)歷史數(shù)據(jù)、曲線顯示、存儲(chǔ)打印、對(duì)數(shù)據(jù)采集進(jìn)行標(biāo)度變換、數(shù)字濾波等預(yù)處理功能。從機(jī)完成數(shù)據(jù)采集、預(yù)處理和上傳數(shù)據(jù)等任務(wù)。溫室環(huán)境遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)軟件采用VC語(yǔ)言編程,采用層次模型組織數(shù)據(jù)采集系統(tǒng)的軟件,數(shù)據(jù)采集系統(tǒng)軟件結(jié)構(gòu)如圖7所示。
進(jìn)入主界面后的主機(jī)操作流程如圖8所示。
3.2 通信控制程序設(shè)計(jì)
RS-485接口大多數(shù)是基于RS-232接口與電腦進(jìn)行通信,485協(xié)議的編程多數(shù)是基于串口編程的,RS-485支持一點(diǎn)對(duì)多點(diǎn)半雙工通信。因此系統(tǒng)采用半雙工異步通信,串行控制模塊使用了串行中斷和定時(shí)中斷0實(shí)現(xiàn)了串行控制的功能,在通信協(xié)議中詳細(xì)規(guī)定了控制命令幀、參數(shù)幀、地址幀、數(shù)據(jù)信息幀、應(yīng)答幀、校驗(yàn)碼等格式。RS-485通信模塊流程圖如圖9所示。
4 結(jié)束語(yǔ)
文中提出了一種基于RS-485總線型溫室監(jiān)測(cè)系統(tǒng)的方案,實(shí)現(xiàn)了監(jiān)測(cè)節(jié)點(diǎn)對(duì)環(huán)境因子(溫濕度、CO2濃度測(cè)量、光照強(qiáng)度)的采集經(jīng)過(guò)RS-485總線傳輸?shù)缴衔粰C(jī),并能通過(guò)控制模塊電路對(duì)外圍設(shè)備的調(diào)控將溫室內(nèi)的環(huán)境因子控制在作物生長(zhǎng)的最佳范圍,并能對(duì)環(huán)境因子設(shè)定閾值,超出閾值范圍將啟動(dòng)報(bào)警。系統(tǒng)作為一種便捷的數(shù)據(jù)采集監(jiān)測(cè)系統(tǒng),具有較好的可移植性,在后續(xù)的研究中可以采用模糊控制算法作為系統(tǒng)的控制策略,設(shè)計(jì)出溫室監(jiān)測(cè)系統(tǒng)的模糊控制器,也可以加入其他所需的傳感器,實(shí)現(xiàn)其他參數(shù)的數(shù)據(jù)采集與傳輸。
評(píng)論