《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32的電能手抄系統(tǒng)設計與實現(xiàn)
基于STM32的電能手抄系統(tǒng)設計與實現(xiàn)
來源:電子技術應用2014年第1期
任順航,, 呂鵬鵬,, 王立鵬, 尚秋峰
華北電力大學 電子與通信工程系,,河北 保定 071003
摘要: 綜合考慮目前抄表系統(tǒng)在實際應用中的一些弊端, 介紹了一種基于STM32并嵌入μC/OS-II實時操作系統(tǒng)的電能手抄系統(tǒng)的設計與實現(xiàn)方案。該系統(tǒng)采用JF24C無線通信模塊,并對多功能電能表通信規(guī)約DL/T 645-2007協(xié)議進行解析和轉(zhuǎn)換,。最后,通過測試表明該手抄系統(tǒng)能夠快速準確地完成對電能表數(shù)據(jù)的采集和傳輸?shù)裙δ堋?
中圖分類號: TM933
文獻標識碼: B
文章編號: 0258-7998(2014)01-0075-04
Design and implementation of energy handheld meter reading system based on STM32
Ren Shunhang,, Lv Pengpeng,,Wang Lipeng, Shang Qiufeng
Department of Electronics and Communication, North China Electric Power University, Baoding 071003, China
Abstract: Considering some disadvantages of the current meter reading system in application, this paper introduces the design and implementation of an energy handheld meter reading system which is based on STM32 and embedded the real-time operating system μC/OS-II. The system uses JF24C wireless communication module, analyzing and transforming the agreement of the multi-function watt-hour meter communication protocol DL/T 645-2007. The tests show that the system can rapidly and accurately complete the watt-hour meter data collection and transmission, and other functions.
Key words : meter reading system; real-time operation; communication protocol

    通信技術,、微處理器技術,、數(shù)據(jù)處理技術的共同發(fā)展推動了智能電網(wǎng)的建設,實時用電采集系統(tǒng)的設計是實現(xiàn)電網(wǎng)智能化的重要組成部分,。用電采集系統(tǒng)主要由主站,、數(shù)據(jù)采集層和采集點設備層三部分組成。主站是整個系統(tǒng)管理控制中心,,負責整個系統(tǒng)的信息采集和電能管理,;數(shù)據(jù)采集層的主體是電能采集終端,負責對電能信息的采集,、數(shù)據(jù)傳輸和執(zhí)行主站發(fā)送的命令,;采集點是電能信息的采集源和監(jiān)控對象,包括電能表和相關測量設備,。
     目前,對低壓非居民用戶和居民用戶的用電信息采集設備主要是集中抄表終端(包括集中器和采集器),,并以遠程無線通信(GPRS/CMDA)與主站完成數(shù)據(jù)交互。但在新舊電力設備轉(zhuǎn)換的階段,,針對集中用戶和分散用戶,、大用電戶和小用電戶在實際抄表中遇到一些問題,,本文介紹了一種便攜式手抄系統(tǒng)的設計和實現(xiàn)方案,可使電力管理部門更加方便地采集用電信息[1],。
1 手抄系統(tǒng)總體結(jié)構(gòu)設計
    該系統(tǒng)主要由手持終端和采集器兩部分組成,。手持終端作為控制端不僅能完成對電能數(shù)據(jù)的抄收、存儲和顯示,,而且能與上位機進行數(shù)據(jù)傳輸并及時上傳至主站系統(tǒng),。采集器在整個抄表系統(tǒng)中起過渡作用,它根據(jù)手持終端發(fā)來的命令控制所管轄的電能表,,負責收集和提供整個系統(tǒng)的原始用電信息,,并把用電信息發(fā)送給手持終端,因此集中器要能夠同時與手持終端和電能表進行通信[2],。
    系統(tǒng)總體結(jié)構(gòu)如圖1所示,。在正常情況下,手持終端通過采集器對電能表進行電能數(shù)據(jù)的抄收和參數(shù)設置,,并根據(jù)電能表地址對各個電能表的電能數(shù)據(jù)進行統(tǒng)計,、分析發(fā)送給上位機。但當采集器無法完成通信時,,手持終端也可以通過紅外方式直接對電能表進行電能數(shù)據(jù)抄收與參數(shù)設置,。

2 系統(tǒng)硬件設計
    無線抄表系統(tǒng)由采集器和手持終端兩部分組成,綜合考慮本系統(tǒng)設計的需求選擇了意法半導體(ST)公司STM32系列的STM32F103RBT6作為本系統(tǒng)的主處理器,。它基于Cortex-M3內(nèi)核,擁有的資源包括128 KB Flash,、20 KB SRAM、2個SPI,、3個串口,、1個USB、1個CAN,、2個12位的ADC(16通道),、RTC、DMA,、4個16位定時器,、51個可用的I/O腳等,因其有較高性能和豐富的資源,,較好地滿足抄表系統(tǒng)的開發(fā)需求,,所以選擇它作為主芯片[3]。
