基于RS-485總線的溫室環境數據采集系統的研究
植物生長需要一個適宜的環境,在可控環境下,可以不分季節、不分地區地種植所需要的植物。溫室作為植物生長的環境,其內部的因子(如溫度、濕度、光照度和CO2濃度等)是植物生長的關鍵因素。所以,對溫室環境因子進行數據采集,不僅可以為分析環境與植物生長之間的關系提供依據,而且為實現溫室環境控制奠定基礎。
本文引用地址:http://www.104case.com/article/201610/308662.htm在規模生產中,一般使用多座溫室,溫室之間在空間上相對分散,且與計算機監控室也存在一段距離,信號傳輸距離長達幾十米甚至上千米,分布在現場的監測節點與操作人員之間有大量的數據傳輸,采用一般的傳輸線通信由于速度比較慢、通信質量不高、抗干擾能力差,往往達不到要求。
在這種情況下,采用串行總線技術來構成溫室環境遠程數據采集系統,是一種較好的技術。RS-485總線技術比較簡單、總線結構穩定、成熟易于實現,且總線傳輸速率高、傳輸距離遠、可靠性較好、支持多點通信等優點。所以本文介紹采用RS-485構成溫室環境數據采集系統。系統主要用于溫室內的溫度、濕度、光照度和CO2濃度等環境因子的自動采集,對溫室的異常情況進行故障初發期的報警處理,為控制植物生長環境所需的溫度、濕度、光照度和CO2濃度奠定基礎。
1 系統網絡拓撲結構
溫室環境遠程數據采集系統的網絡拓撲采用RS-485總線方式,系統以PC機為主機,以RM417模塊為從機,二者通過RS-232/RS-485接口轉換器連接,系統網絡拓撲結構如圖1所示。

系統采用主從方式進行多機通信,每個從機擁有自己固定的地址,由主機控制完成網上的每一次通信。網絡的連接線采用雙屏蔽線,圖1中的R為平衡電阻,R=120 Ω,通信波特率為9 600 bit/s,串行數據格式為:1位起始位,8位數據位和1位停止位,無奇偶校驗位。
主機呼叫某一從機時,會向網上發出從機的地址,所有從機接收到該地址,先與自己的地址比較,如果地址相符,說明主機在呼叫自己,則將采集到的溫度、濕度、光照度和CO2濃度數據發送到網上,如果地址不相符,則不予理睬,繼續處于監聽狀態。通信結束后,所有從機繼續處于監聽和等待呼叫狀態。
2 系統硬件
2.1 傳感器
1)溫、濕度傳感變送器
本系統的室內外溫、濕度傳感變送器選用E+E公司的產品HCT01,溫度測量范圍:-25~60℃,精度±0.2攝氏度,相對濕度測量范圍:0~100%RH,精度±2.5%RH,輸出信號:4~20 mA。HCT01溫濕度傳感器接口電路如圖2所示。在串行時鐘輸入SCK于單片機的P0.4口連接,用于處理微處理器與傳感器之間的同步通信,串行數據線DATA與單片機P0.5口連接,用于讀取數據,微處理器應驅動DATA在低電平,采用一個4.7 kΩ的上拉電阻將信號拉至高電平。

2)CO2傳感變送器
從精度、可靠性和使用方便等方面考慮,本系統選用VAISALA公司的GMW22D紅外式CO2傳感變送器,測量范圍:0~2 000x10-6,精度:小于±20x10-6+讀數的1.5%,重復性:小于±20x10-6,穩定性:小于±20x10-6/5年,輸出信號:0~20mA。CO2傳感器接口電路如圖3所示,電源線采用12 V電源輸入,由于單片機P1口具有A/D轉換功能,將數據口與單片機的P1.1口連接即可,微處理器處理的DATA應在高電平,所以電路中接10K的下拉電阻將數據口拉至低電平。

