<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于Cortex-M3的無線電表采集器的研制

          基于Cortex-M3的無線電表采集器的研制

          作者: 時間:2014-02-16 來源:網絡 收藏

          1.引言

          如今,隨著信息化應用的發(fā)展,將無線通信技術、智能采集技術和自動控制技術綜合應用于現(xiàn)代企業(yè)信息化管理,已成為一種趨勢。

          企業(yè)也迫切需要將各種有利于提高生產效率的信息因素收集匯總,用于分析與管理,而設備的消耗電能與運行時間正是十分重要的一種生產信息。本文所設計的電表是生產采集系統(tǒng)的核心部件,通過電表上的通訊接口,實時地讀取表中的數(shù)據(jù),并通過無線網絡將數(shù)據(jù)傳送到服務器中。這使得企業(yè)能夠及時準確地了解生產運行情況,在避免手工抄表中不及時和易出錯情況的同時,也為合理利用資源及有效維護設備提供了豐富的數(shù)據(jù)支持。

          2.采集系統(tǒng)的結構

          近年來,電表的數(shù)字化程度越來越高,大多提供標準的通信總線結構,便于設計人員編程實現(xiàn)對電表數(shù)據(jù)的讀取。在生產采集系統(tǒng)中,分散于廠區(qū)各個配電間的電表與多個電表通過通訊接口相連,構成點對多點的主從網絡,定時采集各表的電度值與電流值;在將整理后數(shù)據(jù)通過WIFI網絡上傳至WEB服務器的數(shù)據(jù)庫中存儲;終端客戶可通過網絡訪問和查詢服務器中的各個設備運行情況。

          3.的硬件設計

          電表采集器以嵌入式微控制器為核心,使用MAX485芯片與PZ162L型電表進行RS485總線形式通信,獲取電表內部寄存器的數(shù)據(jù);使用SD2405芯片獲取系統(tǒng)時鐘,以判斷發(fā)送的時間;使用WIFI232模塊連接WIFI網絡,將組幀數(shù)據(jù)傳送至服務器。電表采集器的硬件設計如圖1所示。

          基于Cortex-M3的無線電表采集器的研制

          3.1 主要部件的選擇

          電表采集器使用TI公司生產的32位內核微控制器LM3S8962,存儲方式為哈佛結構,其獨立的指令總線和數(shù)據(jù)總線使得該芯片可以同時進行讀寫指令和數(shù)據(jù)的操作。

          該芯片工作頻率可達50MHz,有256K的FlashRAM,3個UART串口和一個I2C總線接口。通用I/O口功能設計為:MAX485接UART0,即Rx端接PA0口,Tx端接PA1口,控制口接PF0口;WIFI模塊接UART1,即Rx端接PD2口,Tx端接PD3口,其電源控制口接PF1口;SD2405接I2C總線接口,即SDA端接PB2口,SCL端接PB3口;異常指示燈連PF2口;電度測試按鍵連PE0口,電流測試按鍵接PE1口。

          WIFI模塊采用第三方提供的串口與WIFI數(shù)據(jù)包的雙向透明轉發(fā)模塊,型號為U S R -WIFI232-X,采集器將數(shù)據(jù)組幀以串行方式送至WIFI模塊,WIFI模塊則以網絡終端形式再將數(shù)據(jù)轉送至服務器。

          系統(tǒng)時鐘芯片SD2405是一種內置晶振、充電電池、具有標準IIC接口的實時時鐘芯片,可通過5位地址尋址來讀寫片內32字節(jié)寄存器的數(shù)據(jù)(包括時間寄存器、報警寄存器、控制寄存器、通用SRAM寄存器)。

          3.2 采集器與電表通信的實現(xiàn)

          廠區(qū)使用的P Z 1 6 2 L型數(shù)字電表集成了RS485通信協(xié)議,因此設計增加了MAX485芯片來完成LM3S8962的RS485通信。微控制器采用UART0串口與MAX485傳輸數(shù)據(jù),通信模式為8位數(shù)據(jù)位,1位停止位,無校驗位,波特率為9600.而采集端的電表波特率也為9600,而表的A、B端與MAX485的A、B端相連,并共用地線。設計中使用通用接口PF0作為MAX485的控制口,置高電平時向總線發(fā)數(shù)據(jù),置低電平時從總線接收數(shù)據(jù)。另外,由于每個采集器要采集多個電表,在對電表配置時,需保證使每個表的編號唯一,以免因目標沖突引起采集錯誤。

          3.3 WIFI模塊的供電控制

          在電表采集器中,WIFI模塊耗電量和發(fā)熱量都較大,且實際每天僅需一次連接無線網絡,故在硬件設計中加入了WIFI模塊的供電控制電路。該電路使用ST111電壓控制轉換芯片,可將電路電壓穩(wěn)定在WIFI模塊所需的3.3V上,而芯片的控制端則與通用接口PF1相連。

          每天在需要傳送數(shù)據(jù)前,微控制器將PF1口置1,啟動ST111芯片使WIFI模塊上電,而在傳送數(shù)據(jù)結束后,將PF1口置清0,使WIFI模塊斷電。這種工作方式可以減少采集器的能耗與發(fā)熱,延長無線模塊的使用壽命。其供電控制電路如圖2所示。

          基于Cortex-M3的無線電表采集器的研制
          4.采集器的軟件設計
          電表采集器的整體設計方案是先檢測電表的編號與個數(shù),并在指定時間點發(fā)送控制字獲取每個表的相應信息,再將得到的數(shù)據(jù)組成數(shù)據(jù)幀發(fā)送給服務器,其軟件設計流程圖如圖3所示。
          基于Cortex-M3的無線電表采集器的研制
          設計流程中,初始化部分是對LM3S8962的GPIO引腳進行初始化,如UART初始化,設定指定引腳的功能、通訊模式、波特率,還有I2C的初始化。此外還包括時鐘的初始化,以及維護時的屏幕和按鍵的初始化。
          鑒于工廠中各電表不一定能按順序排列,需要采集器檢測總線上實際的電表數(shù)量和編號,才能準確的發(fā)送查詢命令,因此加入了電表信息檢測部分。該設計部分使采集器的通用性增強,具備了一定的自動化功能。由于檢測電表信息僅執(zhí)行一次,如要新增電表,需重啟采集器,就能檢測到新添加的電表的數(shù)據(jù)了。
          發(fā)送時間的判斷主要通過讀取SD2405的系統(tǒng)時間,與設定時間相比較,判定是否要為WIFI模塊供電。未到發(fā)送時間,則每分鐘檢測一次各個電表的電流,當電表電流大于設定閾值時認為設備正在運行,對應時間計數(shù)器自增1,該計數(shù)器即為設備實際運行的分鐘數(shù);到達發(fā)送時間,則為WIFI模塊上電,從總線獲取各電表的電度值并組幀發(fā)送,將時間計數(shù)器值作為設備運行時間并組幀發(fā)送,再將計數(shù)器清0,并將WIFI模塊斷電。在實際設計中,發(fā)送信息設置為每天一次,因此采集的數(shù)據(jù)為某生產線的每日電度值和運行時間。
          5.采集器的運行測試
          根據(jù)廠方的實際要求,在廠區(qū)車間共安裝了3個采集器,采集各生產線對應的18個電表。所設計的采集器能夠自動檢測總線上的電表的編號及個數(shù),且讀取電表的數(shù)據(jù)與電表顯示值一致,發(fā)送給服務器的數(shù)據(jù)幀也完整無誤,服務器后臺的數(shù)據(jù)庫能記錄到各個電表的電能和機器運行時間。圖4為服務器接收到數(shù)據(jù)后處理生成的設備生產運行界面。
          基于Cortex-M3的無線電表采集器的研制
          6.結論
          綜上所述,本文設計的采集器能夠準確檢測電表當前的電能和電流等信息,并經過數(shù)據(jù)處理后,上傳至服務器,可得到企業(yè)所需的生產電力成本和設備運行時間,以利于企業(yè)快捷有效的統(tǒng)計成本,準確把握機器運行狀況,并能對生產做出合理調整。此外,采集器充分利用了廠區(qū)覆蓋的WIFI網絡傳送數(shù)據(jù),還具有布點靈活、節(jié)省成本的特點。
          晶振相關文章:晶振原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();