2.1采集器硬件設計
 采集器主要由微處理器,、電源模塊,、存儲模塊、485通信模塊,、時鐘模塊和無線收發(fā)模塊組成,,其功能結(jié)構(gòu)如圖2所示,。采集器與電能表通過RS485通信,根據(jù)用戶實際情況,,采集器可以用于采集單個或多個電能表的電能信息,。當采集器收到手持終端抄表命令時,對其連接的電能表進行電能數(shù)據(jù)采集并將這些數(shù)據(jù)進行存儲,,然后通過無線將這些數(shù)據(jù)發(fā)送給手持終端,。

2.2手持終端硬件設計
    手持器終端是整個系統(tǒng)的控制端,它管理全系統(tǒng)的數(shù)據(jù)傳輸,、數(shù)據(jù)處理和數(shù)據(jù)應用,,并與上位機進行數(shù)據(jù)交換,其功能結(jié)構(gòu)如圖3所示,。

    電源模塊由3 V的電池供電,,并通過升壓型DC-DC芯片TPS60100和TPS60110產(chǎn)生系統(tǒng)所需要的3.3 V和5 V電壓;時鐘是系統(tǒng)記錄事件和數(shù)據(jù)通信的時間依據(jù),,本設計采用低功耗,、低成本,、高精度的DS3231芯片,,并通過400 kHz 的IIC總線接口與處理器相連;手持終端需要存儲和處理各類數(shù)據(jù),,因此選用了ATMEL公司的AT45DB642芯片來存儲,,它具有8 MB的存儲空間,數(shù)據(jù)傳輸時鐘頻率達66 MHz,,通過SPI串行口連接處理器,;液晶選用北京集萃公司的SO160160—01ASWE,采用并口6800工作方式,,并通過處理器GPIO控制液晶的顯示,。DL/T645-2007通信協(xié)議規(guī)定紅外通信的載波頻率為38 kHz±1 kHz,故而采用適合此頻段的紅外發(fā)射管TSAL6200 和紅外接收管TSOP1838,,發(fā)送脈沖調(diào)制采用三極管耦合,,載波由PWM產(chǎn)生,并通過STM32的串口1完成通信,。
2.3 無線收發(fā)硬件電路設計
    無線模塊作為采集器和手持終端的重要部分,,本系統(tǒng)采用2.4 G通信的JF24C無線模塊。它整合了高頻鍵控(GFSK)收發(fā)電路的功能,,以小體積實現(xiàn)高速數(shù)據(jù)傳輸,,其傳輸速率可達到1 Mb/s,具有快速跳頻,、向前糾錯,、循環(huán)冗余校驗等功能,,可以在擁擠的ISM頻段中達到穩(wěn)定可靠的數(shù)據(jù)傳輸。JF24C采用SPI數(shù)字接口與STM32處理器連接,,其結(jié)構(gòu)如圖4所示,。


    JF24C提供了兩種方法來處理TX/RX數(shù)據(jù)包長度,一種是在JF24C微處理器內(nèi)自動檢測數(shù)據(jù)包長度,,另一種是微處理器保持接收/發(fā)送狀態(tài)直到單片機終止發(fā)送和接收,。JF24C微處理器可處理的數(shù)據(jù)包長度最高為255 B,本系統(tǒng)無線通信一幀數(shù)據(jù)長度小于255 B,,所以選用JF24C微處理器內(nèi)自動檢測數(shù)據(jù)包長度,。其中,TX的時序圖如圖5所示,,RX的時序圖如圖6所示,。


    在抄表通信中涉及到自動獲取電能表地址,目前根據(jù)DL/T645—2007通信協(xié)議,,按以下搜索算法獲取電能表地址,。用全AA的地址域抄電能數(shù)據(jù)量,如果接收到完整的回應幀,,則表明下面只接一只電能表,,然后從地址域中得到該表的地址,跳出搜表循環(huán),;如果收到錯誤數(shù)據(jù),,則表明所接的電能表不止一只。然后將地址域低字節(jié)使用XX(00~99),,其余高5 B使用AA地址抄讀表計電量,。如果收到完整的回應幀,則收到了一只表,,此時將地址域低字節(jié)加1繼續(xù)抄表命令,,直到出現(xiàn)錯誤的數(shù)據(jù)為止,記錄循環(huán)次數(shù)為N,,此時表明所接的RS485表計地址在低位有相同的值XX+N,。
 通信部分作為多功能無線抄表系統(tǒng)的核心,不僅完成數(shù)據(jù)的通信,,而且為系統(tǒng)的合理有序運行提供可靠的保障,。系統(tǒng)通過串口中斷接收數(shù)據(jù)。當接收到主站有效數(shù)據(jù)幀后,首先要檢驗從站地址正確與否,,若非本站則可將該數(shù)據(jù)幀丟棄,,若是本站則繼續(xù)檢驗控制碼、校驗碼等其他信息,確保接收到的數(shù)據(jù)幀的正確性,,然后再進行數(shù)據(jù)幀的解析,。非廣播命令則需要組織回應數(shù)據(jù)幀,如果組織數(shù)據(jù)過程中出現(xiàn)錯誤,,則需做出異常應答,,在完成回應之后,返回等待主站下一次的通信命令,。