3)光照傳感變送器
光照傳感變送器選用NHZD10CI,將光照強度轉換為電流信號,測量范圍:0~2 000 Klx,輸出信號4~20 mA,再經運算放大器轉換為電壓信號輸出。電流電壓轉換電路如圖4所示。流過反饋電阻Rf的電流等于(UO-UN)/Rf,與UN/R1+(UN-Uf)/R5相等。由此可得輸出電壓UO=(1+Rf/R1+Rf/R5)*UN-(R4/R5)/Uf,由于集成運放滿足虛短,即UN=UP= Ii*s4,用UP代替UO表達式中的UN,若R4=200 Ω,R1=18 kΩ,則UO=0.313*Ii-1.250,當輸入為4~20 mA電流信號時,輸出為0~5 V電壓信號。

2.2 RS-232/RS-485接口轉換器
本系統采用無源RS232/RS485轉換器,能夠將RS-232串行口的TXD和RXD信號轉換成平衡的半雙工的RS-485信號。232電平轉換電路選擇使用HIN232芯片,485電路采用MAX485集成電路,該芯片通過RE和DE兩個引腳來控制數據的輸入和輸出。轉換電路如5所示,在本電路使用TX線和HIN232的9腳及Q5來控制MAX485的狀態切換。當N1H232芯片的9腳輸出高電平時,加在Q5的基極,經過Q5反相后,從Q5的集電極輸出低電平,使MAX485的RE和DE也為低電平,此時MAX485就處于數據接收狀態。當PC機發送數據時,NIH232的9腳輸出低電平,加在Q5的基極,經過Q5反相后,從Q5的集電極輸出高電平,使MAX485的RE和DE也為高電平,此時MAX485就處于數據發送狀態。

2.3 繼電器控制電路
繼電器控制電路見圖6所示,采用SRD-05VDC-SL-C固態繼電器,三極管組成共集電極放大電路,二極管D2起保護作用,由單片機P3.6口產生繼電器觸發信號,當P3.6口輸出低電平時,繼電器閉合,指示燈亮,外接電器開始工作。當P3.6口輸出高電平時,繼電器斷開,指示燈滅,外接電器停止工作。

2.4 前端數據采集器
前端數據采集器為中泰研創公司生產的RM417遠端模擬量采集模塊,該模塊為16路模擬量輸入,12位A/D轉換。一條485總線最多可以接16個RM模塊,每個RM417有16位通道。該模塊讀指令格式為:@+站號+R。@是指令標示符;站號也叫模塊號或者模塊地址,從00~15;R指明操作類型為讀操作。指令返回數據總共66位,前64位為16位通道上的數據,最后兩位為校驗碼。
3 系統軟件設計
3.1 主機軟件結構
在溫室環境遠程數據采集系統中,按照網絡協議的幀格式編寫的數據采集通信軟件,通過物理層最終完成主機與從機的數據傳送。系統主機為PC機,從機為前端數據采集器,主機與從機的通信采用半雙工方式,主機具有發送命令,接收和顯示數據、查詢歷史數據、曲線顯示、存儲打印、對數據采集進行標度變換、數字濾波等預處理功能。從機完成數據采集、預處理和上傳數據等任務。溫室環境遠程數據采集系統軟件采用VC語言編程,采用層次模型組織數據采集系統的軟件,數據采集系統軟件結構如圖7所示。

進入主界面后的主機操作流程如圖8所示。
3.2 通信控制程序設計
RS-485接口大多數是基于RS-232接口與電腦進行通信,485協議的編程多數是基于串口編程的,RS-485支持一點對多點半雙工通信。因此系統采用半雙工異步通信,串行控制模塊使用了串行中斷和定時中斷0實現了串行控制的功能,在通信協議中詳細規定了控制命令幀、參數幀、地址幀、數據信息幀、應答幀、校驗碼等格式。RS-485通信模塊流程圖如圖9所示。

4 結束語
文中提出了一種基于RS-485總線型溫室監測系統的方案,實現了監測節點對環境因子(溫濕度、CO2濃度測量、光照強度)的采集經過RS-485總線傳輸到上位機,并能通過控制模塊電路對外圍設備的調控將溫室內的環境因子控制在作物生長的最佳范圍,并能對環境因子設定閾值,超出閾值范圍將啟動報警。系統作為一種便捷的數據采集監測系統,具有較好的可移植性,在后續的研究中可以采用模糊控制算法作為系統的控制策略,設計出溫室監測系統的模糊控制器,也可以加入其他所需的傳感器,實現其他參數的數據采集與傳輸。
評論