1系統的總體結構原理
在糧食儲存過程中,由於環境、氣候、通風條件的變化,糧倉內的溫度或濕度會出現異常,容易導致黴變或蟲害。然後,針對糧食儲藏的特殊性,選擇糧倉內的溫濕度作為主要監測參數,糧食害蟲的發生作為輔助參數。
整個監控系統由主機、USB/CAN轉換器和多個智能節點組成。節點的數量是由大倉庫的糧庫數量決定的。壹般使用標準幀進行CAN通信時,節點數不超過110;使用擴展幀CAN進行CAN通信時,原則上節點數量不受限制。整個監控網絡采用總線拓撲結構,其結構示意圖如圖1所示。
上位機采用PC機,主要完成整個監控網絡系統的參數設置、糧庫狀態查詢、數據處理、糧情分析、超限實時報警和報表打印等功能。下位智能節點由單片機、數據采集電路和CAN總線控制驅動電路組成。
下位機不僅實時監測糧庫內各測試點的溫度、濕度和糧蟲發生情況,並將結果保存和顯示,還負責接收上位管理機的命令,並根據上位機的要求上傳數據。
USB/CAN轉換器負責將上位機通過USB口輸出的命令轉換成CAN總線數據格式,然後下載到CAN總線上;或者將下位機通過CAN總線上傳的數據轉換成USB數據格式,然後發送到PC。
2下位機硬件電路結構
下位機以單片機AT89S52為核心,通過擴展顯示電路、數據采集電路和CAN通信模塊,組成完整的硬件系統,如圖2所示。
2.1數據采集電路
數據采集電路由溫度采集電路、濕度采集電路和糧蟲檢測電路組成。溫度檢測采用Dallas公司生產的單總線數字溫度傳感器DS18B20。它不僅可以直接輸出串行數字信號,而且具有小型化、低功耗、高性能、易與微處理器連接、抗幹擾能力強等優點。DS18B20數字溫度傳感器為被測溫度提供9-12位數據和報警溫度寄存器,其溫度測量範圍為-55℃~+125℃,在-10℃~+85℃範圍內,測量精度為±0.5℃。由於每個DS18B20都有壹個唯壹的64位產品編號,因此允許在壹根電纜上連接多個傳感器,形成壹個大型溫度測控網絡。在圖2的電路中,設計了兩條溫度測量單總線。每條單總線由壹個場效應晶體管供電,每條總線上可以並聯十幾個數字溫度傳感器DS18B20。
濕度傳感器HIH3610和DS2438用於濕度檢測。HIH-3610是美國霍尼韋爾公司生產的相對濕度傳感器。該傳感器具有精度高、響應快、穩定性高、溫漂小、抗化學腐蝕能力強、互換性好等優點。HIH-3610采用熱固性聚酯電容傳感頭,芯片內部集成信號處理功能電路,可以完成相對濕度值到電容值的轉換,再將電容傳輸轉換為線性電壓輸出。因此,它輸出的模擬濕度信號不能直接送到單片機進行處理,必須經過A/D轉換..DS2438也是Dallas公司的單總線器件,具有A/D功能。HIH3610和DS2438可以組合成壹個單總線數字濕度傳感器模塊。
糧蟲檢測器,當檢測到糧蟲發生時,糧蟲檢測器輸出負脈沖,送入微處理器進行計數和處理。該系統采用8輸入與非門,可配備8個糧蟲探測器。
2.2顯示電路
顯示電路和微控制器通過I2C總線連接。由於AT89S52單片機中沒有集成I2C總線模塊,I2C通信是通過軟件仿真實現的。顯示驅動采用I2C總線器件SAA1064,可以動態驅動4位8段LED顯示屏。具有內部存儲和自動刷新功能,可以避免微控制器頻繁刷新任務,騰出大量時間做其他事情。
2.3 CAN通信模塊
CAN是唯壹被批準為國際標準的現場總線。它的信號傳輸介質是雙絞線。最高通信速率可達1Mbps/40m,最遠直傳距離可達10Km/5Kbps。CAN協議采用CRC校驗,並能提供相應的錯誤處理功能,保證了數據通信的可靠性。當壹個節點出現嚴重故障時,具有自動關機功能,切斷該節點與總線的連接,使總線上的其他節點及其通信不受影響,抗幹擾能力強。
圖2中的CAN控制驅動模塊由CAN控制器SJA1000、光耦6N137模塊和CAN驅動器82C50組成。SJA1000負責與微控制器交換狀態、控制、命令等信息,承擔網絡通信任務;82C50是CAN控制器和總線之間的接口,向總線提供差分傳輸,向CAN控制器提供差分接收。光耦6N137起隔離作用。
3系統軟件設計
系統軟件由上位機程序和下位監控程序組成。上位機程序采用VB語言開發,模塊化設計。具體的功能模塊如圖3所示。用VB編寫的應用軟件具有友好的人機界面,易於維護和管理。
下位機軟件由下位機程序、溫度采集程序、濕度采集程序、糧蟲檢測中斷程序和CAN收發器中斷服務程序組成。限於篇幅,這裏只給出下位主程序和CAN通信中斷服務程序的流程圖,分別如圖4和圖5所示。在接下來的主程序中,系統首先要初始化單片機,初始化CAN,打開外部中斷,啟動計數器並使能CAN接收中斷,使系統處於就緒狀態,然後調用數據采集程序和數據處理程序對糧庫的參數進行實時采集和處理。處理後的數據應存儲起來供上位機隨時查詢,並送到顯示器上顯示。
糧蟲檢測中斷程序主要完成糧庫發生糧蟲後的處理。壹方面要判斷糧蟲計數器是否滿,滿了就清零並保存數據;壹方面,設置糧庫蟲害標誌,供上位機查詢和顯示。
CAN收發器中斷服務程序負責上下位機的命令和數據傳輸。當主機發送命令時,CAN接收到壹條消息,CAN的中斷使能標誌設置為1,產生壹個接收中斷。CPU立即響應,進入中斷服務程序,然後系統根據上位機的具體命令,將節點的工作狀態或采集的數據傳輸給上位機。
4結論
由於系統采用全數字溫濕度傳感器,直接輸出代表溫濕度的數字信號,從模擬到數字沒有中間環節,因此系統具有穩定可靠、測量精度高、壹致性好、無需任何調整、信號線長度不會影響其性能等優點。此外,單總線還帶來了安裝方便、線路清晰、節省導線的優點。上下位機之間的通信采用CAN總線通信方式,提高了系統內部的速度和實時性,降低了誤碼傳輸的概率。糧蟲檢測儀的設計使系統不僅能實時監測溫濕度,還能監測糧蟲的發生。