4 系統(tǒng)軟件設計
4.1采集器軟件設計

 采集器作為手抄系統(tǒng)的中間環(huán)節(jié),,不僅需要與電能表進行本地通信,還需要與手持終端進行無線通信,。所以在整個系統(tǒng)中,,采集器主要實現(xiàn)了手持終端與電能表之間的通信,并且對DL/T645通信規(guī)約進行解析和轉(zhuǎn)換。
 采集器程序流程如圖7所示,。系統(tǒng)上電時初始化STM32外設,,初始化JF24C無線射頻模塊,然后通過串口1中斷接收數(shù)據(jù),。當接收到手持終端的抄表命令時,,向電能表發(fā)送命令并接收電能表返回的抄表數(shù)據(jù),如果數(shù)據(jù)錯誤則重新給電能表發(fā)送抄表命令,,如果正確則對電能數(shù)據(jù)通過串口2發(fā)送給手持終端,,接著等待下一次抄表命令[5]。

    JF24C無線射頻模塊初始化流程圖如圖8所示,。
4.2 手持終端軟件設計
     為了能較好地完成系統(tǒng)的多任務處理,,在STM32微處理器上嵌入μC/OS-II實時操作系統(tǒng),。在μC/OS-II實時操作系統(tǒng)下的程序設計可以將應用程序分成相對獨立的多個任務,,每個任務都有自己的優(yōu)先級,μC/OS-II內(nèi)核按照優(yōu)先級對這些任務進行調(diào)度和管理,。 根據(jù)手持終端實現(xiàn)的功能,,對系統(tǒng)任務進行分割, 并為各個任務分配優(yōu)先級。系統(tǒng)大致可分為如下幾個任務:RTC任務,、按鍵檢測任務,、LCD顯示任務、無線通信任務和紅外通信任務,。如圖9所示,,系統(tǒng)的總體程序設計以μC/OSⅡ?qū)崟r操作系統(tǒng)為基礎,首先初始化STM32F103RBT6外設功能,,然后創(chuàng)建各個功能模塊的應用程序任務并合理分配優(yōu)先級,,并按照優(yōu)先級對每一個任務進行處理[6]。

 

 

5 手抄系統(tǒng)測試
     系統(tǒng)測試中采用一塊電能表通過RS485接口與采集器相連接,,并由手持終端發(fā)送抄表命令,。因本系統(tǒng)設計所測試的電能表是掛在計量箱內(nèi)部,,所以本測試是通過JF24C無線模塊進行抄表,測試采用的電能表地址為000000563825,。在正常天氣下,,不同距離對電能表進行多次的抄收,并記錄下成功抄收次數(shù)和失敗次數(shù),,其測試結(jié)果如表2所示,。

    本系統(tǒng)通過無線通信和紅外通信的相互配合完成了對電能表電能數(shù)據(jù)的抄收,并將電能數(shù)據(jù)抄收與數(shù)據(jù)管理相結(jié)合,,不僅保證了用電采集系統(tǒng)的可靠性,,而且更加方便電力管理部門對用電信息的統(tǒng)計。通過實際的測試和長時間運行,,本系統(tǒng)具有良好的穩(wěn)定性和通用性,,能夠快速準確地完成電能表電能數(shù)據(jù)的抄收。
參考文獻
[1] 徐金亮, 程必宏. 用電信息采集系統(tǒng)技術與應用[M].北京:中國電力出版社,,2102.
[2] 周長紅,,劉敬彪.智能抄表系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代電子技術,2004(172):35-37.
[3] 王永虹,,徐煒,,郝立平.STM32系列ARM Cortex-M3微控制器原理與實踐[M]. 北京:北京航空航天大學出版社,2008.
[4] DL/T 645- 2007,,多功能表通信規(guī)約標準[S].2007.
[5] 王振朝,,郭偉東,王伊瑾.基于電力載波通信技術的抄表通信模塊設計[J].電測與儀表,,2009(19):72-76.
[6] 任哲,,潘樹林,房紅征. 嵌入式操作系統(tǒng)基礎μC/OSII和Linux[M]. 北京: 北京航天航空大學出版社,,2006.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉(zhuǎn)載。