新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的多功能大型糧倉遠程監測系統

        基于CAN總線的多功能大型糧倉遠程監測系統

        作者: 時間:2016-12-13 來源:網絡 收藏
          0 引言

          糧食的安全儲藏是國家為了備戰和預防災荒的重要戰略決策,而糧庫儲糧監測技術又是科學保糧的關鍵技術之一。目前國內生產的糧情監測系統,品種繁多,系統結構各異,但其監測的內容主要集中在糧庫內外溫度和濕度,不能同時監測蟲害情況;而且現場檢測電路和上位機的通訊大多采用RS-485,這就使整個系統抗干擾能力差,實時性和糾錯能力不強,增加節點困難,當某一通信節點出現故障時,還會影響整個系統[1]。因此為了提高糧情監測系統的可靠性,擴大糧情監測的功能,我們提出了基于CAN總線的多功能大型糧倉遠程監測系統。

        本文引用地址:http://www.104case.com/article/201612/329520.htm

          1系統總體結構原理

          糧食在儲藏期間,由于受環境、氣候和通風條件等因素的變化,糧倉內溫度或濕度會發生異常,這極易造成糧食的霉爛、或發生蟲害。那么針對糧食儲藏的特殊性,我們選擇了糧倉內的溫度和濕度作為主要監測參數,把糧蟲發生情況作為輔助參數。

          整個監測系統由上位管理主機(HOST)、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是美國Honeywell公司生產的相對濕度傳感器,該傳感器具有精度高、響應快速、高穩定性、低溫漂、抗化學腐蝕性能強及互換性好等優點。HIH-3610采用熱固聚酯電容式傳感頭,在芯片內部集成了信號處理功能電路,可以完成將相對濕度值變換成電容值,再將電容傳轉換成線性的電壓輸出。因此它輸出的模擬濕度信號,不能直接送單片機處理,必須經過A/D轉換。DS2438也是Dallas公司的單總線器件,具有A/D功能。

          糧蟲檢測器采用文獻[3]所介紹的方法制作,當檢測到糧食蟲害發生時,糧蟲檢測器輸出負脈沖,送微處理器記數和處理。系統采用一個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總線通信方式,提高了系統內部的速率和實時性,降低了誤碼傳送的概率。糧蟲檢測器的設計使該系統除了能實時監測溫度和濕度外,也能監測糧食蟲害的發生情況。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 济阳县| 山东省| 离岛区| 巨野县| 丰县| 柳江县| 横山县| 交口县| 博白县| 南岸区| 涿鹿县| 乐都县| 云梦县| 平潭县| 武义县| 永城市| 九龙坡区| 崇信县| 蒲江县| 洛阳市| 襄汾县| 阿拉尔市| 田林县| 尚义县| 西充县| 额济纳旗| 北京市| 潍坊市| 紫阳县| 高邮市| 西林县| 成安县| 兴安县| 荥经县| 洛南县| 都兰县| 台中市| 巴马| 景宁| 柞水县| 甘孜县|