基于Cortex-M3的無(wú)線電表采集器的研制
1.引言
如今,隨著信息化應(yīng)用的發(fā)展,將無(wú)線通信技術(shù)、智能采集技術(shù)和自動(dòng)控制技術(shù)綜合應(yīng)用于現(xiàn)代企業(yè)信息化管理,已成為一種趨勢(shì)。
企業(yè)也迫切需要將各種有利于提高生產(chǎn)效率的信息因素收集匯總,用于分析與管理,而設(shè)備的消耗電能與運(yùn)行時(shí)間正是十分重要的一種生產(chǎn)信息。本文所設(shè)計(jì)的電表采集器是生產(chǎn)采集系統(tǒng)的核心部件,通過(guò)電表上的通訊接口,實(shí)時(shí)地讀取表中的數(shù)據(jù),并通過(guò)無(wú)線網(wǎng)絡(luò)將數(shù)據(jù)傳送到服務(wù)器中。這使得企業(yè)能夠及時(shí)準(zhǔn)確地了解生產(chǎn)運(yùn)行情況,在避免手工抄表中不及時(shí)和易出錯(cuò)情況的同時(shí),也為合理利用資源及有效維護(hù)設(shè)備提供了豐富的數(shù)據(jù)支持。
2.采集系統(tǒng)的結(jié)構(gòu)
近年來(lái),電表的數(shù)字化程度越來(lái)越高,大多提供標(biāo)準(zhǔn)的通信總線結(jié)構(gòu),便于設(shè)計(jì)人員編程實(shí)現(xiàn)對(duì)電表數(shù)據(jù)的讀取。在生產(chǎn)采集系統(tǒng)中,分散于廠區(qū)各個(gè)配電間的電表采集器與多個(gè)電表通過(guò)通訊接口相連,構(gòu)成點(diǎn)對(duì)多點(diǎn)的主從網(wǎng)絡(luò),定時(shí)采集各表的電度值與電流值;在將整理后數(shù)據(jù)通過(guò)WIFI網(wǎng)絡(luò)上傳至WEB服務(wù)器的數(shù)據(jù)庫(kù)中存儲(chǔ);終端客戶可通過(guò)網(wǎng)絡(luò)訪問(wèn)和查詢服務(wù)器中的各個(gè)設(shè)備運(yùn)行情況。
3.采集器的硬件設(shè)計(jì)
電表采集器以嵌入式Cortex-M3微控制器為核心,使用MAX485芯片與PZ162L型電表進(jìn)行RS485總線形式通信,獲取電表內(nèi)部寄存器的數(shù)據(jù);使用SD2405芯片獲取系統(tǒng)時(shí)鐘,以判斷發(fā)送的時(shí)間;使用WIFI232模塊連接WIFI網(wǎng)絡(luò),將組幀數(shù)據(jù)傳送至服務(wù)器。電表采集器的硬件設(shè)計(jì)如圖1所示。
3.1 主要部件的選擇
電表采集器使用TI公司生產(chǎn)的32位Cortex-M3內(nèi)核微控制器LM3S8962,存儲(chǔ)方式為哈佛結(jié)構(gòu),其獨(dú)立的指令總線和數(shù)據(jù)總線使得該芯片可以同時(shí)進(jìn)行讀寫(xiě)指令和數(shù)據(jù)的操作。
該芯片工作頻率可達(dá)50MHz,有256K的FlashRAM,3個(gè)UART串口和一個(gè)I2C總線接口。通用I/O口功能設(shè)計(jì)為:MAX485接UART0,即Rx端接PA0口,Tx端接PA1口,控制口接PF0口;WIFI模塊接UART1,即Rx端接PD2口,Tx端接PD3口,其電源控制口接PF1口;SD2405接I2C總線接口,即SDA端接PB2口,SCL端接PB3口;異常指示燈連PF2口;電度測(cè)試按鍵連PE0口,電流測(cè)試按鍵接PE1口。
WIFI模塊采用第三方提供的串口與WIFI數(shù)據(jù)包的雙向透明轉(zhuǎn)發(fā)模塊,型號(hào)為U S R -WIFI232-X,采集器將數(shù)據(jù)組幀以串行方式送至WIFI模塊,WIFI模塊則以網(wǎng)絡(luò)終端形式再將數(shù)據(jù)轉(zhuǎn)送至服務(wù)器。
系統(tǒng)時(shí)鐘芯片SD2405是一種內(nèi)置晶振、充電電池、具有標(biāo)準(zhǔn)IIC接口的實(shí)時(shí)時(shí)鐘芯片,可通過(guò)5位地址尋址來(lái)讀寫(xiě)片內(nèi)32字節(jié)寄存器的數(shù)據(jù)(包括時(shí)間寄存器、報(bào)警寄存器、控制寄存器、通用SRAM寄存器)。
3.2 采集器與電表通信的實(shí)現(xiàn)
廠區(qū)使用的P Z 1 6 2 L型數(shù)字電表集成了RS485通信協(xié)議,因此設(shè)計(jì)增加了MAX485芯片來(lái)完成LM3S8962的RS485通信。微控制器采用UART0串口與MAX485傳輸數(shù)據(jù),通信模式為8位數(shù)據(jù)位,1位停止位,無(wú)校驗(yàn)位,波特率為9600.而采集端的電表波特率也為9600,而表的A、B端與MAX485的A、B端相連,并共用地線。設(shè)計(jì)中使用通用接口PF0作為MAX485的控制口,置高電平時(shí)向總線發(fā)數(shù)據(jù),置低電平時(shí)從總線接收數(shù)據(jù)。另外,由于每個(gè)采集器要采集多個(gè)電表,在對(duì)電表配置時(shí),需保證使每個(gè)表的編號(hào)唯一,以免因目標(biāo)沖突引起采集錯(cuò)誤。
3.3 WIFI模塊的供電控制
在電表采集器中,WIFI模塊耗電量和發(fā)熱量都較大,且實(shí)際每天僅需一次連接無(wú)線網(wǎng)絡(luò),故在硬件設(shè)計(jì)中加入了WIFI模塊的供電控制電路。該電路使用ST111電壓控制轉(zhuǎn)換芯片,可將電路電壓穩(wěn)定在WIFI模塊所需的3.3V上,而芯片的控制端則與通用接口PF1相連。
每天在需要傳送數(shù)據(jù)前,微控制器將PF1口置1,啟動(dòng)ST111芯片使WIFI模塊上電,而在傳送數(shù)據(jù)結(jié)束后,將PF1口置清0,使WIFI模塊斷電。這種工作方式可以減少采集器的能耗與發(fā)熱,延長(zhǎng)無(wú)線模塊的使用壽命。其供電控制電路如圖2所示。
4.采集器的軟件設(shè)計(jì)
電表采集器的整體設(shè)計(jì)方案是先檢測(cè)電表的編號(hào)與個(gè)數(shù),并在指定時(shí)間點(diǎn)發(fā)送控制字獲取每個(gè)表的相應(yīng)信息,再將得到的數(shù)據(jù)組成數(shù)據(jù)幀發(fā)送給服務(wù)器,其軟件設(shè)計(jì)流程圖如圖3所示。
設(shè)計(jì)流程中,初始化部分是對(duì)LM3S8962的GPIO引腳進(jìn)行初始化,如UART初始化,設(shè)定指定引腳的功能、通訊模式、波特率,還有I2C的初始化。此外還包括時(shí)鐘的初始化,以及維護(hù)時(shí)的屏幕和按鍵的初始化。
鑒于工廠中各電表不一定能按順序排列,需要采集器檢測(cè)總線上實(shí)際的電表數(shù)量和編號(hào),才能準(zhǔn)確的發(fā)送查詢命令,因此加入了電表信息檢測(cè)部分。該設(shè)計(jì)部分使采集器的通用性增強(qiáng),具備了一定的自動(dòng)化功能。由于檢測(cè)電表信息僅執(zhí)行一次,如要新增電表,需重啟采集器,就能檢測(cè)到新添加的電表的數(shù)據(jù)了。
發(fā)送時(shí)間的判斷主要通過(guò)讀取SD2405的系統(tǒng)時(shí)間,與設(shè)定時(shí)間相比較,判定是否要為WIFI模塊供電。未到發(fā)送時(shí)間,則每分鐘檢測(cè)一次各個(gè)電表的電流,當(dāng)電表電流大于設(shè)定閾值時(shí)認(rèn)為設(shè)備正在運(yùn)行,對(duì)應(yīng)時(shí)間計(jì)數(shù)器自增1,該計(jì)數(shù)器即為設(shè)備實(shí)際運(yùn)行的分鐘數(shù);到達(dá)發(fā)送時(shí)間,則為WIFI模塊上電,從總線獲取各電表的電度值并組幀發(fā)送,將時(shí)間計(jì)數(shù)器值作為設(shè)備運(yùn)行時(shí)間并組幀發(fā)送,再將計(jì)數(shù)器清0,并將WIFI模塊斷電。在實(shí)際設(shè)計(jì)中,發(fā)送信息設(shè)置為每天一次,因此采集的數(shù)據(jù)為某生產(chǎn)線的每日電度值和運(yùn)行時(shí)間。
5.采集器的運(yùn)行測(cè)試
根據(jù)廠方的實(shí)際要求,在廠區(qū)車間共安裝了3個(gè)無(wú)線電表采集器,采集各生產(chǎn)線對(duì)應(yīng)的18個(gè)電表。所設(shè)計(jì)的采集器能夠自動(dòng)檢測(cè)總線上的電表的編號(hào)及個(gè)數(shù),且讀取電表的數(shù)據(jù)與電表顯示值一致,發(fā)送給服務(wù)器的數(shù)據(jù)幀也完整無(wú)誤,服務(wù)器后臺(tái)的數(shù)據(jù)庫(kù)能記錄到各個(gè)電表的電能和機(jī)器運(yùn)行時(shí)間。圖4為服務(wù)器接收到數(shù)據(jù)后處理生成的設(shè)備生產(chǎn)運(yùn)行界面。
6.結(jié)論
綜上所述,本文設(shè)計(jì)的無(wú)線電表采集器能夠準(zhǔn)確檢測(cè)電表當(dāng)前的電能和電流等信息,并經(jīng)過(guò)數(shù)據(jù)處理后,上傳至服務(wù)器,可得到企業(yè)所需的生產(chǎn)電力成本和設(shè)備運(yùn)行時(shí)間,以利于企業(yè)快捷有效的統(tǒng)計(jì)成本,準(zhǔn)確把握機(jī)器運(yùn)行狀況,并能對(duì)生產(chǎn)做出合理調(diào)整。此外,采集器充分利用了廠區(qū)覆蓋的WIFI網(wǎng)絡(luò)傳送數(shù)據(jù),還具有布點(diǎn)靈活、節(jié)省成本的特點(diǎn)。